[gtkmm-documentation: 30/31] update the translation of the modified text.
- From: Kjell Ahlstedt <kjellahl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtkmm-documentation: 30/31] update the translation of the modified text.
- Date: Tue, 12 Jan 2021 15:40:36 +0000 (UTC)
commit 826fb02f382567367bcb4d9fe2c93d4c5ab63ebc
Author: CCTV-1 <script tar gz gmail com>
Date: Tue Jan 12 22:13:27 2021 +0800
update the translation of the modified text.
docs/tutorial/zh_CN/zh_CN.po | 5341 +++++++++++++++++++++---------------------
1 file changed, 2662 insertions(+), 2679 deletions(-)
---
diff --git a/docs/tutorial/zh_CN/zh_CN.po b/docs/tutorial/zh_CN/zh_CN.po
index 838b10c..6b7d1f1 100644
--- a/docs/tutorial/zh_CN/zh_CN.po
+++ b/docs/tutorial/zh_CN/zh_CN.po
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: gtkmm-documentation master\n"
-"POT-Creation-Date: 2020-12-30 13:36+8000\n"
+"POT-Creation-Date: 2021-01-12 21:45+8000\n"
"PO-Revision-Date: 2020-12-23 11:40+8000\n"
"Last-Translator: XiangQun Luo <Script tar gz gmail com>\n"
"Language-Team: Chinese (China) <i18n-zh googlegroups com>\n"
@@ -19,15 +19,15 @@ msgctxt "_"
msgid "translator-credits"
msgstr "译者积分"
-#: C/index-in.docbook:36
+#: C/index-in.docbook:45
msgid "Programming with <application>gtkmm</application> 4"
msgstr "<application>gtkmm</application>4 程åºè®¾è®¡"
-#: C/index-in.docbook:39
+#: C/index-in.docbook:48
msgid "<firstname>Murray</firstname> <surname>Cumming</surname>"
msgstr "<firstname>Murray</firstname> <surname>Cumming</surname>"
-#: C/index-in.docbook:43
+#: C/index-in.docbook:52
msgid ""
"<firstname>Bernhard</firstname> <surname>Rieder</surname> <contrib>Chapter "
"on \"Timeouts\".</contrib>"
@@ -35,7 +35,7 @@ msgstr ""
"<firstname>Bernhard</firstname> <surname>Rieder</surname><contrib>编写"
"\"Timeouts\"部分。</contrib>"
-#: C/index-in.docbook:48
+#: C/index-in.docbook:57
msgid ""
"<firstname>Jonathon</firstname> <surname>Jongsma</surname> <contrib>Chapter "
"on \"Drawing with Cairo\".</contrib> <contrib>Chapter on \"Working with "
@@ -46,7 +46,7 @@ msgstr ""
"ç½—ç»˜å›¾ç« èŠ‚ã€‚</contrib><contrib>编写使用gtkmmæºä»£ç ç« èŠ‚ã€‚</contrib><contrib>ç¼–"
"写\"最近的文件\"。</contrib>"
-#: C/index-in.docbook:55
+#: C/index-in.docbook:64
msgid ""
"<firstname>Ole</firstname> <surname>Laursen</surname> <contrib>Parts of "
"chapter on \"Internationalization\".</contrib>"
@@ -54,7 +54,7 @@ msgstr ""
"<firstname>Ole</firstname> <surname>Laursen</surname> <contrib>编写\"国际化"
"\"ç« èŠ‚çš„ä¸€éƒ¨åˆ†ã€‚</contrib>"
-#: C/index-in.docbook:60
+#: C/index-in.docbook:69
msgid ""
"<firstname>Marko</firstname> <surname>Anastasov</surname> <contrib>Chapter "
"on \"Printing\".</contrib> <contrib>Parts of chapter on "
@@ -63,7 +63,7 @@ msgstr ""
"<firstname>Marko</firstname> <surname>Anastasov</surname> <contrib>编写\"打å°"
"\"ç« èŠ‚ã€‚</contrib> <contrib>编写\"国际化\"ç« èŠ‚çš„ä¸€éƒ¨åˆ†ã€‚</contrib>"
-#: C/index-in.docbook:66
+#: C/index-in.docbook:75
msgid ""
"<firstname>Daniel</firstname> <surname>Elstner</surname> <contrib>Section "
"\"Build Structure\" of chapter on \"Wrapping C Libraries with gmmproc\".</"
@@ -72,7 +72,7 @@ msgstr ""
"<firstname>Daniel</firstname> <surname>Elstner</surname>编写《使用 gmmproc å°"
"装 C åº“ã€‹ã€ˆæž„å»ºç»“æž„ã€‰ç« èŠ‚ã€‚"
-#: C/index-in.docbook:72
+#: C/index-in.docbook:81
msgid ""
"<firstname>Chris</firstname> <surname>Vine</surname> <contrib>Chapter on "
"\"Multi-threaded programs\".</contrib>"
@@ -80,7 +80,7 @@ msgstr ""
"<firstname>Chris</firstname> <surname>Vine</surname><contrib>编写\"多线程编程"
"\"ç« èŠ‚ã€‚</contrib>"
-#: C/index-in.docbook:77
+#: C/index-in.docbook:86
msgid ""
"<firstname>David</firstname> <surname>King</surname> <contrib>Section on "
"Gtk::Grid.</contrib>"
@@ -88,7 +88,7 @@ msgstr ""
"<firstname>David</firstname> <surname>King</surname><contrib>编写Gtk::Grid部"
"分。</contrib>"
-#: C/index-in.docbook:82
+#: C/index-in.docbook:91
msgid ""
"<firstname>Pedro</firstname> <surname>Ferreira</surname> <contrib>Chapter on "
"Keyboard Events.</contrib>"
@@ -96,7 +96,7 @@ msgstr ""
"<firstname>Pedro</firstname> <surname>Ferreira</surname><contrib>编写键盘事件"
"ç« èŠ‚ã€‚</contrib>"
-#: C/index-in.docbook:87
+#: C/index-in.docbook:96
msgid ""
"<firstname>Kjell</firstname> <surname>Ahlstedt</surname> <contrib>Update "
"from gtkmm 3 to gtkmm 4.</contrib> <contrib>Chapter on \"Building "
@@ -105,7 +105,7 @@ msgstr ""
"<firstname>Kjell</firstname> <surname>Ahlstedt</surname> <contrib>编写从gtkmm"
"è¿ç§»åˆ°gtkmm4指å—。</contrib> <contrib>编写\"构建应用\"ç« èŠ‚ã€‚</contrib>"
-#: C/index-in.docbook:98
+#: C/index-in.docbook:107
msgid ""
"This book explains key concepts of the <application>gtkmm</application> C++ "
"API for creating user interfaces. It also introduces the main user interface "
@@ -114,7 +114,7 @@ msgstr ""
"本书说明了使用<application>gtkmm</application> C++ API 创建用户界é¢çš„é‡è¦æ¦‚"
"念,并且介ç»äº†ä¸»è¦çš„用户界é¢å…ƒç´ (“widgetâ€)。"
-#: C/index-in.docbook:103
+#: C/index-in.docbook:112
msgid ""
"<year>2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010</year> "
"<holder>Murray Cumming</holder>"
@@ -122,7 +122,7 @@ msgstr ""
"<year>2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010</year> "
"<holder>Murray Cumming</holder>"
-#: C/index-in.docbook:109
+#: C/index-in.docbook:118
msgid ""
"Permission is granted to copy, distribute and/or modify this document under "
"the terms of the GNU Free Documentation License, Version 1.2 or any later "
@@ -138,15 +138,15 @@ msgstr ""
"Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. æ¥èŽ·å¾—一份 "
"GNU 自由文档å议。"
-#: C/index-in.docbook:121
+#: C/index-in.docbook:130
msgid "Introduction"
msgstr "åºè¨€"
-#: C/index-in.docbook:124
+#: C/index-in.docbook:133
msgid "This book"
msgstr "本书"
-#: C/index-in.docbook:126
+#: C/index-in.docbook:135
msgid ""
"This book explains key concepts of the <application>gtkmm</application> C++ "
"API for creating user interfaces. It also introduces the main user interface "
@@ -159,13 +159,13 @@ msgstr ""
"是并ä¸ä¼šæ·±å…¥å…¶ç»†èŠ‚ã€‚å› æ¤ï¼Œå¦‚果需è¦å®Œæ•´çš„ API ä¿¡æ¯ï¼Œæ‚¨åº”当顺ç€é“¾æŽ¥è®¿é—®å‚考文"
"档。"
-#: C/index-in.docbook:128
+#: C/index-in.docbook:137
msgid ""
"This book assumes a good understanding of C++, and how to create C++ "
"programs."
msgstr "本书å‡å®šè¯»è€…拥有对 C++ 良好的ç†è§£ï¼Œå¹¶ä¸”知é“如何去创建一个 C++ 程åºã€‚"
-#: C/index-in.docbook:130
+#: C/index-in.docbook:139
msgid ""
"We would very much like to hear of any problems you have learning "
"<application>gtkmm</application> with this document, and would appreciate "
@@ -176,7 +176,7 @@ msgstr ""
"任何问题,并且感激对æ¤ä½œå‡ºçš„改进。请访问 <link linkend=\"chapter-contributing"
"\">贡献</link> 节以获得进一æ¥çš„ä¿¡æ¯ã€‚"
-#: C/index-in.docbook:136
+#: C/index-in.docbook:145
msgid ""
"This book describes <application>gtkmm</application> 4, but some sections "
"have not been fully updated. There are paragraphs that describe "
@@ -189,11 +189,11 @@ msgstr ""
"application>4的段è½ã€‚ä¸è¿‡æ˜¾å¼çš„所有示例都与<application>gtkmm</application>4"
"兼容。"
-#: C/index-in.docbook:145
+#: C/index-in.docbook:154
msgid "gtkmm"
msgstr "gtkmm"
-#: C/index-in.docbook:146
+#: C/index-in.docbook:155
msgid ""
"<application>gtkmm</application> is a C++ wrapper for <ulink url=\"http://";
"www.gtk.org/\">GTK</ulink>, a library used to create graphical user "
@@ -206,7 +206,7 @@ msgstr ""
"LGPL åè®®ï¼Œå› æ¤æ‚¨å¯ä»¥ä½¿ç”¨ <application>gtkmm</application> å¼€å‘开放软件ã€è‡ªç”±"
"软件,甚至商业éžå…费软件而ä¸éœ€æ”¯ä»˜ä»»ä½•ç‰ˆæƒè´¹ç”¨ã€‚"
-#: C/index-in.docbook:154
+#: C/index-in.docbook:163
msgid ""
"<application>gtkmm</application> was originally named gtk-- because GTK was "
"originally named GTK+ and had a + in the name. However, as -- is not easily "
@@ -217,11 +217,11 @@ msgstr ""
"æœ‰äº†ä¸€ä¸ªåŠ å·ã€‚但是,由于 -- ä¸å®¹æ˜“被æœç´¢å¼•æ“Žç´¢å¼•ï¼Œæ‰€ä»¥é¡¹ç›®åå—å°±æ¸æ¸çš„å˜æˆäº†"
"<application>gtkmm</application>,åŽæ¥æˆ‘们就一直使用这个åå—。"
-#: C/index-in.docbook:159
+#: C/index-in.docbook:168
msgid "Why use <application>gtkmm</application> instead of GTK?"
msgstr "为什么è¦ä½¿ç”¨ <application>gtkmm</application> 而ä¸æ˜¯ GTK?"
-#: C/index-in.docbook:160
+#: C/index-in.docbook:169
msgid ""
"<application>gtkmm</application> allows you to write code using normal C++ "
"techniques such as encapsulation, derivation, and polymorphism. As a C++ "
@@ -232,7 +232,7 @@ msgstr ""
"装ã€ç»§æ‰¿å’Œå¤šæ€ã€‚作为一个 C++ 程åºå‘˜ï¼Œä½ å¯èƒ½å·²ç»æ„识到这会让代ç æ›´åŠ æ¸…æ™°ã€æ›´åŠ "
"良好的管ç†ä»£ç 。"
-#: C/index-in.docbook:161
+#: C/index-in.docbook:170
msgid ""
"<application>gtkmm</application> is more type-safe, so the compiler can "
"detect errors that would only be detected at run time when using C. This use "
@@ -243,7 +243,7 @@ msgstr ""
"能在è¿è¡Œæ—¶æ‰èƒ½æ£€æµ‹å‡ºæ¥çš„错误。这ç§ä½¿ç”¨ç‰¹å®šç±»åž‹çš„方法åŒæ ·ä½¿å¾— API æ›´åŠ æ¸…æ™°ï¼Œå› "
"ä¸ºä½ åªéœ€è¦é€šè¿‡çœ‹ä¸€ä¸‹å‡½æ•°å£°æ˜Žå°±å¯ä»¥çŸ¥é“应该使用什么类型了。"
-#: C/index-in.docbook:162
+#: C/index-in.docbook:171
msgid ""
"Inheritance can be used to derive new widgets. The derivation of new widgets "
"in GTK C code is so complicated and error prone that almost no C coders do "
@@ -254,7 +254,7 @@ msgstr ""
"ä¸”å¾ˆå®¹æ˜“å‡ºé”™ï¼Œå› æ¤å‡ 乎没有 C 的程åºå‘˜è¿™ä¹ˆåšã€‚作为 C++ å¼€å‘äººå‘˜ï¼Œä½ çŸ¥é“继承是"
"一个基本的é¢å‘对象技术。"
-#: C/index-in.docbook:163
+#: C/index-in.docbook:172
msgid ""
"Member instances can be used, simplifying memory management. All GTK C "
"widgets are dealt with by use of pointers. As a C++ coder you know that "
@@ -263,7 +263,7 @@ msgstr ""
"å¯ä»¥ä½¿ç”¨æˆå‘˜å®žä¾‹ï¼Œç®€åŒ–了内å˜ç®¡ç†ã€‚所有的 GTK çš„ C 部件都是使用指针进行æ“作"
"的。作为 C++ 程åºå‘˜ï¼Œä½ 知é“指针应当尽é‡é¿å…使用。"
-#: C/index-in.docbook:164
+#: C/index-in.docbook:173
msgid ""
"<application>gtkmm</application> involves less code compared to GTK, which "
"uses prefixed function names and lots of cast macros."
@@ -271,11 +271,11 @@ msgstr ""
"<application>gtkmm</application> 比 GTK 的代ç æ›´åŠ ç®€çŸï¼ŒGTK 使用了大é‡å¸¦å‰ç¼€"
"的函数å以åŠå¤§é‡çš„转型å®ã€‚"
-#: C/index-in.docbook:168
+#: C/index-in.docbook:177
msgid "<application>gtkmm</application> compared to Qt"
msgstr "<application>gtkmm</application> 对比 Qt"
-#: C/index-in.docbook:169
+#: C/index-in.docbook:178
msgid ""
"Trolltech's Qt is the closest competition to <application>gtkmm</"
"application>, so it deserves discussion."
@@ -283,7 +283,7 @@ msgstr ""
"Trolltech å…¬å¸çš„ Qt 是和 <application>gtkmm</application> 最相似的有竞争力的"
"产å“,所以应该对其进行一下讨论。"
-#: C/index-in.docbook:171
+#: C/index-in.docbook:180
msgid ""
"<application>gtkmm</application> developers tend to prefer "
"<application>gtkmm</application> to Qt because <application>gtkmm</"
@@ -306,11 +306,11 @@ msgstr ""
"è€Œæ— éœ€ä¿®æ”¹ C++ è¯è¨€ã€‚请看<ulink url=\"https://wiki.gnome.org/Projects/gtkmm/";
"FAQ\">常è§é—®é¢˜</ulink>以了解具体差异。"
-#: C/index-in.docbook:176
+#: C/index-in.docbook:185
msgid "<application>gtkmm</application> is a wrapper"
msgstr "<application>gtkmm</application> 是一个å°è£…"
-#: C/index-in.docbook:177
+#: C/index-in.docbook:186
msgid ""
"<application>gtkmm</application> is not a native C++ toolkit, but a C++ "
"wrapper of a C toolkit. This separation of interface and implementation has "
@@ -330,15 +330,15 @@ msgstr ""
"è¡Œäº†ä¸€ç‚¹ç‚¹è´¡çŒ®ã€‚å› æ¤ï¼ŒGTK å¯ä»¥ä»Žæ¯”æŸä¸ªè¯è¨€ç‰¹å®šçš„工具集更广泛的用户群ä¸èŽ·å¾—好"
"处,有更多的实现ã€æ›´å¤šçš„å¼€å‘人员ã€æ›´å¤šçš„测试人员以åŠæ›´å¤šçš„用户。"
-#: C/index-in.docbook:185
+#: C/index-in.docbook:194
msgid "Installation"
msgstr "安装"
-#: C/index-in.docbook:187
+#: C/index-in.docbook:196
msgid "Dependencies"
msgstr "ä¾èµ–关系"
-#: C/index-in.docbook:188
+#: C/index-in.docbook:197
msgid ""
"Before attempting to install <application>gtkmm</"
"application><application>-4.0</application>, you might first need to install "
@@ -347,65 +347,65 @@ msgstr ""
"在试图安装 <application>gtkmm</application><application>-4.0</application>之"
"å‰ï¼Œä½ 必须已ç»å®‰è£…了这些包。"
-#: C/index-in.docbook:193
+#: C/index-in.docbook:202
msgid "<application>sigc++-3.0</application>"
msgstr "<application>sigc++-3.0</application>"
-#: C/index-in.docbook:194
+#: C/index-in.docbook:203
msgid "<application>gtk4</application>"
msgstr "<application>gtkmm4</application>"
-#: C/index-in.docbook:195
+#: C/index-in.docbook:204
msgid "<application>glibmm-2.68</application>"
msgstr "<application>glibmm-2.68</application>"
-#: C/index-in.docbook:196
+#: C/index-in.docbook:205
msgid "<application>cairomm-1.16</application>"
msgstr "<application>cairomm-1.16</application>"
-#: C/index-in.docbook:197
+#: C/index-in.docbook:206
msgid "<application>pangomm-2.48</application>"
msgstr "<application>pangomm-2.48</application>"
-#: C/index-in.docbook:199
+#: C/index-in.docbook:208
msgid ""
"These dependencies have their own dependencies, including the following "
"applications and libraries:"
msgstr "这些ä¾èµ–有它们自己所ä¾èµ–的软件包,包括下列应用程åºå’Œè½¯ä»¶åº“:"
-#: C/index-in.docbook:204
+#: C/index-in.docbook:213
msgid "<application>pkg-config</application>"
msgstr "<application>pkg-config</application>"
-#: C/index-in.docbook:205
+#: C/index-in.docbook:214
msgid "<application>glib-2.0</application>"
msgstr "<application>glib-2.0</application>"
-#: C/index-in.docbook:206
+#: C/index-in.docbook:215
msgid "<application>pango</application>"
msgstr "<application>pango</application>"
-#: C/index-in.docbook:207
+#: C/index-in.docbook:216
msgid "<application>cairo</application>"
msgstr "<application>cairo</application>"
-#: C/index-in.docbook:208
+#: C/index-in.docbook:217
msgid "<application>gdk-pixbuf-2.0</application>"
msgstr "<application>gdk-pixbuf-2.0</application>"
-#: C/index-in.docbook:209
+#: C/index-in.docbook:218
msgid "<application>graphene-1.0</application>"
msgstr "<application>graphene-1.0</application>"
-#: C/index-in.docbook:214
+#: C/index-in.docbook:223
msgid "Unix and Linux"
msgstr "Unix 和 Linux"
-#: C/index-in.docbook:217
+#: C/index-in.docbook:226
msgid "Prebuilt Packages"
msgstr "预编译的包"
-#: C/index-in.docbook:219
+#: C/index-in.docbook:228
msgid ""
"Recent versions of <application>gtkmm</application> are packaged by nearly "
"every major Linux distribution these days. So, if you use Linux, you can "
@@ -420,7 +420,7 @@ msgstr ""
"们的软件库里é¢åŒ…å«äº† <application>gtkmm</application> çš„å‘布版本有:Debianã€"
"Ubuntuã€Red Hatã€Fedoraã€Mandrivaã€SuSE ç‰ç‰ã€‚"
-#: C/index-in.docbook:227
+#: C/index-in.docbook:236
msgid ""
"The names of the <application>gtkmm</application> packages vary from "
"distribution to distribution (e.g. <application>libgtkmm-4.0-dev</"
@@ -435,7 +435,7 @@ msgstr ""
"application>)ï¼Œå› æ¤ï¼Œåœ¨ä½ çš„å‘行版的软件包管ç†ç¨‹åºä¸æŸ¥ä¸€ä¸‹æ£ç¡®çš„åå—,然åŽåƒå…¶"
"å®ƒè½¯ä»¶åŒ…ä¸€æ ·çš„å®‰è£…å®ƒã€‚"
-#: C/index-in.docbook:235
+#: C/index-in.docbook:244
msgid ""
"The package names will not change when new API/ABI-compatible versions of "
"<application>gtkmm</application> are released. Otherwise they would not be "
@@ -448,11 +448,11 @@ msgstr ""
"<application>libgtkmm-4.0-dev</application> 包ä¸å‘现æ供的实际上是 "
"<application>gtkmm</application> 4.8 çš„è¯ä¸è¦å¤ªæƒŠè®¶ã€‚"
-#: C/index-in.docbook:245
+#: C/index-in.docbook:254
msgid "Installing From Source"
msgstr "从æºä»£ç 安装"
-#: C/index-in.docbook:247
+#: C/index-in.docbook:256
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 "
@@ -466,7 +466,7 @@ msgstr ""
"<application>gtkmm</application>。å¯ä»¥ä»Ž <ulink url=\"https://download.gnome.";
"org/sources/gtkmm/\"/> ä¸ä¸‹è½½ <application>gtkmm</application> çš„æºä»£ç 。"
-#: C/index-in.docbook:253
+#: C/index-in.docbook:262
msgid ""
"After you've installed all of the dependencies, download the "
"<application>gtkmm</application> source code, unpack it, and change to the "
@@ -479,7 +479,7 @@ msgstr ""
"建。 å‚è§ä½ 所下载的<application>gtkmm</application>æºä»£ç ä¸çš„"
"<filename>README</filename>。"
-#: C/index-in.docbook:260
+#: C/index-in.docbook:269
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> or "
@@ -490,7 +490,7 @@ msgstr ""
"安装软件。<command>su</command>或者<command>sudo</command> 命令å…è®¸ä½ è¾“å…¥ "
"<literal>root</literal> 密ç ,并且临时拥有 <literal>root</literal> æƒé™ã€‚"
-#: C/index-in.docbook:267
+#: C/index-in.docbook:276
msgid ""
"The <filename>configure</filename> script or <command>meson</command> will "
"check to make sure all of the required dependencies are already installed. "
@@ -500,7 +500,7 @@ msgstr ""
"所有必须的ä¾èµ–软件包都已ç»æ£ç¡®çš„å®‰è£…äº†ã€‚å¦‚æžœä½ é—æ¼äº†æŸä¸ªä¾èµ–软件包的è¯ï¼Œå®ƒä¼š"
"退出并æ示错误信æ¯ã€‚"
-#: C/index-in.docbook:278
+#: C/index-in.docbook:287
#, no-wrap
msgid ""
"\n"
@@ -509,7 +509,7 @@ msgstr ""
"\n"
"# ./configure --prefix=/usr\n"
-#: C/index-in.docbook:272
+#: C/index-in.docbook:281
msgid ""
"By default, <application>gtkmm</application> if built with Autotools, will "
"be installed under the <filename>/usr/local</filename> directory. On some "
@@ -522,7 +522,7 @@ msgstr ""
"åŒçš„ä½ç½®ã€‚比如,在 Red Hat Linux 系统ä¸ï¼Œä½ 也许需è¦ä½¿ç”¨ <literal>--prefix</"
"literal> 选项进行é…置,例如:<_:screen-1/>"
-#: C/index-in.docbook:283
+#: C/index-in.docbook:292
msgid ""
"You should be very careful when installing to standard system prefixes such "
"as <filename>/usr</filename>. Linux distributions install software packages "
@@ -536,7 +536,7 @@ msgstr ""
"ä¼šç ´å或与使用软件包管ç†å™¨å®‰è£…的软件冲çªã€‚ç†æƒ³æƒ…å†µä¸‹ï¼Œä½ åº”å½“å°†ä»Žæºä»£ç 安装的"
"软件都安装到一个独立ä½ç½®ã€‚"
-#: C/index-in.docbook:292
+#: C/index-in.docbook:301
msgid ""
"If you want to help develop <application>gtkmm</application> or experiment "
"with new features, you can also install <application>gtkmm</application> "
@@ -550,11 +550,11 @@ msgstr ""
"åšï¼Œä½†æ˜¯å¦‚æžœä½ å¯¹å¸®åŠ© <application>gtkmm</application> å¼€å‘感兴趣,请看附录:"
"<link linkend=\"chapter-working-with-source\">使用 gtkmm æºä»£ç </link>。"
-#: C/index-in.docbook:303
+#: C/index-in.docbook:312
msgid "Microsoft Windows"
msgstr "Microsoft Windows"
-#: C/index-in.docbook:304
+#: C/index-in.docbook:313
msgid ""
"GTK and <application>gtkmm</application> were designed to work well with "
"Microsoft Windows, and the developers encourage its use on the win32 "
@@ -572,11 +572,11 @@ msgstr ""
"installation\"><application>gtkmm</application>和Win32</link>以得到关于"
"Windows相关的安装方法和注æ„事项。"
-#: C/index-in.docbook:315
+#: C/index-in.docbook:324
msgid "Basics"
msgstr "基础"
-#: C/index-in.docbook:317
+#: C/index-in.docbook:326
msgid ""
"This chapter will introduce some of the most important aspects of "
"<application>gtkmm</application> coding. These will be demonstrated with "
@@ -587,7 +587,7 @@ msgstr ""
"一些å¯ä»¥è¿è¡Œçš„示例代ç æ¥æ¼”示。然而,这仅仅是一ç§å°è¯•ï¼Œä½ 还需è¦ç»§ç»çœ‹å…¶å®ƒç« "
"节,以得到更实质性的信æ¯ã€‚"
-#: C/index-in.docbook:320
+#: C/index-in.docbook:329
msgid ""
"Your existing knowledge of C++ will help you with <application>gtkmm</"
"application> as it would with any library. Unless we state otherwise, you "
@@ -600,11 +600,11 @@ msgstr ""
"application> 类会åƒä»»ä½•å…¶å®ƒ C++ ç±»ä¸€æ ·ï¼Œå¹¶ä¸”ä½ å¯ä»¥æœŸå¾…在 <application>gtkmm</"
"application> ç±»ä¸Šä½¿ç”¨ä½ çŽ°æœ‰çš„çŸ¥è¯†ã€‚"
-#: C/index-in.docbook:325 C/index-in.docbook:3316
+#: C/index-in.docbook:334 C/index-in.docbook:3324
msgid "Simple Example"
msgstr "简å•çš„例å"
-#: C/index-in.docbook:327
+#: C/index-in.docbook:336
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 "
@@ -613,7 +613,7 @@ msgstr ""
"åœ¨å¼€å§‹ä»‹ç» <application>gtkmm</application> 之å‰ï¼Œæˆ‘们将以一个尽å¯èƒ½ç®€å•çš„程"
"åºå¼€å§‹ã€‚这个程åºåˆ›å»ºä¸€ä¸ª 200 x 200 åƒç´ 大å°çš„空窗å£ã€‚"
-#: C/index-in.docbook:332
+#: C/index-in.docbook:341
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/base\">Source Code</ulink>"
@@ -621,16 +621,16 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/base\">æºä»£ç </ulink>"
-#: C/index-in.docbook:334
+#: C/index-in.docbook:343
msgid "We will now explain each line of the example"
msgstr "我们会é€è¡Œè®²è§£è¿™ä¸ªä¾‹å"
-#: C/index-in.docbook:335
+#: C/index-in.docbook:344
#, no-wrap
msgid "#include <gtkmm.h>"
msgstr "#include <gtkmm.h>"
-#: C/index-in.docbook:336
+#: C/index-in.docbook:345
msgid ""
"All <application>gtkmm</application> programs must include certain "
"<application>gtkmm</application> headers; <literal>gtkmm.h</literal> "
@@ -643,12 +643,12 @@ msgstr ""
"有 <application>gtkmm</application> 的内容。通常æ¥è¯´ï¼Œè¿™å¹¶ä¸æ˜¯ä¸€ä¸ªå¥½ä¸»æ„ï¼Œå› "
"为它包括了一兆左å³çš„头文件。当然,对于这个简å•çš„程åºï¼Œè¿™å°±å¤Ÿäº†ã€‚"
-#: C/index-in.docbook:346
+#: C/index-in.docbook:355
#, no-wrap
msgid "auto app = Gtk::Application::create(\"org.gtkmm.examples.base\");"
msgstr "auto app = Gtk::Application::create(\"org.gtkmm.examples.base\");"
-#: C/index-in.docbook:343
+#: C/index-in.docbook:352
msgid ""
"The next statement: <_:programlisting-1/> creates a <classname>Gtk::"
"Application</classname> object, stored in a <classname>Glib::RefPtr</"
@@ -662,13 +662,13 @@ msgstr ""
"<methodname>create()</methodname>方法将åˆå§‹åŒ–<application>gtkmm</"
"application>。"
-#: C/index-in.docbook:352
+#: C/index-in.docbook:361
msgid ""
"The next two lines of code create a window and set its default (initial) "
"size:"
msgstr "接下æ¥çš„两行代ç 创建一个窗å£å¹¶è®¾ç½®å…¶çš„åˆå§‹å¤§å°ï¼š"
-#: C/index-in.docbook:355
+#: C/index-in.docbook:364
#, no-wrap
msgid ""
"Gtk::Window window;\n"
@@ -677,7 +677,7 @@ msgstr ""
"Gtk::Window window;\n"
"window.set_default_size(200, 200);"
-#: C/index-in.docbook:357
+#: C/index-in.docbook:366
msgid ""
"The last line shows the window and enters the <application>gtkmm</"
"application> main processing loop, which will finish when the window is "
@@ -690,17 +690,17 @@ msgstr ""
"最åŽä¸€è¡Œæ˜¾ç¤ºçª—å£å¹¶è¿›å…¥<application>gtkmm</application>主循环,当窗å£è¢«å…³é—。"
"ä½ çš„<function>main()</function>函数将会返回æˆåŠŸæˆ–者适当的错误ç 。"
-#: C/index-in.docbook:364
+#: C/index-in.docbook:373
#, no-wrap
msgid "return app->run(window, argc, argv);"
msgstr "return app->run(window, argc, argv);"
-#: C/index-in.docbook:369
+#: C/index-in.docbook:378
#, no-wrap
msgid "g++ simple.cc -o simple `pkg-config gtkmm-4.0 --cflags --libs`"
msgstr "g++ simple.cc -o simple `pkg-config gtkmm-4.0 --cflags --libs`"
-#: C/index-in.docbook:366
+#: C/index-in.docbook:375
msgid ""
"After putting the source code in <literal>simple.cc</literal> you can "
"compile the above program with <application>gcc</application> using: <_:"
@@ -716,11 +716,11 @@ msgstr ""
"åšä¸ºè¯¥å‘½ä»¤è¡Œçš„一部分æ¥ä½¿ç”¨ã€‚å¦å¤–请注æ„,在命令行ä¸<literal>simple.cc</"
"literal>å¿…é¡»ä½äºŽ<literal>pkg-config</literal>调用之å‰ã€‚"
-#: C/index-in.docbook:379
+#: C/index-in.docbook:388
msgid "Headers and Linking"
msgstr "头文件和链接"
-#: C/index-in.docbook:380
+#: C/index-in.docbook:389
msgid ""
"Although we have shown the compilation command for the simple example, you "
"really should use the automake and autoconf tools, as described in "
@@ -736,7 +736,7 @@ msgstr ""
"application> 包内,åŒæ—¶é™„有适当的编译构建的文件,所以我们以åŽä¸ä¼šå†ç»™å‡ºä»»ä½•ç¼–"
"è¯‘å‘½ä»¤ã€‚ä½ åªéœ€è¦æ‰¾åˆ°æ°å½“的目录然åŽé”®å…¥ <literal>make</literal>。"
-#: C/index-in.docbook:383
+#: C/index-in.docbook:392
msgid ""
"To simplify compilation, we use <literal>pkg-config</literal>, which is "
"present in all (properly installed) <application>gtkmm</application> "
@@ -756,12 +756,12 @@ msgstr ""
"一个需è¦ç¼–译器去链接的库列表和一个用于寻找它们的目录列表。试ç€åœ¨ä½ 的命令行æ"
"示符下è¿è¡Œå®ƒï¼Œçœ‹çœ‹åœ¨ä½ çš„ç³»ç»Ÿä¸Šä¼šæœ‰ä»€ä¹ˆæ ·çš„ç»“æžœã€‚"
-#: C/index-in.docbook:396
+#: C/index-in.docbook:405
#, no-wrap
msgid "PKG_CHECK_MODULES([MYAPP], [gtkmm-4.0 >= 4.8.0])"
msgstr "PKG_CHECK_MODULES([MYAPP], [gtkmm-4.0 >= 4.8.0])"
-#: C/index-in.docbook:393
+#: C/index-in.docbook:402
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. "
@@ -773,7 +773,7 @@ msgstr ""
"programlisting-1/> 这将会检查是å¦å˜åœ¨ gtkmm,并且定义了å¯ä»¥åœ¨ä½ çš„ Makefile."
"am 文件ä¸ä½¿ç”¨çš„ MYAPP_LIBS å’Œ MYAPP_CFLAGS å˜é‡ã€‚"
-#: C/index-in.docbook:399
+#: C/index-in.docbook:408
msgid ""
"gtkmm-4.0 is the name of the current stable API. There are older APIs called "
"gtkmm-2.4 and gtkmm-3.0 which install in parallel when they are available. "
@@ -790,14 +790,14 @@ msgstr ""
"æŒå…¼å®¹ã€‚ç†è®ºä¸Šï¼Œå°†æ¥å¯ä»¥æœ‰ gtkmm-5.0 API 与现在的 gtkmm-4.0 åŒæ—¶å®‰è£…到系统,"
"而现有应用程åºä¸ä¼šå—到影å“。"
-#: C/index-in.docbook:406
+#: C/index-in.docbook:415
msgid ""
"Note that if you mention extra modules in addition to gtkmm-4.0, they should "
"be separated by spaces, not commas."
msgstr ""
"注æ„ï¼Œå¦‚æžœä½ æ到了除 gtkmm-4.0 之外的模å—,它们需è¦ä»¥ç©ºæ ¼åˆ†å¼€ï¼Œè€Œä¸æ˜¯é€—å·ã€‚"
-#: C/index-in.docbook:409
+#: C/index-in.docbook:418
msgid ""
"The GNU site has more information about <ulink url=\"https://www.gnu.org/";
"software/autoconf/\">autoconf</ulink> and <ulink url=\"https://www.gnu.org/";
@@ -807,7 +807,7 @@ msgstr ""
"\">autoconf</ulink>和<ulink url=\"https://www.gnu.org/software/automake/";
"\">automake</ulink>的相关信æ¯ã€‚"
-#: C/index-in.docbook:412
+#: C/index-in.docbook:421
msgid ""
"If you start by experimenting with a small application that you plan to use "
"just for yourself, it's easier to start with a Makefile similar to the "
@@ -818,11 +818,11 @@ msgstr ""
"building-applications\">构建应用程åº</link>ç« èŠ‚çš„<filename>Makefile.example</"
"filename>文件从MakeFile开始比较容易。"
-#: C/index-in.docbook:420 C/index-in.docbook:5869
+#: C/index-in.docbook:429 C/index-in.docbook:5858
msgid "Widgets"
msgstr "部件"
-#: C/index-in.docbook:421
+#: C/index-in.docbook:430
msgid ""
"<application>gtkmm</application> applications consist of windows containing "
"widgets, such as buttons and text boxes. In some other systems, widgets are "
@@ -835,7 +835,7 @@ msgstr ""
"çš„æ¯ä¸ªéƒ¨ä»¶ï¼Œåœ¨ä½ 的代ç 里就会有一个对应的 C++ å¯¹è±¡ã€‚æ‰€ä»¥å½“ä½ æƒ³æŽ§åˆ¶éƒ¨ä»¶è¡Œä¸ºçš„æ—¶"
"候,åªéœ€è¦è°ƒç”¨è¿™ä¸ªéƒ¨ä»¶å¯¹è±¡çš„相应方法å³å¯ã€‚"
-#: C/index-in.docbook:423
+#: C/index-in.docbook:432
#, no-wrap
msgid ""
"m_box.append(m_Button1);\n"
@@ -844,12 +844,12 @@ msgstr ""
"m_box.append(m_Button1);\n"
"m_box.append(m_Button2);"
-#: C/index-in.docbook:426
+#: C/index-in.docbook:435
#, no-wrap
msgid "m_frame.set_child(m_box);"
msgstr "m_frame.set_child(m_box);"
-#: C/index-in.docbook:422
+#: C/index-in.docbook:431
msgid ""
"Widgets are arranged inside container widgets such as frames and notebooks, "
"in a hierarchy of widgets within widgets. Some of these container widgets, "
@@ -869,7 +869,7 @@ msgstr ""
"<classname>Gtk::Box</classname> æ·»åŠ åˆ°ä¸€ä¸ª <classname>Gtk::Frame</classname> "
"ä¸ï¼Œå®ƒåŒ…å«ä¸€ä¸ªå¯è§†çš„è¾¹æ¡†å’Œæ ‡é¢˜ï¼š<_:programlisting-2/>"
-#: C/index-in.docbook:428
+#: C/index-in.docbook:437
msgid ""
"Most of the chapters in this book deal with specific widgets. See the <link "
"linkend=\"chapter-container-widgets\">Container Widgets</link> section for "
@@ -878,7 +878,7 @@ msgstr ""
"本书ä¸çš„å¤§éƒ¨åˆ†ç« èŠ‚éƒ½æ˜¯è®²è§£ç‰¹å®šçš„éƒ¨ä»¶ã€‚è¦å¾—åˆ°æ›´å¤šå…³äºŽæ·»åŠ éƒ¨ä»¶åˆ°å®¹å™¨éƒ¨ä»¶çš„ä¿¡"
"æ¯ï¼Œè¯·çœ‹ <link linkend=\"chapter-container-widgets\">容器部件</link> è¿™ä¸€ç« ã€‚"
-#: C/index-in.docbook:432
+#: C/index-in.docbook:441
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 "
@@ -891,7 +891,7 @@ msgstr ""
"载界é¢æ˜¯æ›´æ–¹ä¾¿ã€‚请å‚考 <link linkend=\"chapter-builder\">Glade 与 Gtk::"
"Builder</link> è¿™ä¸€ç« ã€‚"
-#: C/index-in.docbook:435
+#: C/index-in.docbook:444
msgid ""
"Although <application>gtkmm</application> widget instances have lifetimes "
"and scopes just like those of other C++ classes, <application>gtkmm</"
@@ -912,12 +912,12 @@ msgstr ""
"æ—¶å®ƒå°†è¢«ä¸€å¹¶åˆ é™¤ã€‚å¦‚æžœä½ éœ€è¦äº†è§£æ›´å¤šå…³äºŽ <application>gtkmm</application> 内"
"å˜ç®¡ç†æŠ€æœ¯çš„è¯ï¼Œè¯·çœ‹ <link linkend=\"chapter-memory\">内å˜ç®¡ç†</link> ç« èŠ‚ã€‚"
-#: C/index-in.docbook:449 C/index-in.docbook:4689 C/index-in.docbook:4933
-#: C/index-in.docbook:8092
+#: C/index-in.docbook:458 C/index-in.docbook:4696 C/index-in.docbook:4940
+#: C/index-in.docbook:8065
msgid "Signals"
msgstr "ä¿¡å·"
-#: C/index-in.docbook:451
+#: C/index-in.docbook:460
msgid ""
"<application>gtkmm</application>, like most GUI toolkits, is <emphasis>event-"
"driven</emphasis>. When an event occurs, such as the press of a mouse "
@@ -932,7 +932,17 @@ msgstr ""
"为了使这个按钮点击产生一个动作,我们å¯ä»¥è®¾ç½®ä¸€ä¸ª<emphasis>ä¿¡å·å¤„ç†å‡½æ•°"
"(signal handler)</emphasis>æ¥æ•æ‰è¿™ä¸ªâ€œclickedâ€ä¿¡å·ã€‚"
-#: C/index-in.docbook:459
+#: C/index-in.docbook:467
+msgid ""
+"<application>gtkmm</application> uses the libsigc++ library to implement "
+"signals. Here is an example line of code that connects a Gtk::Button's "
+"\"clicked\" signal with a signal handler called \"on_button_clicked\":"
+msgstr ""
+"<application>gtkmm</application> 使用 libsigc++ æ¥å®žçŽ°ä¿¡å·æ“作。下é¢è¿™ä¸ªä¾‹å"
+"æ¼”ç¤ºæ€Žæ ·æŠŠ Gtk::Button 的“clicked†信å·è¿žæŽ¥åˆ°å‘½å为“on_button_clickedâ€çš„ä¿¡å·"
+"处ç†å‡½æ•°ä¸Šï¼š"
+
+#: C/index-in.docbook:469
#, no-wrap
msgid ""
"m_button1.signal_clicked().connect( sigc::mem_fun(*this,\n"
@@ -941,18 +951,7 @@ msgstr ""
"m_button1.signal_clicked().connect( sigc::mem_fun(*this,\n"
" &HelloWorld::on_button_clicked) );"
-#: C/index-in.docbook:458
-msgid ""
-"<application>gtkmm</application> uses the libsigc++ library to implement "
-"signals. Here is an example line of code that connects a Gtk::Button's "
-"\"clicked\" signal with a signal handler called \"on_button_clicked\": <_:"
-"programlisting-1/>"
-msgstr ""
-"<application>gtkmm</application> 使用 libsigc++ æ¥å®žçŽ°ä¿¡å·æ“作。下é¢è¿™ä¸ªä¾‹å"
-"æ¼”ç¤ºæ€Žæ ·æŠŠ Gtk::Button 的“clicked†信å·è¿žæŽ¥åˆ°å‘½å为“on_button_clickedâ€çš„ä¿¡å·"
-"处ç†å‡½æ•°ä¸Šï¼š<_:programlisting-1/>"
-
-#: C/index-in.docbook:463
+#: C/index-in.docbook:472
msgid ""
"For more detailed information about signals, see the <link linkend=\"chapter-"
"signals\">appendix</link>."
@@ -960,7 +959,7 @@ msgstr ""
"è¦å¾—到更多关于信å·çš„ä¿¡æ¯ï¼Œè¯·å‚考<link linkend=\"chapter-signals\">附录</"
"link>。"
-#: C/index-in.docbook:464
+#: C/index-in.docbook:473
msgid ""
"For information about implementing your own signals rather than just "
"connecting to the existing <application>gtkmm</application> signals, see the "
@@ -970,11 +969,11 @@ msgstr ""
"application> ä¿¡å·ï¼Œè¯·å‚考 <link linkend=\"chapter-custom-signals\">附录</"
"link>。"
-#: C/index-in.docbook:470
+#: C/index-in.docbook:479
msgid "Glib::ustring"
msgstr "Glib::ustring"
-#: C/index-in.docbook:471
+#: C/index-in.docbook:480
msgid ""
"You might be surprised to learn that <application>gtkmm</application> "
"doesn't use <classname>std::string</classname> in its interfaces. Instead it "
@@ -991,7 +990,7 @@ msgstr ""
"string</classname>æ¥ä½¿ç”¨ï¼Œå¹¶å¿½ç•¥æœ¬èŠ‚åŽé¢çš„å†…å®¹ã€‚ä½†æ˜¯å¦‚æžœä½ å¸Œæœ›åœ¨ä½ çš„åº”ç”¨ç¨‹åº"
"ä¸ä½¿ç”¨è‹±è¯ä»¥å¤–çš„è¯è¨€çš„è¯ï¼Œé‚£ä¹ˆè¯·ç»§ç»è¯»ä¸‹åŽ»ã€‚"
-#: C/index-in.docbook:472
+#: C/index-in.docbook:481
msgid ""
"std::string uses 8 bits per character, but 8 bits aren't enough to encode "
"languages such as Arabic, Chinese, and Japanese. Although the encodings for "
@@ -1009,7 +1008,7 @@ msgstr ""
"ustring 所包装的东西。它æ供了和 std::string å‡ ä¹Žç›¸åŒçš„接å£ï¼Œä»¥åŠå’Œ std::"
"string 的自动类型转æ¢çš„功能。"
-#: C/index-in.docbook:477
+#: C/index-in.docbook:486
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. "
@@ -1025,7 +1024,7 @@ msgstr ""
"è¿˜ä¼šå´©æºƒã€‚é‚£æ—¶ï¼Œä½ æ‰€éœ€è¦åšçš„就是开始使用 <classname>Glib::ustring</"
"classname> æ¥å–而代之。"
-#: C/index-in.docbook:478
+#: C/index-in.docbook:487
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 "
@@ -1038,7 +1037,7 @@ msgstr ""
"å¦‚æžœä½ çš„ä»£ç ä¸åŒ…å«8ä½çš„å—符串文å—ï¼Œä½ éœ€è¦æŠŠå®ƒä»¬è½¬å˜æˆ UTF-8 ç¼–ç (比如,巴ä¼"
"利亚的问候è¯â€œGrüß Gottâ€å¯èƒ½ä¼šæ˜¾ç¤ºæˆâ€œGr\\xC3\\xBC\\xC3\\x9F Gottâ€)。"
-#: C/index-in.docbook:479
+#: C/index-in.docbook:488
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 "
@@ -1053,7 +1052,7 @@ msgstr ""
"å¯ä»¥ä»Žå—符的层é¢ä¸Šè€ƒè™‘使用 Glib::ustring::substr() è¿™æ ·çš„å‡½æ•°ï¼Œè€Œä¸ç”¨å†åŽ»è€ƒè™‘"
"å—èŠ‚è¿™æ ·çš„ç»†èŠ‚äº†ã€‚"
-#: C/index-in.docbook:481
+#: C/index-in.docbook:490
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 "
@@ -1063,7 +1062,7 @@ msgstr ""
"è¿™æ ·å—符串,也ä¸ä¼šå¯¼è‡´ä¸º Unicode 编译的å¯æ‰§è¡Œæ–‡ä»¶æˆ–库与å«ä¸º ASCII çš„ä¸å…¼å®¹ä¹‹"
"类的问题。"
-#: C/index-in.docbook:483
+#: C/index-in.docbook:492
msgid ""
"<ulink url=\"http://developer.gnome.org/glibmm/unstable/classGlib_1_1ustring.";
"html\">Reference</ulink>"
@@ -1071,7 +1070,7 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/glibmm/unstable/classGlib_1_1ustring.";
"html\">å‚考</ulink>"
-#: C/index-in.docbook:485
+#: C/index-in.docbook:494
msgid ""
"See the <link linkend=\"chapter-internationalization\">Internationalization</"
"link> section for information about providing the UTF-8 string literals."
@@ -1079,11 +1078,11 @@ msgstr ""
"è¦å¾—到更多关于 UTF-8 å—符的信æ¯ï¼Œè¯·å‚考<link linkend=\"chapter-"
"internationalization\">国际化</link>这一节。"
-#: C/index-in.docbook:490
+#: C/index-in.docbook:499
msgid "Mixing C and C++ APIs"
msgstr "æ··åˆä½¿ç”¨ C å’Œ C++ API"
-#: C/index-in.docbook:491
+#: C/index-in.docbook:500
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</"
@@ -1097,7 +1096,18 @@ msgstr ""
"一个简å•çš„æ–¹å¼æ¥ä»Žä¸€ä¸ª C 对象创建一个 C++ å°è£…的对象,当然,这个 C API 是需è¦"
"基于 <classname>GObject</classname> 系统的。"
-#: C/index-in.docbook:502
+#: C/index-in.docbook:506
+msgid ""
+"To use a <application>gtkmm</application> instance with a C function that "
+"requires a C <classname>GObject</classname> instance, use the C++ instance’s "
+"<function>gobj()</function> function to obtain a pointer to the underlying C "
+"instance. For example:"
+msgstr ""
+"è¦ç”¨ C 函数使用一个 <application>gtkmm</application> 实例需è¦ä¸€ä¸ª C "
+"<classname>GObject</classname> 实例,使用C++çš„<function>gobj()</function>接å£"
+"函数å¯ä»¥å¾—到一个底层 GObject 实例的指针。例如:"
+
+#: C/index-in.docbook:511
#, no-wrap
msgid ""
"\n"
@@ -1108,18 +1118,7 @@ msgstr ""
"Gtk::Button button(\"example\");\n"
"gtk_button_do_something_that_gtkmm_cannot(button.gobj());\n"
-#: C/index-in.docbook:497
-msgid ""
-"To use a <application>gtkmm</application> instance with a C function that "
-"requires a C <classname>GObject</classname> instance, use the C++ instance’s "
-"<function>gobj()</function> function to obtain a pointer to the underlying C "
-"instance. For example: <_:programlisting-1/>"
-msgstr ""
-"è¦ç”¨ C 函数使用一个 <application>gtkmm</application> 实例需è¦ä¸€ä¸ª C "
-"<classname>GObject</classname> 实例,使用C++çš„<function>gobj()</function>接å£"
-"函数å¯ä»¥å¾—到一个底层 GObject 实例的指针。例如:<_:programlisting-1/>"
-
-#: C/index-in.docbook:514
+#: C/index-in.docbook:522
#, no-wrap
msgid ""
"\n"
@@ -1132,19 +1131,19 @@ msgstr ""
"Gtk::Button* button = Glib::wrap(cbutton);\n"
"button->set_label(\"Now I speak C++ too!\");\n"
-#: C/index-in.docbook:521
+#: C/index-in.docbook:529
msgid ""
"it's a widget or other class that inherits from <classname>Gtk::Object</"
"classname>, and"
msgstr ""
"它是一个部件或者是继承自<classname>Gtk::Object</classname>的其他类,并且"
-#: C/index-in.docbook:522
+#: C/index-in.docbook:530
msgid ""
"the C instance has a floating reference when the wrapper is created, and"
msgstr "当å°è£…被创建的时候C示例拥有一个浮动引用,并且"
-#: C/index-in.docbook:523
+#: C/index-in.docbook:531
msgid ""
"<function>Gtk::manage()</function> has not been called on it (which includes "
"if it was created with <function>Gtk::make_managed()</function>), or"
@@ -1152,7 +1151,7 @@ msgstr ""
"并未在其上调用<function>Gtk::manage()</function>(包括使用<function>Gtk::"
"make_managed()</function>创建的) ,或者"
-#: C/index-in.docbook:524
+#: C/index-in.docbook:532
msgid ""
"<function>Gtk::manage()</function> was called on it, but it was never added "
"to, or was later removed from, its parent."
@@ -1160,7 +1159,7 @@ msgstr ""
"在其上调用了<function>Gtk::manage()</function>ï¼Œä½†æ˜¯ä»Žæœªå°†å…¶åŠ å…¥åˆ°çˆ¶é¡¹ä¸ï¼Œä¹Ÿ"
"从未将其从父项ä¸åˆ 除。"
-#: C/index-in.docbook:508
+#: C/index-in.docbook:516
msgid ""
"To obtain a <application>gtkmm</application> instance from a C "
"<classname>GObject</classname> instance, use one of the many overloaded "
@@ -1179,7 +1178,7 @@ msgstr ""
"itemizedlist-2/> <function>Glib::wrap()</function>将C和C++示例相互绑定,则应"
"æ˜Žç¡®åˆ é™¤C++包装器。请ä¸è¦åœ¨C示例æ»äº¡å‰åˆ 除C++实例。"
-#: C/index-in.docbook:529
+#: C/index-in.docbook:537
msgid ""
"In all other cases the C++ instance is automatically deleted when the last "
"reference to the C instance is dropped. This includes all <function>Glib::"
@@ -1190,11 +1189,11 @@ msgstr ""
"括所有的<function>Glib::wrap()</function>所返回的<classname>Glib::RefPtr</"
"classname>。"
-#: C/index-in.docbook:536
+#: C/index-in.docbook:544
msgid "Hello World in <application>gtkmm</application>"
msgstr "用 <application>gtkmm</application> 写 Hello World"
-#: C/index-in.docbook:538
+#: C/index-in.docbook:546
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 "
@@ -1203,7 +1202,7 @@ msgstr ""
"ç›®å‰æˆ‘们已ç»å¯ä»¥è‡ªå·±æ‰€å¦çš„知识æ¥å†™ä¸€ä¸ªçœŸæ£çš„程åºäº†ã€‚æ ¹æ®è®¡ç®—机科å¦çš„ä¼ ç»Ÿï¼Œæˆ‘"
"们现在以 <application>gtkmm</application> çš„æ–¹å¼æ¥ä»‹ç» Hello World 程åºï¼š"
-#: C/index-in.docbook:543
+#: C/index-in.docbook:551
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/helloworld\">Source Code</ulink>"
@@ -1211,17 +1210,17 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/helloworld\">æºä»£ç </ulink>"
-#: C/index-in.docbook:545
+#: C/index-in.docbook:553
msgid ""
"Try to compile and run it before going on. You should see something like "
"this:"
msgstr "在继ç»è®²è§£ä¹‹å‰ï¼Œå¯ä»¥å°è¯•ç€ç¼–译并è¿è¡Œè¿™ä¸ªç¨‹åºï¼Œä½ ä¼šçœ‹åˆ°è¿™æ ·çš„ç»“æžœï¼š"
-#: C/index-in.docbook:550
+#: C/index-in.docbook:558
msgid "Hello World"
msgstr "Hello World"
-#: C/index-in.docbook:556
+#: C/index-in.docbook:564
msgid ""
"Pretty thrilling, eh? Let's examine the code. First, the "
"<classname>HelloWorld</classname> class:"
@@ -1229,7 +1228,7 @@ msgstr ""
"真让人激动,ä¸æ˜¯å—?让我们回过头æ¥çœ‹ä¸€ä¸‹ä»£ç 。首先看一下 "
"<classname>HelloWorld</classname> 类:"
-#: C/index-in.docbook:561
+#: C/index-in.docbook:569
#, no-wrap
msgid ""
"class HelloWorld : public Gtk::Window\n"
@@ -1260,7 +1259,7 @@ msgstr ""
" Gtk::Button m_button;\n"
"};"
-#: C/index-in.docbook:575
+#: C/index-in.docbook:583
msgid ""
"This class implements the \"Hello World\" window. It's derived from "
"<classname>Gtk::Window</classname>, and has a single <classname>Gtk::Button</"
@@ -1272,7 +1271,7 @@ msgstr ""
"并且åªæœ‰ä¸€ä¸ª <classname>Gtk::Button</classname> æˆå‘˜ã€‚我们已ç»ä½¿ç”¨æž„é€ å‡½æ•°ä¸º"
"该窗å£å®Œæˆäº†æ‰€æœ‰çš„åˆå§‹åŒ–工作,包括挂接消æ¯ã€‚在这,已ç»åŽ»æŽ‰æ³¨é‡Šçš„代ç :"
-#: C/index-in.docbook:584
+#: C/index-in.docbook:592
#, no-wrap
msgid ""
"HelloWorld::HelloWorld()\n"
@@ -1293,7 +1292,7 @@ msgstr ""
" set_child(m_button);\n"
"}"
-#: C/index-in.docbook:593
+#: C/index-in.docbook:601
msgid ""
"Notice that we've used an initialiser statement to give the "
"<literal>m_button</literal> object the label \"Hello World\"."
@@ -1301,7 +1300,7 @@ msgstr ""
"注æ„,我们使用åˆå§‹åŒ–列表的方å¼ç»™ <literal>m_button</literal> å¯¹è±¡æ·»åŠ äº†ä¸€"
"个“Hello Worldâ€çš„æ ‡ç¾ã€‚"
-#: C/index-in.docbook:598
+#: C/index-in.docbook:606
msgid ""
"Next we call the Button's <methodname>set_margin()</methodname> method. This "
"sets the amount of space around the button."
@@ -1309,7 +1308,7 @@ msgstr ""
"接下æ¥è°ƒç”¨ Button 类的 <methodname>set_margin()</methodname> 方法。这将设置按"
"钮周围空间的大å°ã€‚"
-#: C/index-in.docbook:603
+#: C/index-in.docbook:611
msgid ""
"We then hook up a signal handler to <literal>m_button</literal>'s "
"<literal>clicked</literal> signal. This prints our friendly greeting to "
@@ -1319,7 +1318,7 @@ msgstr ""
"ä¿¡å·å¤„ç†å‡½æ•°ä¸Šã€‚è¿™ä¼šå‘ <literal>stdout</literal> (æ ‡å‡†è¾“å‡º) 打å°å‡ºå‹å¥½çš„问候"
"è¯ã€‚"
-#: C/index-in.docbook:608
+#: C/index-in.docbook:616
msgid ""
"Next, we use the Window's <methodname>set_child()</methodname> method to put "
"<literal>m_button</literal> in the Window. The <methodname>set_child()</"
@@ -1329,13 +1328,13 @@ msgstr ""
"<literal>m_button</literal>放入窗å£ã€‚<methodname>set_child()</methodname>方法"
"会将部件放入窗å£ä¸ã€‚"
-#: C/index-in.docbook:614
+#: C/index-in.docbook:622
msgid ""
"Now let's look at our program's <function>main()</function> function. Here "
"it is, without comments:"
msgstr "现在让我们æ¥çœ‹çœ‹ç¨‹åºä¸æ²¡æœ‰æ³¨é‡Šè¿‡çš„ <function>main()</function> 函数:"
-#: C/index-in.docbook:619
+#: C/index-in.docbook:627
#, no-wrap
msgid ""
"int main(int argc, char* argv[])\n"
@@ -1352,7 +1351,7 @@ msgstr ""
" return app->run(helloworld, argc, argv);\n"
"}"
-#: C/index-in.docbook:626
+#: C/index-in.docbook:634
msgid ""
"First we instantiate an object stored in a <classname>RefPtr</classname> "
"smartpointer called <literal>app</literal>. This is of type <classname>Gtk::"
@@ -1363,7 +1362,7 @@ msgstr ""
"classname>智能指针对象,它的类型为 <classname>Gtk::Application</classname> 。"
"æ¯ä¸€ä¸ª <application>gtkmm</application> 程åºéƒ½æœ‰è¿™æ ·çš„一个东西。"
-#: C/index-in.docbook:631
+#: C/index-in.docbook:639
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 "
@@ -1384,7 +1383,7 @@ msgstr ""
"应。当用户关é—窗å£æ—¶ï¼Œ<methodname>run()</methodname> 函数将返回,导致"
"<function>main()</function>函数的最åŽä¸€è¡Œå°†è¢«æ‰§è¡Œã€‚然åŽç¨‹åºå°±ç»“æŸäº†ã€‚"
-#: C/index-in.docbook:640
+#: C/index-in.docbook:648
msgid ""
"Like the simple example we showed earlier, this Hello World program does not "
"use the command-line parameters. It's not necessary to pass them to "
@@ -1393,11 +1392,11 @@ msgstr ""
"å°±åƒæˆ‘们之å‰æ˜¾ç¤ºçš„简å•ç¤ºä¾‹ä¸€æ ·ï¼Œè¿™ä¸ª Hello World 程åºä¸å®žç”¨å‘½ä»¤è¡Œå‚数。ä¸éœ€è¦"
"å°†å…¶ä¼ é€’ç»™<methodname>run()</methodname>。"
-#: C/index-in.docbook:649
+#: C/index-in.docbook:657
msgid "Changes in <application>gtkmm</application> 3"
msgstr "<application>gtkmm</application>3ä¸çš„å˜æ›´"
-#: C/index-in.docbook:651
+#: C/index-in.docbook:659
msgid ""
"<application>gtkmm</application>-3.0 is an old version of the "
"<application>gtkmm</application> API that installs in parallel with the "
@@ -1419,7 +1418,7 @@ msgstr ""
"å…¼å®¹ã€‚å¦‚æžœä½ ä»Žæœªç”¨è¿‡<application>gtkmm</application>-2.4 API åˆ™ä½ å¯ä»¥æ”¾å¿ƒçš„忽"
"ç•¥æœ¬ç« ã€‚"
-#: C/index-in.docbook:653
+#: C/index-in.docbook:661
msgid ""
"<application>gtkmm</application> 3's library is called "
"<literal>libgtkmm-3.0</literal> rather than <literal>libgtkmm-2.4</literal> "
@@ -1432,11 +1431,11 @@ msgstr ""
"pkg-config应该检索<literal>gtkmm-3.0</literal>而ä¸æ˜¯<literal>gtkmm-2.4</"
"literal>。"
-#: C/index-in.docbook:656
+#: C/index-in.docbook:664
msgid "<application>gtkmm</application> 3 added some new classes:"
msgstr "<application>gtkmm</application>3æ·»åŠ äº†ä¸€äº›æ–°çš„ç±»ï¼š"
-#: C/index-in.docbook:659
+#: C/index-in.docbook:667
msgid ""
"<classname>Gtk::AppChooser</classname>, <classname>Gtk::AppChooserButton</"
"classname>, <classname>Gtk::AppChooserDialog</classname> allow the user to "
@@ -1446,7 +1445,7 @@ msgstr ""
"classname>,<classname>Gtk::AppChooserDialog</classname>å…许用户选择已安装的应"
"用程åºç”¨ä»¥æ‰“开特定类型的内容。"
-#: C/index-in.docbook:660
+#: C/index-in.docbook:668
msgid ""
"<classname>Gtk::Grid</classname> is a new container widget that will "
"eventually replace <classname>Gtk::Box</classname> and <classname>Gtk::"
@@ -1457,7 +1456,7 @@ msgstr ""
"<classname>Gtk::Box</classname>å’Œ<classname>Gtk::Table</classname>ã€‚å®ƒæ ¹æ®å®ƒ"
"çš„å项的属性而ä¸æ˜¯è‡ªèº«çš„布局属性对å项进行排列。"
-#: C/index-in.docbook:661
+#: C/index-in.docbook:669
msgid ""
"<classname>Gtk::Switch</classname> displays On/Off states more explictly "
"than <classname>Gtk::CheckButton</classname>. It may be useful, for "
@@ -1467,7 +1466,7 @@ msgstr ""
"classname>更明确的显示开/关状æ€ã€‚例如,在å…许用户激活硬件的时候,他å¯èƒ½å¾ˆæœ‰"
"用。"
-#: C/index-in.docbook:664
+#: C/index-in.docbook:672
msgid ""
"<application>gtkmm</application> 3 also made several small changes to the "
"API, which you will probably encounter when porting code that used "
@@ -1477,7 +1476,7 @@ msgstr ""
"<application>gtkmm</application>-2.4的代ç çš„æ—¶å€™ä½ å¯èƒ½ä¼šé‡åˆ°è¿™äº›å˜æ›´ã€‚这是一"
"个简çŸçš„清å•ï¼š"
-#: C/index-in.docbook:669
+#: C/index-in.docbook:677
msgid ""
"<classname>Gtk::CellLayout</classname>, used by <classname>Gtk::IconView</"
"classname>, <classname>Gtk::TreeView::Column</classname> and <classname>Gtk::"
@@ -1490,7 +1489,7 @@ msgstr ""
"CellLayout</classname>,现在有<classname>Gtk::CellArea</classname>å¯ä»¥ç”¨äºŽæŒ‡"
"示<classname>CellRenderer</classname>的排列与对é½æ–¹å¼çš„详情。"
-#: C/index-in.docbook:671
+#: C/index-in.docbook:679
msgid ""
"Gtk::ComboBox now derives from CellLayout, allowing easier layout and "
"alignment of its <classname>Gtk::CellRenderer</classname>s."
@@ -1498,7 +1497,7 @@ msgstr ""
"Gtk::ComboBox现在从CellLayout派生,从而使更容易对<classname>Gtk::"
"CellRenderer</classname>进行布局与对é½ã€‚"
-#: C/index-in.docbook:673
+#: C/index-in.docbook:681
msgid ""
"<classname>Gtk::Adjustment</classname> and <classname>IconSet</classname> "
"and <classname>Gdk::Cursor</classname> are now used via <classname>Glib::"
@@ -1508,7 +1507,7 @@ msgstr ""
"和<classname>Gdk::Cursor</classname>类现在通过<classname>Glib::RefPtr</"
"classname>使用。"
-#: C/index-in.docbook:675
+#: C/index-in.docbook:683
msgid ""
"<classname>Gtk::Box</classname>, <classname>Gtk::ButtonBox</classname>, "
"<classname>Gtk::IconView</classname>, <classname>Gtk::Paned</classname>, "
@@ -1527,7 +1526,7 @@ msgstr ""
"ä¸ä½¿ç”¨æ´¾ç”Ÿç±»(例如<classname>Gtk::HBox</classname>)的情况指定其方å‘(垂直或者水"
"平)。"
-#: C/index-in.docbook:678
+#: C/index-in.docbook:686
msgid ""
"<classname>Gtk::IconView</classname>, <classname>Gtk::TextView</classname>, "
"<classname>Gtk::TreeView</classname> and other widgets derive from "
@@ -1540,7 +1539,7 @@ msgstr ""
"己的方法,例如<methodname>get_vadjustment()</methodname>拥有自己的"
"set_scroll_adjustmentsä¿¡å·ã€‚"
-#: C/index-in.docbook:680
+#: C/index-in.docbook:688
msgid ""
"<classname>Gtk::Style</classname> and <classname>Gtk::Rc</classname> were "
"removed, replaced by <classname>Gtk::StyleContext</classname>, and "
@@ -1551,7 +1550,7 @@ msgstr ""
"<classname>Gtk::StyleContext</classname>和<classname>Gtk::StyleProvider</"
"classname>替æ¢ï¼Œä¾‹å¦‚<classname>Gtk::CssProvider</classname>。"
-#: C/index-in.docbook:682
+#: C/index-in.docbook:690
msgid ""
"Widget::on_expose_event() was replaced by Widget::on_draw(), which assumes "
"that cairomm is used for drawing, via the provided <classname>Cairo::"
@@ -1562,7 +1561,7 @@ msgstr ""
"<classname>Cairo::Context</classname>使用cairomm进行绘制,并且ä¸éœ€è¦ä½ 自己调"
"用<methodname>Cairo::Context::clip()</methodname>。"
-#: C/index-in.docbook:684
+#: C/index-in.docbook:692
msgid ""
"<classname>Gdk::RGBA</classname> replaces <classname>Color</classname>, "
"adding an alpha component for opacity. <classname>Colormap</classname> was "
@@ -1572,7 +1571,7 @@ msgstr ""
"分é‡ä»¥æ”¯æŒé€æ˜Žåº¦ã€‚<classname>Colormap</classname>与其笨拙的颜色分é…æ–¹å¼ä¸€å¹¶è¢«"
"åˆ é™¤ã€‚"
-#: C/index-in.docbook:686
+#: C/index-in.docbook:694
msgid ""
"<classname>Gdk::Pixmap</classname> and <classname>Gdk::Bitmap</classname> "
"were removed in favour of <classname>Gdk::Pixbuf</classname>."
@@ -1580,7 +1579,7 @@ msgstr ""
"<classname>Gdk::Pixmap</classname>和<classname>Gdk::Bitmap</classname>现在被"
"<classname>Gdk::Pixbuf</classname>所å–代。"
-#: C/index-in.docbook:688
+#: C/index-in.docbook:696
msgid ""
"<classname>Gdk::Drawable</classname> was removed, with its methods moving "
"into <classname>Gdk::Window</classname>."
@@ -1588,13 +1587,13 @@ msgstr ""
"<classname>Gdk::Drawable</classname>è¢«åˆ é™¤ï¼Œä¸Žå…¶æœ‰å…³çš„æ–¹æ³•è¢«ç§»åŠ¨åˆ°äº†"
"<classname>Gdk::Window</classname>。"
-#: C/index-in.docbook:690
+#: C/index-in.docbook:698
msgid ""
"We now use std::vector in several methods instead of the intermediate "
"*Handle types to make the API clearer."
msgstr "我们现在使用std::vector而ä¸æ˜¯ä½¿ç”¨ä¸é—´ç±»åž‹(*Handle)以使APIæ›´åŠ çš„æ¸…æ™°ã€‚"
-#: C/index-in.docbook:695
+#: C/index-in.docbook:703
msgid ""
"All deprecated API was removed in <application>gtkmm</application> 3.0, "
"though there have been new deprecations in later <application>gtkmm</"
@@ -1603,7 +1602,7 @@ msgstr ""
"在<application>gtkmm</application> 3.0ä¸æˆ‘ä»¬åˆ é™¤äº†æ‰€æœ‰å¼ƒç”¨çš„API,尽管在"
"<application>gtkmm</application> 3.x版本ä¸å‡ºçŽ°äº†æ–°çš„被弃用的API。"
-#: C/index-in.docbook:697
+#: C/index-in.docbook:705
msgid ""
"As a first step to porting your source code to <application>gtkmm</"
"application>-3.0 you should probably ensure that your application builds "
@@ -1619,7 +1618,7 @@ msgstr ""
"ä½ é€šè¿‡æž„å»ºã€‚è®¿é—®<ulink url=\"https://wiki.gnome.org/Projects/gtkmm/";
"PortingToGtkmm3\">gtkmm3移æ¤Wiki</ulink>了解更多详情。"
-#: C/index-in.docbook:702
+#: C/index-in.docbook:710
msgid ""
"Changes in <application>gtkmm</application>-4.0 and "
"<application>glibmm-2.68</application>"
@@ -1627,7 +1626,7 @@ msgstr ""
"<application>gtkmm</application>-4.0和<application>glibmm-2.68</application>"
"ä¸çš„å˜æ›´ã€‚"
-#: C/index-in.docbook:704
+#: C/index-in.docbook:712
msgid ""
"<application>gtkmm</application>-4.0 is a new version of the "
"<application>gtkmm</application> API that installs in parallel with the "
@@ -1648,7 +1647,7 @@ msgstr ""
"本性的区别,虽然有些å˜æ›´ä½†æ˜¯ä¿æŒäº†äºŒè¿›åˆ¶å…¼å®¹ã€‚å¦‚æžœä½ ä»Žæœªä½¿ç”¨è¿‡"
"<application>gtkmm</application>-3.0 APIåˆ™ä½ å¯ä»¥æ”¾å¿ƒçš„å¿½ç•¥æœ¬ç« ã€‚"
-#: C/index-in.docbook:712
+#: C/index-in.docbook:720
msgid ""
"<application>gtkmm</application> 4's library is called "
"<literal>libgtkmm-4.0</literal> rather than <literal>libgtkmm-3.0</literal> "
@@ -1661,7 +1660,7 @@ msgstr ""
"<application>pkg-config</application>应该检索<literal>gtkmm-4.0</literal>而ä¸"
"是<literal>gtkmm-3.0</literal>。"
-#: C/index-in.docbook:718
+#: C/index-in.docbook:726
msgid ""
"<application>gtkmm</application>-4.0 is used in combination with "
"<application>glibmm-2.68</application>, which sets the global locale for "
@@ -1687,7 +1686,7 @@ msgstr ""
"create()</methodname>方法之å‰æ·»åŠ 对<function>Glib::"
"set_init_to_users_preferred_locale(false)</function>的调用。"
-#: C/index-in.docbook:728
+#: C/index-in.docbook:736
msgid ""
"<ulink url=\"http://developer.gnome.org/glibmm/unstable/namespaceGlib.html";
"\">Reference</ulink>"
@@ -1695,7 +1694,7 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/glibmm/unstable/namespaceGlib.html\";>"
"å‚考</ulink>"
-#: C/index-in.docbook:730
+#: C/index-in.docbook:738
msgid ""
"There are lots and lots of differences between <application>gtkmm</"
"application>-3.0 and <application>gtkmm</application>-4.0. The following "
@@ -1704,7 +1703,7 @@ msgstr ""
"<application>gtkmm</application>-3.0和<application>gtkmm</application>-4.0之"
"间有很多ä¸åŒä¹‹å¤„。以下是ä¸å®Œæ•´çš„列表。"
-#: C/index-in.docbook:733
+#: C/index-in.docbook:741
msgid ""
"Some new classes were added in <application>gtkmm</application> 4 and "
"<application>glibmm</application> 2.68:"
@@ -1712,7 +1711,7 @@ msgstr ""
"在<application>gtkmm</application> 4和<application>glibmm</application> 2.68"
"ä¸æ·»åŠ 了一些新的类:"
-#: C/index-in.docbook:736
+#: C/index-in.docbook:744
msgid ""
"<classname>Glib::ExtraClassInit</classname> and <classname>Gtk::Snapshot</"
"classname>: These classes are needed only for writing custom widgets. See "
@@ -1722,7 +1721,7 @@ msgstr ""
"classname>:这些类åªç”¨äºŽç¼–写自定义的窗å£å°éƒ¨ä»¶ã€‚å‚è§<link linkend=\"sec-"
"custom-widgets\">自定义部件</link>å°èŠ‚。"
-#: C/index-in.docbook:739
+#: C/index-in.docbook:747
msgid ""
"<classname>Gtk::EventControllerKey</classname>, <classname>Gtk::"
"EventControllerMotion</classname>, <classname>Gtk::EventControllerScroll</"
@@ -1732,7 +1731,7 @@ msgstr ""
"EventControllerMotion</classname>, <classname>Gtk::EventControllerScroll</"
"classname>和<classname>Gtk::GestureStylus</classname>"
-#: C/index-in.docbook:742
+#: C/index-in.docbook:750
msgid ""
"<classname>Gdk::Paintable</classname>, <classname>Gdk::Texture</classname>, "
"<classname>Gtk::Picture</classname> and <classname>Gtk::WidgetPaintable</"
@@ -1742,7 +1741,7 @@ msgstr ""
"<classname>Gtk::Picture</classname>和<classname>Gtk::WidgetPaintable</"
"classname>"
-#: C/index-in.docbook:745
+#: C/index-in.docbook:753
msgid ""
"<classname>Gdk::Window</classname> has been renamed to <classname>Gdk::"
"Surface</classname>. (<classname>Gtk::Window</classname> keeps its name.)"
@@ -1750,7 +1749,7 @@ msgstr ""
"<classname>Gdk::Window</classname>被é‡å‘½å为<classname>Gdk::Surface</"
"classname>(<classname>Gtk::Window</classname>å称ä¿æŒä¸å˜)。"
-#: C/index-in.docbook:747
+#: C/index-in.docbook:755
msgid ""
"<classname>Gdk::DrawContext</classname> and <classname>Gdk::CairoContext</"
"classname> are new. <classname>Gdk::DrawingContext</classname> has been "
@@ -1760,7 +1759,7 @@ msgstr ""
"CairoContext</classname>。<classname>Gdk::DrawingContext</classname>å·²è¢«åˆ "
"除。"
-#: C/index-in.docbook:749
+#: C/index-in.docbook:757
msgid ""
"<classname>Gtk::Clipboard</classname> has been replaced by the new "
"<classname>Gdk::Clipboard</classname>."
@@ -1768,7 +1767,7 @@ msgstr ""
"<classname>Gtk::Clipboard</classname>被新的<classname>Gdk::Clipboard</"
"classname>替æ¢ã€‚"
-#: C/index-in.docbook:751
+#: C/index-in.docbook:759
msgid ""
"<classname>Gdk::DragContext</classname> has been split into <classname>Gdk::"
"Drag</classname> and <classname>Gdk::Drop</classname>."
@@ -1776,7 +1775,7 @@ msgstr ""
"<classname>Gdk::DragContext</classname>现在被拆分为<classname>Gdk::Drag</"
"classname>和<classname>Gdk::Drop</classname>。"
-#: C/index-in.docbook:755
+#: C/index-in.docbook:763
msgid ""
"There have also been several changes to the API, which you will probably "
"encounter when porting code that used <application>gtkmm</application>-3.0 "
@@ -1786,11 +1785,11 @@ msgstr ""
"<application>glibmm</application>-2.4代ç æ—¶ä½ å¯èƒ½ä¼šé‡åˆ°è¿™äº›æ›´æ”¹ã€‚以下是一个简"
"çŸçš„å˜æ›´åˆ—表:"
-#: C/index-in.docbook:760
+#: C/index-in.docbook:768
msgid "A C++17 compiler is required."
msgstr "需è¦æ”¯æŒC++17的编译器"
-#: C/index-in.docbook:761
+#: C/index-in.docbook:769
msgid ""
"<classname>Gtk::Button</classname>, <classname>Gtk::ToolButton</classname>, "
"<classname>Gtk::MenuItem</classname> and <classname>Gtk::Switch</classname> "
@@ -1802,7 +1801,7 @@ msgstr ""
"了<classname>Gtk::Actionable</classname>接å£è€Œä¸æ˜¯å·²è¢«åˆ 除的<classname>Gtk::"
"Activatable</classname>接å£ã€‚"
-#: C/index-in.docbook:765
+#: C/index-in.docbook:773
msgid ""
"<classname>Gtk::FontButton</classname> implements the <classname>Gtk::"
"FontChooser</classname> interface."
@@ -1810,7 +1809,7 @@ msgstr ""
"<classname>Gtk::FontButton</classname>实现了<classname>Gtk::FontChooser</"
"classname>接å£ã€‚"
-#: C/index-in.docbook:766
+#: C/index-in.docbook:774
msgid ""
"<classname>Gtk::Widget</classname>: The <methodname>get_preferred_*_vfunc()</"
"methodname>s have been replaced by <methodname>measure_vfunc()</methodname>. "
@@ -1820,7 +1819,7 @@ msgstr ""
"methodname>方法已被<methodname>measure_vfunc()</methodname>方法替代。æ¤å˜æ›´åª"
"å½±å“自定义部件。"
-#: C/index-in.docbook:769
+#: C/index-in.docbook:777
msgid ""
"<classname>sigc::slot</classname>s use the <classname>sigc::slot<"
"R(Args...)></classname> syntax. Example: <classname>sigc::slot<"
@@ -1831,13 +1830,13 @@ msgstr ""
"</classname>è¯æ³•ã€‚ 例如: <classname>sigc::slot<void(int, int)></"
"classname>而ä¸æ˜¯ä½¿ç”¨<classname>sigc::slot<void, int, int></classname>。"
-#: C/index-in.docbook:771
+#: C/index-in.docbook:779
msgid ""
"<classname>Gtk::DrawingArea</classname> uses a draw function instead of the "
"draw signal."
msgstr "<classname>Gtk::DrawingArea</classname>使用绘制函数替代绘制信å·ã€‚"
-#: C/index-in.docbook:772
+#: C/index-in.docbook:780
msgid ""
"<classname>Glib::ArrayHandle</classname>, <classname>Glib::"
"StringArrayHandle</classname>, <classname>Glib::ListHandle</classname> and "
@@ -1854,11 +1853,11 @@ msgstr ""
"application>-3.0å¹¶æœªä½¿ç”¨ä»–ä»¬ã€‚å¦‚æžœä½ æ›¾ç»ä½¿ç”¨è¿‡ä»–们,则将他们替æ¢ä¸ºæ ‡å‡†C++容"
"器,例如<classname>std::vector</classname>。"
-#: C/index-in.docbook:776
+#: C/index-in.docbook:784
msgid "<classname>Gtk::Container</classname> has been removed."
msgstr "<classname>Gtk::Container</classname>å·²è¢«åˆ é™¤ã€‚"
-#: C/index-in.docbook:777
+#: C/index-in.docbook:785
msgid ""
"<methodname>Gtk::Widget::show_all()</methodname> has been removed. The "
"default value of <methodname>Gtk::Widget::property_visible()</methodname>has "
@@ -1868,7 +1867,7 @@ msgstr ""
"Widget::property_visible()</methodname>的默认值从<literal>false</literal>改为"
"<literal>true</literal>。"
-#: C/index-in.docbook:780
+#: C/index-in.docbook:788
msgid ""
"All event signals have been removed from <classname>Gtk::Widget</classname>. "
"In most cases you can use one of the subclasses of <classname>Gtk::"
@@ -1888,7 +1887,7 @@ msgstr ""
"EventControllerKey</classname>替代<methodname>signal_key_press_event()</"
"methodname>和<methodname>signal_key_release_event()</methodname>。"
-#: C/index-in.docbook:787
+#: C/index-in.docbook:795
msgid ""
"<classname>Glib::RefPtr</classname> is an alias for <classname>std::"
"shared_ptr</classname>. If you make your own <classname>Glib::ObjectBase</"
@@ -1903,7 +1902,7 @@ msgstr ""
"ObjectBase</classname>çš„ç±»ï¼Œåˆ™ä½ å¿…é¡»åœ¨ä½ çš„<methodname>create()</methodname>æ–¹"
"法ä¸è°ƒç”¨<methodname>Glib::make_refptr_for_instance()</methodname>。"
-#: C/index-in.docbook:792
+#: C/index-in.docbook:800
msgid ""
"<methodname>Gtk::Box::pack_start()</methodname> and <methodname>Gtk::Box::"
"pack_end()</methodname> have been removed. Use the new <classname>Gtk::Box</"
@@ -1917,11 +1916,11 @@ msgstr ""
"<methodname>insert_child_after()</methodname>和"
"<methodname>insert_child_at_start()</methodname>方法。"
-#: C/index-in.docbook:797
+#: C/index-in.docbook:805
msgid "<classname>Gtk::ButtonBox</classname> has been removed."
msgstr "<classname>Gtk::ButtonBox</classname>å·²è¢«åˆ é™¤"
-#: C/index-in.docbook:798
+#: C/index-in.docbook:806
msgid ""
"<classname>Gtk::RadioButton</classname> and <classname>Gtk::"
"RadioButtonGroup</classname> have been removed. Use <classname>Gtk::"
@@ -1933,7 +1932,7 @@ msgstr ""
"<classname>Gtk::ToggleButton</classname>çš„<methodname>set_group()</"
"methodname>。"
-#: C/index-in.docbook:804
+#: C/index-in.docbook:812
msgid ""
"All deprecated API was removed in <application>gtkmm</application> 4.0 and "
"<application>glibmm</application> 2.68, though there will be new "
@@ -1942,7 +1941,7 @@ msgstr ""
"<application>gtkmm</application>和<application>glibmm</application> 2.68移除"
"了所有之å‰æ ‡è®°ä¸ºå¼ƒç”¨çš„API,未æ¥è¿˜ä¼šæœ‰æ–°çš„APIè¢«æ ‡è®°ä¸ºå¼ƒç”¨ã€‚"
-#: C/index-in.docbook:807
+#: C/index-in.docbook:815
msgid ""
"As a first step to porting your source code to <application>gtkmm</"
"application>-4.0 you should probably ensure that your application builds "
@@ -1962,7 +1961,7 @@ msgstr ""
"在编译时定义他们。更多有关详情请å‚è§<ulink url=\"https://wiki.gnome.org/";
"Projects/gtkmm/PortingToGtkmm3\">从gtkmm-2.4è¿ç§»åˆ°gtkmm-3.0</ulink>Wiki页é¢ã€‚"
-#: C/index-in.docbook:815
+#: C/index-in.docbook:823
msgid ""
"See also <ulink url=\"https://developer.gnome.org/gtk4/unstable/gtk-";
"migrating-3-to-4.html\"> Migrating from GTK 3.x to GTK 4</ulink>."
@@ -1970,19 +1969,19 @@ msgstr ""
"å¦è¯·å‚è§<ulink url=\"https://developer.gnome.org/gtk4/unstable/gtk-";
"migrating-3-to-4.html\">从GTK3.Xè¿ç§»åˆ°GTK 4</ulink>。"
-#: C/index-in.docbook:821
+#: C/index-in.docbook:829
msgid "Buttons"
msgstr "按钮(Buttons)"
-#: C/index-in.docbook:823
+#: C/index-in.docbook:831
msgid "<application>gtkmm</application> provides four basic types of buttons:"
msgstr "<application>gtkmm</application> æ供以下四ç§åŸºæœ¬æŒ‰é’®æŽ§ä»¶ï¼š"
-#: C/index-in.docbook:830
+#: C/index-in.docbook:838
msgid "Push buttons"
msgstr "按钮类"
-#: C/index-in.docbook:832
+#: C/index-in.docbook:840
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1Button.";
"html\"><classname>Gtk::Button</classname></ulink>. Standard buttons, usually "
@@ -1994,11 +1993,11 @@ msgstr ""
"æ ‡ç¾æˆ–者图片。按一下就会触å‘一个动作。å‚看 <link linkend=\"sec-pushbuttons"
"\">Button</link> å°èŠ‚。"
-#: C/index-in.docbook:839
+#: C/index-in.docbook:847
msgid "Toggle buttons"
msgstr "开关按钮(ToggleButton)"
-#: C/index-in.docbook:841
+#: C/index-in.docbook:849
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1ToggleButton.html\"><classname>Gtk::ToggleButton</classname></"
@@ -2012,11 +2011,11 @@ msgstr ""
"起。它作为一个开关å¯èƒ½æ¯”较有用。å‚看 <link linkend=\"sec-toggle-buttons"
"\">ToggleButton</link> å°èŠ‚。"
-#: C/index-in.docbook:849
+#: C/index-in.docbook:857
msgid "Check buttons"
msgstr "å¤é€‰æŒ‰é’®(CheckButtons)"
-#: C/index-in.docbook:851
+#: C/index-in.docbook:859
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1CheckButton.html\"><classname>Gtk::CheckButton</classname></"
@@ -2031,11 +2030,11 @@ msgstr ""
"æ€ï¼Œè€Œä¸”æ—边还有一个文å—æ ‡ç¾ã€‚在大多数需è¦å¸ƒå°”值设置的情况都å¯ä»¥ä½¿ç”¨å®ƒã€‚å‚看 "
"<link linkend=\"sec-checkbuttons\">CheckButton</link> å°èŠ‚。"
-#: C/index-in.docbook:861
+#: C/index-in.docbook:869
msgid "Radio buttons"
msgstr "å•é€‰æŒ‰é’®(RadioButton)"
-#: C/index-in.docbook:863
+#: C/index-in.docbook:871
msgid ""
"Named after the station selectors on old car radios, these buttons are used "
"in groups for options which are mutually exclusive. Pressing one causes all "
@@ -2051,7 +2050,7 @@ msgstr ""
"çš„å•é€‰æŒ‰é’®ç±»ã€‚å¤é€‰æŒ‰é’®å’Œå¼€å…³æŒ‰é’®å¯ä»¥å……当å•é€‰æŒ‰é’®ã€‚å‚è§<link linkend=\"sec-"
"radio-buttons\">RadioButton</link> å°èŠ‚。"
-#: C/index-in.docbook:877
+#: C/index-in.docbook:885
msgid ""
"Note that, due to GTK's theming system, the appearance of these widgets will "
"vary. In the case of check buttons and radio buttons, they may vary "
@@ -2060,11 +2059,11 @@ msgstr ""
"请注æ„,由于GTK的主题ä¸åŒï¼Œè¿™äº›æŽ§ä»¶å¤–观å¯èƒ½ä¼šä¸åŒã€‚特别是å¤é€‰æŒ‰é’®å’Œå•é€‰æŒ‰é’®å¯"
"能会很ä¸ä¸€æ ·ã€‚"
-#: C/index-in.docbook:884
+#: C/index-in.docbook:892
msgid "Button"
msgstr "按钮(Button)"
-#: C/index-in.docbook:886
+#: C/index-in.docbook:894
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 "
@@ -2074,7 +2073,7 @@ msgstr ""
"函数ä¸æŒ‡å®šæ ‡ç¾å—符串,或者以åŽè°ƒç”¨ <methodname>set_label()</methodname> æ¥æŒ‡"
"å®šæ ‡ç¾ã€‚"
-#: C/index-in.docbook:892
+#: C/index-in.docbook:900
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 "
@@ -2083,12 +2082,12 @@ msgstr ""
"å¦‚æžœä½ æƒ³ä¸ºæŒ‰é’®å®šä¹‰ä¸€ä¸ªå¿«æ·é”®ï¼Œé‚£ä¹ˆå¯ä»¥åœ¨æ ‡ç¾å—符串ä¸çš„æŸä¸ªå—符å‰é¢åŠ 上一个下"
"划线,并且指定å¯é€‰çš„å‚数助记符(mnemonic)为 true。例如:"
-#: C/index-in.docbook:894
+#: C/index-in.docbook:902
#, no-wrap
msgid "Gtk::Button* pButton = new Gtk::Button(\"_Something\", true);"
msgstr "Gtk::Button* pButton = new Gtk::Button(\"_Something\", true);"
-#: C/index-in.docbook:896
+#: C/index-in.docbook:904
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."
@@ -2096,7 +2095,7 @@ msgstr ""
"<classname>Gtk::Button</classname> åŒæ—¶ä¹Ÿæ˜¯ä¸€ä¸ªå®¹å™¨ï¼Œå› æ¤ä½ å¯ä»¥åœ¨å…¶ä¸æ”¾ä»»ä½•å…¶"
"它的部件,比如放一个 <classname>Gtk::Image</classname> 在里é¢ã€‚"
-#: C/index-in.docbook:902
+#: C/index-in.docbook:910
msgid ""
"The <classname>Gtk::Button</classname> widget has the <literal>clicked</"
"literal> signal which is emitted when the button is pressed and released."
@@ -2104,7 +2103,7 @@ msgstr ""
"<classname>Gtk::Button</classname>部件具有<literal>clicked</literal>ä¿¡å·ï¼Œå½“"
"按下或释放按钮时将会å‘出该信å·ã€‚"
-#: C/index-in.docbook:907
+#: C/index-in.docbook:915
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1Button.";
"html\">Reference</ulink>"
@@ -2112,31 +2111,31 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1Button.";
"html\">å‚考</ulink>"
-#: C/index-in.docbook:909 C/index-in.docbook:962 C/index-in.docbook:1019
-#: C/index-in.docbook:1137 C/index-in.docbook:1194 C/index-in.docbook:1502
-#: C/index-in.docbook:1567 C/index-in.docbook:1591 C/index-in.docbook:1621
-#: C/index-in.docbook:1676 C/index-in.docbook:1716 C/index-in.docbook:1757
-#: C/index-in.docbook:1791 C/index-in.docbook:2077 C/index-in.docbook:2107
-#: C/index-in.docbook:2161 C/index-in.docbook:2201 C/index-in.docbook:3874
-#: C/index-in.docbook:3901 C/index-in.docbook:3924 C/index-in.docbook:3948
-#: C/index-in.docbook:3980 C/index-in.docbook:4158 C/index-in.docbook:4304
-#: C/index-in.docbook:4379 C/index-in.docbook:4451 C/index-in.docbook:4516
-#: C/index-in.docbook:4753 C/index-in.docbook:5257 C/index-in.docbook:5563
-#: C/index-in.docbook:5612 C/index-in.docbook:6191 C/index-in.docbook:6311
-#: C/index-in.docbook:6941 C/index-in.docbook:7014 C/index-in.docbook:7240
-#: C/index-in.docbook:8675
+#: C/index-in.docbook:917 C/index-in.docbook:970 C/index-in.docbook:1027
+#: C/index-in.docbook:1145 C/index-in.docbook:1202 C/index-in.docbook:1510
+#: C/index-in.docbook:1575 C/index-in.docbook:1599 C/index-in.docbook:1629
+#: C/index-in.docbook:1684 C/index-in.docbook:1724 C/index-in.docbook:1765
+#: C/index-in.docbook:1799 C/index-in.docbook:2085 C/index-in.docbook:2115
+#: C/index-in.docbook:2169 C/index-in.docbook:2209 C/index-in.docbook:3882
+#: C/index-in.docbook:3909 C/index-in.docbook:3932 C/index-in.docbook:3956
+#: C/index-in.docbook:3988 C/index-in.docbook:4166 C/index-in.docbook:4312
+#: C/index-in.docbook:4386 C/index-in.docbook:4458 C/index-in.docbook:4523
+#: C/index-in.docbook:4760 C/index-in.docbook:5260 C/index-in.docbook:5566
+#: C/index-in.docbook:5615 C/index-in.docbook:6178 C/index-in.docbook:6298
+#: C/index-in.docbook:6928 C/index-in.docbook:7001 C/index-in.docbook:7227
+#: C/index-in.docbook:8631
msgid "Example"
msgstr "示例"
-#: C/index-in.docbook:911
+#: C/index-in.docbook:919
msgid "This example creates a button with a picture and a label."
msgstr "这个示例创建了一个有图片和文å—æ ‡ç¾çš„按钮。"
-#: C/index-in.docbook:916
+#: C/index-in.docbook:924
msgid "buttons example"
msgstr "按钮示例"
-#: C/index-in.docbook:922
+#: C/index-in.docbook:930
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/buttons/button\">Source Code</ulink>"
@@ -2144,11 +2143,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/buttons/button\">æºä»£ç </ulink>"
-#: C/index-in.docbook:929
+#: C/index-in.docbook:937
msgid "ToggleButton"
msgstr "开关按钮(ToggleButton)"
-#: C/index-in.docbook:931
+#: C/index-in.docbook:939
msgid ""
"<classname>ToggleButton</classname>s are like normal <classname>Button</"
"classname>s, but when clicked they remain activated, or pressed, until "
@@ -2157,7 +2156,7 @@ msgstr ""
"<classname>ToggleButton</classname> 和普通的 <classname>Button</classname> 相"
"似,但是它们在点击åŽä¼šä¿æŒæ¿€æ´»(或称为按下的)状æ€ï¼Œç›´åˆ°å†æ¬¡ç‚¹å‡»å®ƒä¸ºæ¢ã€‚"
-#: C/index-in.docbook:933
+#: C/index-in.docbook:941
msgid ""
"To retrieve the state of the <classname>ToggleButton</classname>, you can "
"use the <methodname>get_active()</methodname> method. This returns "
@@ -2172,7 +2171,7 @@ msgstr ""
"请注æ„ï¼Œå¦‚æžœä½ è¿™æ ·åšäº†ï¼Œå¹¶ä¸”它的状æ€çš„确改å˜äº†ï¼Œé‚£ä¹ˆè¿™å°†ä¼šå¼•å‘“clickedâ€ä¿¡å·ã€‚"
"当然,一般æ¥è¯´ï¼Œè¿™å°±æ˜¯ä½ 希望看到的结果。"
-#: C/index-in.docbook:940
+#: C/index-in.docbook:948
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 "
@@ -2182,7 +2181,7 @@ msgstr ""
"行的是设置它是开还是关:这个方法将会改å˜æŒ‰é’®çš„状æ€ï¼Œå¹¶ä¼šå¼•å‘ "
"<literal>toggled</literal> ä¿¡å·ã€‚"
-#: C/index-in.docbook:945
+#: C/index-in.docbook:953
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1ToggleButton.html\">Reference</ulink>"
@@ -2190,11 +2189,11 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1ToggleButton.html\">å‚考</ulink>"
-#: C/index-in.docbook:950 C/index-in.docbook:965
+#: C/index-in.docbook:958 C/index-in.docbook:973
msgid "CheckButton"
msgstr "多选按钮(CheckButton)"
-#: C/index-in.docbook:952
+#: C/index-in.docbook:960
msgid ""
"<classname>Gtk::CheckButton</classname> inherits directly from "
"<classname>Gtk::Widget</classname>. It is similar to <classname>Gtk::"
@@ -2208,7 +2207,7 @@ msgstr ""
"åŒã€‚å› æ¤ä½ å¯ä»¥åƒ<classname>Gtk::ToggleButton</classname>ä¸€æ ·ä½¿ç”¨åŒæ ·çš„方法æ¥"
"检查ã€è®¾ç½®å’Œè½¬æ¢å¤šé€‰æŒ‰é’®çš„状æ€ã€‚"
-#: C/index-in.docbook:960
+#: C/index-in.docbook:968
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1CheckButton.html\">Reference</ulink>"
@@ -2216,7 +2215,7 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1CheckButton.html\">å‚考</ulink>"
-#: C/index-in.docbook:971
+#: C/index-in.docbook:979
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/buttons/checkbutton\">Source Code</ulink>"
@@ -2224,11 +2223,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/buttons/checkbutton\">æºä»£ç </ulink>"
-#: C/index-in.docbook:977
+#: C/index-in.docbook:985
msgid "Radio Button"
msgstr "å•é€‰æŒ‰é’®(RadioButton)"
-#: C/index-in.docbook:979
+#: C/index-in.docbook:987
msgid ""
"There is no separate class for radio buttons. Check buttons and toggle "
"buttons act as radio buttons when they form a group. Only one button in a "
@@ -2237,11 +2236,11 @@ msgstr ""
"å•é€‰æŒ‰é’®æ²¡æœ‰å•ç‹¬çš„类。当å¤é€‰æŒ‰é’®å’Œå¼€å…³æŒ‰é’®åœ¨ä¸€ä¸ªç»„ä¸çš„时候它们充当å•é€‰æŒ‰é’®ã€‚"
"任何时候åªèƒ½é€‰æ‹©ä¸€ä¸ªç»„ä¸çš„一个按钮。"
-#: C/index-in.docbook:985
+#: C/index-in.docbook:993
msgid "Groups"
msgstr "组"
-#: C/index-in.docbook:986
+#: C/index-in.docbook:994
msgid ""
"You create the buttons, and set up their group afterwards. In the following "
"example, we put 3 radio buttons in a group:"
@@ -2249,7 +2248,7 @@ msgstr ""
"ä½ åˆ›å»ºäº†ä¸‰ä¸ªæŒ‰é’®ï¼Œç„¶åŽä¸ºä»–们设置了组。在下é¢çš„例åä¸ï¼Œæˆ‘们将三个å•é€‰æŒ‰é’®æ”¾å…¥"
"一个组ä¸ã€‚"
-#: C/index-in.docbook:991
+#: C/index-in.docbook:999
#, no-wrap
msgid ""
"\n"
@@ -2266,7 +2265,7 @@ msgstr ""
"rb2->set_group(*rb1);\n"
"rb3->set_group(*rb1);\n"
-#: C/index-in.docbook:999
+#: C/index-in.docbook:1007
msgid ""
"We told <application>gtkmm</application> to put all three "
"<classname>CheckButton</classname>s in the same group by using "
@@ -2280,11 +2279,11 @@ msgstr ""
"<classname>CheckButton</classname>与第一个<classname>CheckButton</classname>"
"共享这个组。"
-#: C/index-in.docbook:1008 C/index-in.docbook:1464 C/index-in.docbook:4627
+#: C/index-in.docbook:1016 C/index-in.docbook:1472 C/index-in.docbook:4634
msgid "Methods"
msgstr "方法"
-#: C/index-in.docbook:1009
+#: C/index-in.docbook:1017
msgid ""
"<classname>CheckButton</classname>s and <classname>ToggleButton</classname>s "
"are \"off\" when created; this means that when you first make a group of "
@@ -2295,7 +2294,7 @@ msgstr ""
"åŽé»˜è®¤æ˜¯æœªé€‰ä¸çš„ï¼Œä¹Ÿå°±æ˜¯è¯´å½“ä½ ç¬¬ä¸€æ¬¡åˆ›å»ºä¸€ç»„å•é€‰æŒ‰é’®çš„时候,它们都会是未选ä¸"
"的。所以别忘了使用<methodname>set_active()</methodname>æ¥é€‰ä¸ä¸€ä¸ªã€‚"
-#: C/index-in.docbook:1015
+#: C/index-in.docbook:1023
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1RadioButton.html\">Reference</ulink>"
@@ -2303,18 +2302,18 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1RadioButton.html\">å‚考</ulink>"
-#: C/index-in.docbook:1020
+#: C/index-in.docbook:1028
msgid ""
"The following example demonstrates the use of grouped "
"<classname>CheckButton</classname>s:"
msgstr ""
"接下æ¥çš„例åä¸æ¼”示了对<classname>CheckButton</classname>进行分组的用法:"
-#: C/index-in.docbook:1026
+#: C/index-in.docbook:1034
msgid "RadioButton"
msgstr "å•é€‰æŒ‰é’®(RadioButton)"
-#: C/index-in.docbook:1032
+#: C/index-in.docbook:1040
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/buttons/radiobutton\">Source Code</ulink>"
@@ -2322,11 +2321,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/buttons/radiobutton\">æºä»£ç </ulink>"
-#: C/index-in.docbook:1042 C/index-in.docbook:1148
+#: C/index-in.docbook:1050 C/index-in.docbook:1156
msgid "Range Widgets"
msgstr "范围(Range)部件"
-#: C/index-in.docbook:1044
+#: C/index-in.docbook:1052
msgid ""
"<classname>Gtk::Scale</classname> and <classname>Gtk::Scrollbar</classname> "
"both inherit from <classname>Gtk::Range</classname> and share much "
@@ -2344,7 +2343,7 @@ msgstr ""
"击的ä½ç½®ç§»åŠ¨ï¼Œå¯èƒ½æ˜¯ç§»åŠ¨åˆ°ç»ˆç‚¹ï¼Œä¹Ÿå¯èƒ½æ˜¯ç§»åŠ¨ä¸€æ®µè·ç¦»ï¼Œè¿™å–å†³äºŽä½ ç”¨çš„æ˜¯é¼ æ ‡çš„"
"哪个按键。这和滚动æ¡çš„行为很类似。"
-#: C/index-in.docbook:1055
+#: C/index-in.docbook:1063
msgid ""
"As will be explained in the <link linkend=\"chapter-adjustment"
"\">Adjustments</link> section, all Range widgets are associated with an "
@@ -2368,7 +2367,7 @@ msgstr ""
"而且还å¯ä»¥å’Œå…¶å®ƒéƒ¨ä»¶å…±äº«ã€‚请å‚看 <link linkend=\"chapter-adjustment\">调整</"
"link>部分以得到更详细的信æ¯ã€‚"
-#: C/index-in.docbook:1069
+#: C/index-in.docbook:1077
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1Range.html";
"\">Reference</ulink>"
@@ -2376,11 +2375,11 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1Range.html";
"\">å‚考</ulink>"
-#: C/index-in.docbook:1072
+#: C/index-in.docbook:1080
msgid "Scrollbar Widgets"
msgstr "滚动æ¡éƒ¨ä»¶ (Scrollbar)"
-#: C/index-in.docbook:1074
+#: C/index-in.docbook:1082
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::"
@@ -2391,14 +2390,14 @@ msgstr ""
"Entry</classname> 或 <classname>Gtk::Viewport</classname>,当然,通常使用 "
"<classname>Gtk::ScrolledWindow</classname> 会更容易一些。"
-#: C/index-in.docbook:1081
+#: C/index-in.docbook:1089
msgid ""
"The orientation of a <classname>Gtk::Scrollbar</classname> can be either "
"horizontal or vertical."
msgstr ""
"<classname>Gtk::Scrollbar</classname>çš„æ–¹å‘å¯ä»¥æ˜¯æ°´å¹³çš„也å¯ä»¥æ˜¯åž‚直的。"
-#: C/index-in.docbook:1086
+#: C/index-in.docbook:1094
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1Scrollbar.";
"html\">Reference</ulink>"
@@ -2406,11 +2405,11 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1Scrollbar.";
"html\">å‚考</ulink>"
-#: C/index-in.docbook:1091
+#: C/index-in.docbook:1099
msgid "Scale Widgets"
msgstr "比例部件 (Scale)"
-#: C/index-in.docbook:1093
+#: C/index-in.docbook:1101
msgid ""
"<classname>Gtk::Scale</classname> widgets (or \"sliders\") allow the user to "
"visually select and manipulate a value within a specific range. You might "
@@ -2422,7 +2421,7 @@ msgstr ""
"ç›´è§‚åœ°è°ƒèŠ‚å®ƒçš„å€¼ã€‚ä¾‹å¦‚ï¼Œä½ å¯ä»¥ç”¨å®ƒæ¥è°ƒèŠ‚一副预览图片的放大率ã€æˆ–者控制颜色的"
"亮度,或者指定多少分钟åŽæ‰§è¡Œå±å¹•ä¿æŠ¤ã€‚"
-#: C/index-in.docbook:1102
+#: C/index-in.docbook:1110
msgid ""
"As with <classname>Scrollbar</classname>s, the orientation can be either "
"horizontal or vertical. The default constructor creates an "
@@ -2435,11 +2434,11 @@ msgstr ""
"<literal>0.0</literal>。当然,这显然没有æ„ä¹‰ï¼Œæ‰€ä»¥ä½ éœ€è¦è®¾ç½®ä¸€äº› "
"<classname>Adjustment</classname> 的细节æ¥è®©å®ƒèŽ·å¾—有æ„义的行为。"
-#: C/index-in.docbook:1111
+#: C/index-in.docbook:1119
msgid "Useful methods"
msgstr "一些有用的方法"
-#: C/index-in.docbook:1113
+#: C/index-in.docbook:1121
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 "
@@ -2449,7 +2448,7 @@ msgstr ""
"ä¸ªæ•°å€¼çš„ï¼Œä½†æ˜¯ä½ å¯ä»¥é€šè¿‡è°ƒç”¨ <methodname>set_draw_value()</methodname> 方法æ¥"
"设置是å¦æ˜¾ç¤ºè¯¥å€¼ã€‚"
-#: C/index-in.docbook:1119
+#: C/index-in.docbook:1127
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::"
@@ -2460,7 +2459,7 @@ msgstr ""
"<literal>value</literal> 的数值,并且会被四èˆäº”入到一ä½å°æ•°ã€‚ä½ å¯ä»¥é€šè¿‡ "
"<methodname>set_digits()</methodname> 方法æ¥æ”¹å˜æ˜¾ç¤ºçš„å°æ•°ä½æ•°ã€‚"
-#: C/index-in.docbook:1126
+#: C/index-in.docbook:1134
msgid ""
"Also, the value can be drawn in different positions relative to the trough, "
"specified by the <methodname>set_value_pos()</methodname> method."
@@ -2468,7 +2467,7 @@ msgstr ""
"å¦å¤–,通过使用 <methodname>set_value_pos()</methodname>,å¯ä»¥ä½¿å€¼æ˜¾ç¤ºåœ¨ç›¸å¯¹äºŽ"
"滑å—ä¸åŒçš„ä½ç½®ã€‚"
-#: C/index-in.docbook:1131
+#: C/index-in.docbook:1139
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1Scale.html";
"\">Reference</ulink>"
@@ -2476,7 +2475,7 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1Scale.html";
"\">å‚考</ulink>"
-#: C/index-in.docbook:1139
+#: C/index-in.docbook:1147
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 "
@@ -2487,7 +2486,7 @@ msgstr ""
"调整å‰æ–‡è®¨è®ºè¿‡çš„一些å‚æ•°ï¼Œè¿™æ ·ä½ å¯ä»¥å¾ˆæ¸…楚地看到那些å‚数是如何影å“这些部件的"
"行为方å¼çš„。"
-#: C/index-in.docbook:1154
+#: C/index-in.docbook:1162
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/range_widgets\">Source Code</ulink>"
@@ -2495,15 +2494,15 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/range_widgets\">æºä»£ç </ulink>"
-#: C/index-in.docbook:1161
+#: C/index-in.docbook:1169
msgid "Miscellaneous Widgets"
msgstr "æ‚项部件"
-#: C/index-in.docbook:1164 C/index-in.docbook:1204
+#: C/index-in.docbook:1172 C/index-in.docbook:1212
msgid "Label"
msgstr "æ ‡ç¾(Label)"
-#: C/index-in.docbook:1166
+#: C/index-in.docbook:1174
msgid ""
"Labels are the main method of placing non-editable text in windows, for "
"instance to place a title next to an <classname>Entry</classname> widget. "
@@ -2516,7 +2515,7 @@ msgstr ""
"ç¨åŽè°ƒç”¨<methodname>set_text()</methodname>或<methodname>set_markup()</"
"methodname>方法设置想è¦æ˜¾ç¤ºçš„文本。"
-#: C/index-in.docbook:1173
+#: C/index-in.docbook:1181
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."
@@ -2524,7 +2523,7 @@ msgstr ""
"æ ‡ç¾ä¼šè‡ªåŠ¨è°ƒæ•´å®½åº¦ã€‚ä½ ä¹Ÿå¯ä»¥é€šè¿‡åœ¨æ ‡ç¾é”显示的å—符串ä¸æ”¾ç½®æ¢è¡Œç¬¦(\"\\n\")æ¥ç”Ÿ"
"æˆå¤šè¡Œæ ‡ç¾ã€‚"
-#: C/index-in.docbook:1177
+#: C/index-in.docbook:1185
msgid ""
"The label text can be justified using the <methodname>set_justify()</"
"methodname> method. The widget is also capable of word-wrapping, which can "
@@ -2534,7 +2533,7 @@ msgstr ""
"还具有自动æ¢è¡ŒåŠŸèƒ½ï¼Œä½ å¯ä»¥ä½¿ç”¨<methodname>set_line_wrap()</methodname>激活"
"它。"
-#: C/index-in.docbook:1183
+#: C/index-in.docbook:1191
msgid ""
"Gtk::Label supports some simple formatting, for instance allowing you to "
"make some text bold, colored, or larger. You can do this by providing a "
@@ -2548,7 +2547,7 @@ msgstr ""
"PangoMarkupFormat.html\">Pango æ ‡è®°è¯æ³•</ulink>。例如, <code> <b>bold "
"text</b> and <s>strikethrough text</s> </code> 。"
-#: C/index-in.docbook:1192
+#: C/index-in.docbook:1200
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1Label.html";
"\">Reference</ulink>"
@@ -2556,7 +2555,7 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1Label.html";
"\">å‚考</ulink>"
-#: C/index-in.docbook:1195
+#: C/index-in.docbook:1203
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 "
@@ -2570,7 +2569,7 @@ msgstr ""
"link>)ä»…å½“ä½ æŒ‰<keycap>Alt</keycap>键时,<literal>m_Label_Normal</literal>的第"
"一个å—符æ‰æ˜¾ç¤ºä¸ºä¸‹åˆ’çº¿çš„æ ·å¼ã€‚"
-#: C/index-in.docbook:1210
+#: C/index-in.docbook:1218
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/label\">Source Code</ulink>"
@@ -2578,15 +2577,15 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/label\">æºä»£ç </ulink>"
-#: C/index-in.docbook:1217 C/index-in.docbook:1274
+#: C/index-in.docbook:1225 C/index-in.docbook:1282
msgid "Entry"
msgstr "æ¡ç›®(Entry)"
-#: C/index-in.docbook:1220
+#: C/index-in.docbook:1228
msgid "Simple Use"
msgstr "简易用法"
-#: C/index-in.docbook:1222
+#: C/index-in.docbook:1230
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 "
@@ -2596,7 +2595,7 @@ msgstr ""
"改部件当å‰çš„内容,还å¯ä»¥ä½¿ç”¨<methodname>get_text()</methodname>方法读å–当å‰çš„"
"内容。"
-#: C/index-in.docbook:1227
+#: C/index-in.docbook:1235
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 "
@@ -2606,7 +2605,7 @@ msgstr ""
"<methodname>set_editable()</methodname>æ–¹æ³•ä¼ é€’<literal>false</literal>åšåˆ°è¿™"
"点。"
-#: C/index-in.docbook:1233
+#: C/index-in.docbook:1241
msgid ""
"For the input of passwords, passphrases and other information you don't want "
"echoed on the screen, calling <methodname>set_visibility()</methodname> with "
@@ -2616,7 +2615,7 @@ msgstr ""
"<methodname>set_visibility()</methodname>æ–¹æ³•ä¼ é€’<literal>false</literal>使输"
"入文本被éšè—。"
-#: C/index-in.docbook:1239
+#: C/index-in.docbook:1247
msgid ""
"You might want to be notified whenever the user types in a text entry "
"widget. <classname>Gtk::Entry</classname> provides two signals, "
@@ -2643,7 +2642,7 @@ msgstr ""
"linkend=\"sec-comboboxentry\">带有æ¡ç›®çš„组åˆæ¡†</link>å°ç»“包å«äº†ä½¿ç”¨è¿™äº›ä¿¡å·çš„"
"示例程åºã€‚"
-#: C/index-in.docbook:1254
+#: C/index-in.docbook:1262
msgid ""
"If you pass <literal>true</literal> to the "
"<methodname>set_activates_default()</methodname> method, pressing "
@@ -2663,7 +2662,7 @@ msgstr ""
"<methodname>Gtk::Widget::set_can_default()</methodname>和<methodname>Gtk::"
"Widget::grab_default()</methodname>。"
-#: C/index-in.docbook:1264
+#: C/index-in.docbook:1272
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1Entry.html";
"\">Reference</ulink>"
@@ -2671,11 +2670,11 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1Entry.html";
"\">å‚考</ulink>"
-#: C/index-in.docbook:1266
+#: C/index-in.docbook:1274
msgid "Simple Entry Example"
msgstr "简å•çš„æ¡ç›®ç¤ºä¾‹"
-#: C/index-in.docbook:1267
+#: C/index-in.docbook:1275
msgid ""
"This example uses <classname>Gtk::Entry</classname>. It also has two "
"<classname>CheckButton</classname>s, with which you can toggle the editable "
@@ -2685,7 +2684,7 @@ msgstr ""
"<classname>CheckButton</classname>ï¼Œä½ å¯ä»¥ä½¿ç”¨ä»–们切æ¢æ¡ç›®éƒ¨ä»¶çš„å¯è§æ€§å’Œå¯ç¼–"
"è¾‘æ€§æ ‡å¿—ã€‚"
-#: C/index-in.docbook:1280
+#: C/index-in.docbook:1288
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/entry/simple\">Source Code</ulink>"
@@ -2693,11 +2692,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/entry/simple\">æºä»£ç </ulink>"
-#: C/index-in.docbook:1287 C/index-in.docbook:1321
+#: C/index-in.docbook:1295 C/index-in.docbook:1329
msgid "Entry Completion"
msgstr "æ¡ç›®è¡¥å…¨(Entry Completion)"
-#: C/index-in.docbook:1288
+#: C/index-in.docbook:1296
msgid ""
"An <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 "
@@ -2706,7 +2705,7 @@ msgstr ""
"<classname>Entry</classname>æ¡ç›®ç»„件å¯ä»¥é€šè¿‡ç”¨æˆ·è¾“入的å‰å‡ 个å—符æ供预先准备"
"好选项的下拉列表。例如,在æœç´¢å¯¹è¯æ¡†ä¸æ供以å‰è¾“入过的文本作为建议。"
-#: C/index-in.docbook:1293
+#: C/index-in.docbook:1301
msgid ""
"To enable this functionality, you must create an <classname>EntryCompletion</"
"classname> object, and provide it to the <classname>Entry</classname> widget "
@@ -2716,7 +2715,7 @@ msgstr ""
"使用<classname>Entry</classname>部件的<methodname>set_completion()</"
"methodname>方法将其æ供给æ¡ç›®éƒ¨ä»¶ã€‚"
-#: C/index-in.docbook:1298
+#: C/index-in.docbook:1306
msgid ""
"The <classname>EntryCompletion</classname> may use a <classname>TreeModel</"
"classname> containing possible entries, specified with "
@@ -2729,7 +2728,7 @@ msgstr ""
"该调用<methodname>set_text_column()</methodname>指定该模型的那一行用以匹é…å¯"
"能的文本æ¡ç›®ã€‚"
-#: C/index-in.docbook:1304
+#: C/index-in.docbook:1312
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 "
@@ -2740,7 +2739,7 @@ msgstr ""
"<methodname>set_match_func()</methodname>æŒ‡å®šä¸€ä¸ªå›žè°ƒæ§½ã€‚è¿™åœ¨ä½ æƒ³åŒ¹é…å—符串ä¸"
"开头以外的部分的时候这会很有用。"
-#: C/index-in.docbook:1310
+#: C/index-in.docbook:1318
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1EntryCompletion.html\">Reference</ulink>"
@@ -2748,11 +2747,11 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1EntryCompletion.html\">å‚考</ulink>"
-#: C/index-in.docbook:1312
+#: C/index-in.docbook:1320
msgid "Entry Completion Example"
msgstr "æ¡ç›®è¡¥å…¨ç¤ºä¾‹"
-#: C/index-in.docbook:1313
+#: C/index-in.docbook:1321
msgid ""
"This example creates a <classname>Gtk::EntryCompletion</classname> and "
"associates it with a <classname>Gtk::Entry</classname> widget. The "
@@ -2763,7 +2762,7 @@ msgstr ""
"<classname>Gtk::Entry</classname>相关è”。补全使用了一个包å«äº†å¯èƒ½æ¡ç›®çš„"
"<classname>Gtk::TreeModel</classname>以åŠä¸€äº›å…¶ä»–çš„é¢å¤–çš„æ“作。"
-#: C/index-in.docbook:1327
+#: C/index-in.docbook:1335
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/entry/completion\">Source Code</ulink>"
@@ -2771,11 +2770,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/entry/completion\">æºä»£ç </ulink>"
-#: C/index-in.docbook:1333
+#: C/index-in.docbook:1341
msgid "Entry Icons"
msgstr "æ¡ç›®å›¾æ ‡"
-#: C/index-in.docbook:1334
+#: C/index-in.docbook:1342
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 "
@@ -2790,11 +2789,11 @@ msgstr ""
"æ ‡ã€‚åº”ç”¨ç¨‹åºå¯ä»¥é€šè¿‡å“应<methodname>signal_icon_press</methodname>ä¿¡å·æ¥å¤„ç†"
"ç”¨æˆ·æŒ‰ä¸‹å›¾æ ‡äº‹ä»¶ã€‚"
-#: C/index-in.docbook:1341
+#: C/index-in.docbook:1349
msgid "Entry Icon Example"
msgstr "æ¡ç›®å›¾æ ‡ç¤ºä¾‹"
-#: C/index-in.docbook:1342
+#: C/index-in.docbook:1350
msgid ""
"This example shows a <classname>Gtk::Entry</classname> widget with a named "
"search icon, and prints text to the terminal when the icon is pressed."
@@ -2802,11 +2801,11 @@ msgstr ""
"这个示例显示带有具åæœç´¢å›¾æ ‡çš„<classname>Gtk::Entry</classname>部件,并且在按"
"ä¸‹è¿™ä¸ªå›¾æ ‡çš„æ—¶å€™å°†è¯¥å称打å°åˆ°ç»ˆç«¯ä¸Šã€‚"
-#: C/index-in.docbook:1348
+#: C/index-in.docbook:1356
msgid "Entry with Icon"
msgstr "å¸¦å›¾æ ‡çš„æ¡ç›®"
-#: C/index-in.docbook:1354
+#: C/index-in.docbook:1362
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/entry/icon\">Source Code</ulink>"
@@ -2814,11 +2813,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/entry/icon\">æºä»£ç </ulink>"
-#: C/index-in.docbook:1360
+#: C/index-in.docbook:1368
msgid "Entry Progress"
msgstr "æ¡ç›®è¿›åº¦"
-#: C/index-in.docbook:1361
+#: C/index-in.docbook:1369
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 "
@@ -2830,21 +2829,21 @@ msgstr ""
"<methodname>set_progress_pulse_step()</methodname>方法被调用的时候进度æ¡å°†æ˜¾"
"示出æ¥ã€‚"
-#: C/index-in.docbook:1366
+#: C/index-in.docbook:1374
msgid "Entry Progress Example"
msgstr "æ¡ç›®è¿›åº¦ç¤ºä¾‹"
-#: C/index-in.docbook:1367
+#: C/index-in.docbook:1375
msgid ""
"This example shows a <classname>Gtk::Entry</classname> widget with a "
"progress bar."
msgstr "这个示例显示一个带有进度æ¡çš„<classname>Gtk::Entry</classname>部件。"
-#: C/index-in.docbook:1373
+#: C/index-in.docbook:1381
msgid "Entry with Progress Bar"
msgstr "带有进度æ¡çš„æ¡ç›®"
-#: C/index-in.docbook:1379
+#: C/index-in.docbook:1387
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/entry/progress\">Source Code</ulink>"
@@ -2852,11 +2851,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/entry/progress\">æºä»£ç </ulink>"
-#: C/index-in.docbook:1387 C/index-in.docbook:1509
+#: C/index-in.docbook:1395 C/index-in.docbook:1517
msgid "SpinButton"
msgstr "微调按钮(SpinButton)"
-#: C/index-in.docbook:1389
+#: C/index-in.docbook:1397
msgid ""
"A <classname>SpinButton</classname> allows the user to select a value from a "
"range of numeric values. It has an <classname>Entry</classname> widget with "
@@ -2870,7 +2869,7 @@ msgstr ""
"值在å¯èƒ½çš„范围内“旋转â€ã€‚ä½ ä¹Ÿå¯ä»¥ç›´æŽ¥åœ¨<classname>Entry</classname>部件ä¸è¾“å…¥"
"一个值。"
-#: C/index-in.docbook:1397
+#: C/index-in.docbook:1405
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' "
@@ -2881,37 +2880,37 @@ msgstr ""
"这个值的å°æ•°ä½å¯ä»¥è¿›è¡Œè°ƒæ•´ï¼Œæ¥é•¿ä¹Ÿå¯ä»¥è¿›è¡Œé…置。<classname>SpinButton</"
"classname>具有“自动é‡å¤â€åŠŸèƒ½ï¼šé•¿æŒ‰é€’增ã€é€’å‡æŒ‰é’®è¯¥å€¼çš„å˜åŒ–速度会越æ¥è¶Šå¿«ã€‚"
-#: C/index-in.docbook:1412
+#: C/index-in.docbook:1420
msgid "<literal>value</literal>: value for the Spin Button"
msgstr "<literal>value</literal>:微调按钮的值"
-#: C/index-in.docbook:1418
+#: C/index-in.docbook:1426
msgid "<literal>lower</literal>: lower range value"
msgstr "<literal>lower</literal>:微调按钮å…许的最å°å€¼"
-#: C/index-in.docbook:1424
+#: C/index-in.docbook:1432
msgid "<literal>upper</literal>: upper range value"
msgstr "<literal>upper</literal>:微调按钮å…许的最大值"
-#: C/index-in.docbook:1429
+#: C/index-in.docbook:1437
msgid ""
"<literal>step_increment</literal>: value to increment/decrement when "
"pressing mouse button 1"
msgstr ""
"<literal>step_increment</literal>ï¼šé¼ æ ‡é”®1(通常是左键)点击一下递增/递å‡çš„值"
-#: C/index-in.docbook:1436
+#: C/index-in.docbook:1444
msgid ""
"<literal>page_increment</literal>: value to increment/decrement when "
"pressing mouse button 2"
msgstr ""
"<literal>page_increment</literal>ï¼šé¼ æ ‡é”®2(通常是å³é”®)点击一下递增/递å‡çš„值"
-#: C/index-in.docbook:1443
+#: C/index-in.docbook:1451
msgid "<literal>page_size</literal>: unused"
msgstr "<literal>page_size</literal>:目å‰æ²¡ä½œç”¨"
-#: C/index-in.docbook:1404
+#: C/index-in.docbook:1412
msgid ""
"<classname>SpinButton</classname>s use an <link linkend=\"chapter-adjustment"
"\">Adjustment</link> object to hold information about the range of values. "
@@ -2922,7 +2921,7 @@ msgstr ""
"æ•´(Adjustment)</link>对象ä¿å˜å€¼çš„范围信æ¯ã€‚下述调整属性由微调按钮使用:<_:"
"itemizedlist-1/>"
-#: C/index-in.docbook:1451
+#: C/index-in.docbook:1459
msgid ""
"Additionally, mouse button 3 can be used to jump directly to the "
"<literal>upper</literal> or <literal>lower</literal> values."
@@ -2930,7 +2929,7 @@ msgstr ""
"å¦å¤–ï¼Œé¼ æ ‡é”®3(通常是ä¸é”®)用于直接跳到<literal>upper</literal>或"
"<literal>lower</literal> values。"
-#: C/index-in.docbook:1456
+#: C/index-in.docbook:1464
msgid ""
"The <classname>SpinButton</classname> can create a default "
"<classname>Adjustment</classname>, which you can access via the "
@@ -2943,14 +2942,14 @@ msgstr ""
"classname>,也å¯ä»¥é€šè¿‡<classname>SpinButton</classname>çš„æž„é€ å‡½æ•°ç›´æŽ¥ä½¿ç”¨ä¸€ä¸ª"
"å·²ç»å˜åœ¨çš„<classname>Adjustment</classname>。"
-#: C/index-in.docbook:1466
+#: C/index-in.docbook:1474
msgid ""
"The number of decimal places can be altered using the "
"<methodname>set_digits()</methodname> method."
msgstr ""
"数值的å°æ•°ä½å¯ä»¥ä½¿ç”¨<methodname>set_digits()</methodname>方法进行调整。"
-#: C/index-in.docbook:1471
+#: C/index-in.docbook:1479
msgid ""
"You can set the spinbutton's value using the <methodname>set_value()</"
"methodname> method, and retrieve it with <methodname>get_value()</"
@@ -2959,7 +2958,7 @@ msgstr ""
"ä½ å¯ä»¥ä½¿ç”¨<methodname>set_value()</methodname>方法设置微调按钮的值,也å¯ä»¥ä½¿"
"用<methodname>get_value()</methodname>方法获得微调按钮的值。"
-#: C/index-in.docbook:1476
+#: C/index-in.docbook:1484
msgid ""
"The <methodname>spin()</methodname> method 'spins' the "
"<classname>SpinButton</classname>, as if its increment or decrement button "
@@ -2970,7 +2969,7 @@ msgstr ""
"ä¼ é€’ä¸€ä¸ª<classname>Gtk::SpinType</classname>对象给该方法以指定是递增还是递"
"å‡ã€‚"
-#: C/index-in.docbook:1483
+#: C/index-in.docbook:1491
msgid ""
"To prevent the user from typing non-numeric characters into the entry box, "
"pass <literal>true</literal> to the <methodname>set_numeric()</methodname> "
@@ -2979,7 +2978,7 @@ msgstr ""
"å°†<literal>true</literal>ä¼ é€’ç»™<methodname>set_numeric()</methodname>方法å¯ä»¥"
"阻æ¢ç”¨æˆ·åœ¨æ¡ç›®æ¡†å†…输入éžæ•°å—å—符。"
-#: C/index-in.docbook:1488
+#: C/index-in.docbook:1496
msgid ""
"To make the <classname>SpinButton</classname> 'wrap' between its upper and "
"lower bounds, use the <methodname>set_wrap()</methodname> method."
@@ -2987,7 +2986,7 @@ msgstr ""
"使用<methodname>set_wrap()</methodname>方法指定<classname>SpinButton</"
"classname>的值到达上下é™çš„时候是å¦ç»•å›žã€‚"
-#: C/index-in.docbook:1493
+#: C/index-in.docbook:1501
msgid ""
"To force it to snap to the nearest <literal>step_increment</literal>, use "
"<methodname>set_snap_to_ticks()</methodname>."
@@ -2996,7 +2995,7 @@ msgstr ""
"æ•ˆå€¼çš„æ—¶å€™å¼ºåˆ¶æ ¡æ£åˆ°æœ€æŽ¥è¿‘<literal>step_increment</literal>ç–ç•¥å¯è¾¾åˆ°çš„有效"
"值。"
-#: C/index-in.docbook:1498
+#: C/index-in.docbook:1506
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1SpinButton.html\">Reference</ulink>"
@@ -3004,11 +3003,11 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1SpinButton.html\">å‚考</ulink>"
-#: C/index-in.docbook:1504
+#: C/index-in.docbook:1512
msgid "Here's an example of a <classname>SpinButton</classname> in action:"
msgstr "这是一个使用<classname>SpinButton</classname>的示例:"
-#: C/index-in.docbook:1515
+#: C/index-in.docbook:1523
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/spinbutton\">Source Code</ulink>"
@@ -3016,11 +3015,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/spinbutton\">æºä»£ç </ulink>"
-#: C/index-in.docbook:1522 C/index-in.docbook:1570
+#: C/index-in.docbook:1530 C/index-in.docbook:1578
msgid "ProgressBar"
msgstr "进度æ¡(ProgressBar)"
-#: C/index-in.docbook:1524
+#: C/index-in.docbook:1532
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 "
@@ -3029,7 +3028,7 @@ msgstr ""
"进度æ¡ç”¨äºŽæ˜¾ç¤ºæ£åœ¨è¿›è¡Œçš„æ“作的状æ€ã€‚例如,<classname>ProgressBar</classname>"
"å¯ä»¥ç”¨äºŽæ˜¾ç¤ºå·²ç»æœ‰å¤šå°‘任务被完æˆã€‚"
-#: C/index-in.docbook:1530
+#: C/index-in.docbook:1538
msgid ""
"To change the value shown, use the <methodname>set_fraction()</methodname> "
"method, passing a <type>double</type> between 0.0 and 1.0 to provide the new "
@@ -3038,7 +3037,7 @@ msgstr ""
"è¦ä¿®æ”¹æ˜¾ç¤ºçš„值,请调用<methodname>set_fraction()</methodname>方法,å‘è¯¥æ–¹æ³•ä¼ "
"递一个0.0到1.0之间的<type>double</type>值。"
-#: C/index-in.docbook:1535
+#: C/index-in.docbook:1543
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 "
@@ -3047,7 +3046,7 @@ msgstr ""
"<classname>ProgressBar</classname>默认是水平且从左å‘å³çš„ï¼Œä½†æ˜¯ä½ å¯ä»¥ä½¿ç”¨"
"<methodname>set_orientation()</methodname>方法æ¥æ”¹å˜è¿™ä¸ªè¡Œä¸ºã€‚"
-#: C/index-in.docbook:1541
+#: C/index-in.docbook:1549
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1ProgressBar.html\">Reference</ulink>"
@@ -3055,11 +3054,11 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1ProgressBar.html\">å‚考</ulink>"
-#: C/index-in.docbook:1544
+#: C/index-in.docbook:1552
msgid "Activity Mode"
msgstr "活动模å¼"
-#: C/index-in.docbook:1545
+#: C/index-in.docbook:1553
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 "
@@ -3074,7 +3073,7 @@ msgstr ""
"度æ¡æ˜¾ç¤ºä¸€ä¸ªå°çŸ©å½¢ï¼Œè¯¥çŸ©å½¢å¯ä»¥åœ¨è¿›åº¦æ¡å†…å‰åŽç§»åŠ¨ã€‚活动模å¼åœ¨æ— 法确定æ“作的进"
"度的时候很有用(例如,接å—一个长度未知的文件)。"
-#: C/index-in.docbook:1555
+#: C/index-in.docbook:1563
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 "
@@ -3083,7 +3082,7 @@ msgstr ""
"为æ¤ï¼Œä½ 还需è¦å®šæ—¶è°ƒç”¨<methodname>pulse()</methodname>æ–¹æ³•ã€‚ä½ è¿˜å¯ä»¥ä½¿ç”¨"
"<methodname>set_pulse_step()</methodname>方法控制矩形的移动æ¥é•¿ã€‚"
-#: C/index-in.docbook:1561
+#: C/index-in.docbook:1569
msgid ""
"The progress bar can also display a configurable text string next to the "
"bar, using the <methodname>set_text()</methodname> method."
@@ -3091,7 +3090,7 @@ msgstr ""
"进度æ¡è¿˜å¯ä»¥ä½¿ç”¨<methodname>set_text()</methodname>方法æ¥åœ¨å…¶è¾¹ä¸Šæ˜¾ç¤ºå¯é…置的"
"文本å—符串。"
-#: C/index-in.docbook:1576
+#: C/index-in.docbook:1584
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/progressbar\">Source Code</ulink>"
@@ -3099,11 +3098,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/progressbar\">æºä»£ç </ulink>"
-#: C/index-in.docbook:1584 C/index-in.docbook:1594
+#: C/index-in.docbook:1592 C/index-in.docbook:1602
msgid "InfoBar"
msgstr "ä¿¡æ¯æ (InfoBar)"
-#: C/index-in.docbook:1586
+#: C/index-in.docbook:1594
msgid ""
"An <classname>InfoBar</classname> may show small items of information or ask "
"brief questions. Unlike a <classname>Dialog</classname>, it appears at the "
@@ -3114,7 +3113,7 @@ msgstr ""
"示在窗å£çš„顶部而ä¸æ˜¯å’Œ<classname>Dialog</classname>ä¸€æ ·æ‰“å¼€ä¸€ä¸ªæ–°çš„çª—å£ã€‚但是"
"ä»–çš„APIå’Œ<link linkend=\"chapter-dialogs\">Gtk::Dialog</link>çš„APIå分相似。"
-#: C/index-in.docbook:1589
+#: C/index-in.docbook:1597
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1InfoBar.";
"html\">Reference</ulink>"
@@ -3122,7 +3121,7 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1InfoBar.";
"html\">å‚考</ulink>"
-#: C/index-in.docbook:1600
+#: C/index-in.docbook:1608
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/infobar\">Source Code</ulink>"
@@ -3130,11 +3129,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/infobar\">æºä»£ç </ulink>"
-#: C/index-in.docbook:1607
+#: C/index-in.docbook:1615
msgid "Tooltips"
msgstr "工具æ示框(Tooltips)"
-#: C/index-in.docbook:1609
+#: C/index-in.docbook:1617
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()</"
@@ -3147,7 +3146,7 @@ msgstr ""
"classname>设置一个文本å—符串作为æ示。<classname>Gtk::Tooltip</classname>被用"
"作更高级的æ示工具,例如显示图åƒå’Œæ–‡æœ¬ã€‚"
-#: C/index-in.docbook:1618
+#: C/index-in.docbook:1626
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1Widget.";
"html\">Widget Reference</ulink>"
@@ -3155,7 +3154,7 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1Widget.";
"html\">部件å‚考</ulink>"
-#: C/index-in.docbook:1619
+#: C/index-in.docbook:1627
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1Tooltip.";
"html\">Tooltip Reference</ulink>"
@@ -3163,11 +3162,11 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1Tooltip.";
"html\">工具æ示框å‚考</ulink>"
-#: C/index-in.docbook:1624
+#: C/index-in.docbook:1632
msgid "Tooltip"
msgstr "工具æ示框(Tooltip)"
-#: C/index-in.docbook:1630
+#: C/index-in.docbook:1638
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/tooltips\">Source Code</ulink>"
@@ -3175,11 +3174,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/tooltips\">æºä»£ç </ulink>"
-#: C/index-in.docbook:1639
+#: C/index-in.docbook:1647
msgid "Container Widgets"
msgstr "容器(Container)部件"
-#: C/index-in.docbook:1641
+#: C/index-in.docbook:1649
msgid ""
"Container widgets, like other widgets, derive from <classname>Gtk::Widget</"
"classname>. Some container widgets, such as <classname>Gtk::Grid</classname> "
@@ -3192,11 +3191,11 @@ msgstr ""
"们具有更为å¤æ‚的接å£ã€‚还有些容器部件åªèƒ½å®¹çº³ä¸€ä¸ªå部件,例如<classname>Gtk::"
"Frame</classname>"
-#: C/index-in.docbook:1649
+#: C/index-in.docbook:1657
msgid "Single-item Containers"
msgstr "å•é¡¹å®¹å™¨"
-#: C/index-in.docbook:1651
+#: C/index-in.docbook:1659
msgid ""
"Most single-item container widgets have <methodname>set_child()</methodname> "
"and <methodname>unset_child()</methodname> methods for the child widget. "
@@ -3209,7 +3208,7 @@ msgstr ""
"classname>å’Œ<classname>Gtk::Window</classname>从技术上æ¥è¯´æ˜¯å•é¡¹å®¹å™¨ï¼Œä½†æ˜¯æˆ‘"
"们已ç»åœ¨å…¶ä»–地方讨论过它们。"
-#: C/index-in.docbook:1658
+#: C/index-in.docbook:1666
msgid ""
"We also discuss the <classname>Gtk::Paned</classname> widget, which allows "
"you to divide a window into two separate \"panes\". This widget actually "
@@ -3219,11 +3218,11 @@ msgstr ""
"çš„\"çª—æ ¼\",这个部件实际上å¯ä»¥åŒ…å«ä¸¤ä¸ªå部件,但是他åªèƒ½åŒ…å«å›ºå®šæ•°é‡çš„部件,"
"å› æ¤ä¹Ÿå°†å…¶ç§°ä¸ºå•é¡¹å®¹å™¨ã€‚"
-#: C/index-in.docbook:1665 C/index-in.docbook:1679
+#: C/index-in.docbook:1673 C/index-in.docbook:1687
msgid "Frame"
msgstr "框架(Frame)"
-#: C/index-in.docbook:1667
+#: C/index-in.docbook:1675
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>ToggleButton</"
@@ -3234,7 +3233,7 @@ msgstr ""
"组<classname>ToggleButton</classname>或者<classname>CheckButton</classname>放"
"入一个<classname>Frame</classname>ä¸ã€‚"
-#: C/index-in.docbook:1674
+#: C/index-in.docbook:1682
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1Frame.html";
"\">Reference</ulink>"
@@ -3242,7 +3241,7 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1Frame.html";
"\">å‚考</ulink>"
-#: C/index-in.docbook:1685
+#: C/index-in.docbook:1693
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/frame\">Source Code</ulink>"
@@ -3250,11 +3249,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/frame\">æºä»£ç </ulink>"
-#: C/index-in.docbook:1693 C/index-in.docbook:1719
+#: C/index-in.docbook:1701 C/index-in.docbook:1727
msgid "Paned"
msgstr "çª—æ ¼(Paned)"
-#: C/index-in.docbook:1695
+#: C/index-in.docbook:1703
msgid ""
"Panes divide a widget into two halves, separated by a moveable divider. The "
"two halves (panes) can be oriented either horizontally (side by side) or "
@@ -3263,7 +3262,7 @@ msgstr ""
"çª—æ ¼ç”¨ä¸€ä¸ªå¯ç§»åŠ¨çš„分隔符将一个部件一分为二。其å¯ä»¥æ°´å¹³ï¼ˆä½¿ä¸¤ä¸ªçª—æ ¼å¹¶æŽ’ï¼‰ä¹Ÿå¯"
"ä»¥ç«–ç›´ï¼ˆä½¿ä¸¤ä¸ªçª—æ ¼ä¸€ä¸ªåœ¨å¦ä¸€ä¸ªä¹‹ä¸Šï¼‰çš„分隔部件。"
-#: C/index-in.docbook:1701
+#: C/index-in.docbook:1709
msgid ""
"Unlike the other widgets in this section, pane widgets contain not one but "
"two child widgets, one in each pane. Therefore, you should use "
@@ -3275,7 +3274,7 @@ msgstr ""
"<methodname>set_end_child()</methodname>替代<methodname>set_child()</"
"methodname>方法。"
-#: C/index-in.docbook:1708
+#: C/index-in.docbook:1716
msgid ""
"You can adjust the position of the divider using the "
"<methodname>set_position()</methodname> method, and you will probably need "
@@ -3284,7 +3283,7 @@ msgstr ""
"å¦‚æžœä½ éœ€è¦ï¼Œä½ å¯ä»¥ä½¿ç”¨<methodname>set_position()</methodname>调整分割线的ä½"
"置。"
-#: C/index-in.docbook:1714
+#: C/index-in.docbook:1722
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1Paned.html";
"\">Reference</ulink>"
@@ -3292,7 +3291,7 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1Paned.html";
"\">å‚考</ulink>"
-#: C/index-in.docbook:1725
+#: C/index-in.docbook:1733
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/paned\">Source Code</ulink>"
@@ -3300,11 +3299,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/paned\">æºä»£ç </ulink>"
-#: C/index-in.docbook:1732 C/index-in.docbook:1764
+#: C/index-in.docbook:1740 C/index-in.docbook:1772
msgid "ScrolledWindow"
msgstr "滚动窗å£"
-#: C/index-in.docbook:1734
+#: C/index-in.docbook:1742
msgid ""
"<classname>ScrolledWindow</classname> widgets create a scrollable area. You "
"can insert any type of widget into a <classname>ScrolledWindow</classname>, "
@@ -3317,7 +3316,7 @@ msgstr ""
"都å¯ä»¥é€šè¿‡æ»šåŠ¨æ¡æ¥è®¿é—®å®ƒã€‚请注æ„虽然<classname>ScrolledWindow</classname>çš„å"
"称åƒæ˜¯<classname>Gtk::Window</classname>çš„è¡ç”Ÿéƒ¨ä»¶ï¼Œä½†å…¶å®žä¸æ˜¯ã€‚"
-#: C/index-in.docbook:1743
+#: C/index-in.docbook:1751
msgid ""
"Scrolled windows have <emphasis>scrollbar policies</emphasis> which "
"determine whether the <classname>Scrollbar</classname>s will be displayed. "
@@ -3337,7 +3336,7 @@ msgstr ""
"候,åªæœ‰åœ¨è¢«åŒ…å«çš„部件大于å¯è§åŒºåŸŸçš„时候滚动æ¡æ‰ä¼šè¢«æ˜¾ç¤ºå‡ºæ¥ã€‚而"
"<literal>Gtk::PolicyType::ALWAYS</literal>将使滚动æ¡å§‹ç»ˆæ˜¾ç¤ºã€‚"
-#: C/index-in.docbook:1755
+#: C/index-in.docbook:1763
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1ScrolledWindow.html\">Reference</ulink>"
@@ -3345,7 +3344,7 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1ScrolledWindow.html\">å‚考</ulink>"
-#: C/index-in.docbook:1759
+#: C/index-in.docbook:1767
msgid ""
"Here is a simple example that packs 100 toggle buttons into a "
"ScrolledWindow. Try resizing the window to see the scrollbars react."
@@ -3353,7 +3352,7 @@ msgstr ""
"这是一个简å•çš„示例,其将100个开关按钮放入滚动窗å£ä¸ã€‚ä½ å¯ä»¥å°è¯•è°ƒæ•´çª—å£çš„大"
"å°ï¼Œä»¥æŸ¥çœ‹æ»šåŠ¨æ¡çš„å应。"
-#: C/index-in.docbook:1770
+#: C/index-in.docbook:1778
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/scrolledwindow\">Source Code</ulink>"
@@ -3361,11 +3360,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/scrolledwindow\">æºä»£ç </ulink>"
-#: C/index-in.docbook:1777 C/index-in.docbook:1799
+#: C/index-in.docbook:1785 C/index-in.docbook:1807
msgid "AspectFrame"
msgstr "定比框架(AspectFrame)"
-#: C/index-in.docbook:1779
+#: C/index-in.docbook:1787
msgid ""
"The <classname>AspectFrame</classname> widget looks like a <classname>Frame</"
"classname> widget, but it also enforces the <emphasis>aspect ratio</"
@@ -3379,7 +3378,7 @@ msgstr ""
"ä¿æŒä¸å˜ã€‚并在有必è¦çš„æ—¶å€™æ·»åŠ é¢å¤–的空间。例如,这将å…è®¸ä½ æ˜¾ç¤ºç…§ç‰‡å¹¶ä¸”æ— éœ€åœ¨"
"用户调整窗å£å¤§å°çš„时候对照片进行水平/åž‚ç›´å˜å½¢ã€‚"
-#: C/index-in.docbook:1788
+#: C/index-in.docbook:1796
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1AspectFrame.html\">Reference</ulink>"
@@ -3387,7 +3386,7 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1AspectFrame.html\">å‚考</ulink>"
-#: C/index-in.docbook:1792
+#: C/index-in.docbook:1800
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 "
@@ -3396,7 +3395,7 @@ msgstr ""
"下é¢çš„程åºä½¿ç”¨<classname>Gtk::AspectFrame</classname>æ˜¾ç¤ºä¸€ä¸ªç»˜å›¾åŒºåŸŸï¼Œæ— è®ºç”¨"
"户如何调整顶层窗å£å¤§å°å®½é«˜æ¯”ä¾æ—§ä¿æŒ2:1。"
-#: C/index-in.docbook:1805
+#: C/index-in.docbook:1813
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/aspectframe\">Source Code</ulink>"
@@ -3404,11 +3403,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/aspectframe\">æºä»£ç </ulink>"
-#: C/index-in.docbook:1812
+#: C/index-in.docbook:1820
msgid "Other Single-item Containers"
msgstr "其他å•é¡¹å®¹å™¨"
-#: C/index-in.docbook:1814
+#: C/index-in.docbook:1822
msgid ""
"There are other single-item containers. See the reference documentation for "
"a complete list. Here are links to some example programs that show "
@@ -3417,7 +3416,7 @@ msgstr ""
"还有其他的å•é¡¹å®¹å™¨ã€‚请å‚阅å‚考文档获å–完整列表。这里是一些本教程其他地方未曾"
"æåŠçš„显示容器的示例程åºçš„链接。"
-#: C/index-in.docbook:1820
+#: C/index-in.docbook:1828
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/expander\">Source Code, Expander</ulink>"
@@ -3425,7 +3424,7 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/expander\">扩展器(Expander)æºä»£ç </ulink>"
-#: C/index-in.docbook:1821
+#: C/index-in.docbook:1829
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/popover\">Source Code, Popover</ulink>"
@@ -3433,11 +3432,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/popover\">气泡(Popover)æºä»£ç </ulink>"
-#: C/index-in.docbook:1828
+#: C/index-in.docbook:1836
msgid "Multiple-item Containers"
msgstr "多项容器"
-#: C/index-in.docbook:1830
+#: C/index-in.docbook:1838
msgid ""
"Multiple-item container widgets have other methods than "
"<methodname>set_child()</methodname> and <methodname>unset_child()</"
@@ -3455,11 +3454,11 @@ msgstr ""
"方法。多项容器的<methodname>remove()</methodname>方法需è¦ä¼ 入一个用于指示需è¦"
"åˆ é™¤çš„éƒ¨ä»¶çš„å‚数。"
-#: C/index-in.docbook:1840
+#: C/index-in.docbook:1848
msgid "Packing"
msgstr "组装(Packing)"
-#: C/index-in.docbook:1841
+#: C/index-in.docbook:1849
msgid ""
"You've probably noticed that <application>gtkmm</application> windows seem "
"\"elastic\" - they can usually be stretched in many different ways. This is "
@@ -3469,7 +3468,7 @@ msgstr ""
"通常å¯ä»¥ä»¥ä¸åŒæ–¹å¼è¿›è¡Œæ‹‰ä¼¸ã€‚这是<emphasis>部件装填(widget packing)</emphasis>"
"系统在起作用。"
-#: C/index-in.docbook:1846
+#: C/index-in.docbook:1854
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 "
@@ -3478,7 +3477,7 @@ msgstr ""
"许多GUI工具包使用å¯è§†åŒ–编辑器的时候都è¦æ±‚ä½ ä½¿ç”¨éƒ¨ä»¶ç›¸å¯¹äºŽçª—å£çš„ç»å¯¹ä½ç½®ã€‚这将"
"å¯¼è‡´ä»¥ä¸‹å‡ ä¸ªé—®é¢˜ï¼š"
-#: C/index-in.docbook:1853
+#: C/index-in.docbook:1861
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 "
@@ -3487,7 +3486,7 @@ msgstr ""
"在调整窗å£å¤§å°çš„时候部件ä¸ä¼šé‡æ–°æŽ’布自己。窗å£å˜å°çš„时候一些部件会被éšè—窗å£"
"å˜å¤§çš„æ—¶å€™ä¼šå‡ºçŽ°å¾ˆå¤šæ— ç”¨çš„ç©ºé—´ã€‚"
-#: C/index-in.docbook:1857
+#: C/index-in.docbook:1865
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 "
@@ -3497,7 +3496,7 @@ msgstr ""
"将文本翻译æˆå…¶ä»–è¯è¨€æˆ–者用其他å—ä½“æ˜¾ç¤ºçš„æ—¶å€™ï¼Œæ— æ³•é¢„æµ‹æ˜¾ç¤ºæ–‡æœ¬æ‰€éœ€è¦çš„空间。"
"而在Unix上ä¸å¯èƒ½é¢„料在æ¯ä¸ªä¸»é¢˜å’Œçª—å£ç®¡ç†å™¨ä¸‹çš„显示效果。"
-#: C/index-in.docbook:1861
+#: C/index-in.docbook:1869
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 "
@@ -3506,7 +3505,7 @@ msgstr ""
"å³æ—¶æ›´æ”¹çª—å£å¸ƒå±€ä»¥æ˜¾ç¤ºé¢å¤–的部件将会很å¤æ‚,这需è¦å¯¹æ¯ä¸ªéƒ¨ä»¶çš„ä½ç½®è¿›è¡Œç¹ççš„"
"é‡æ–°è®¡ç®—。"
-#: C/index-in.docbook:1867
+#: C/index-in.docbook:1875
msgid ""
"<application>gtkmm</application> uses the packing system to solve these "
"problems. Rather than specifying the position and size of each widget in the "
@@ -3529,7 +3528,7 @@ msgstr ""
"<application>gtkmm</application>会使用以上的信æ¯åœ¨ç”¨æˆ·æ“作窗å£çš„时候åˆç†ã€é¡º"
"畅的调整部件们的大å°å’Œä½ç½®ã€‚"
-#: C/index-in.docbook:1876
+#: C/index-in.docbook:1884
msgid ""
"<application>gtkmm</application> arranges widgets hierarchically, using "
"<emphasis>containers</emphasis>. A container widget contains other widgets. "
@@ -3546,7 +3545,7 @@ msgstr ""
"application>ä¸åŒ…括<classname>Gtk::Window</classname>在内的多数容器部件都是å•"
"项部件。"
-#: C/index-in.docbook:1885
+#: C/index-in.docbook:1893
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 "
@@ -3557,7 +3556,7 @@ msgstr ""
"呢?ç”案是通过å‘窗å£æ”¾å…¥ä¸€ä¸ªå¤šé¡¹å®¹å™¨å®žçŽ°ã€‚最åˆç†çš„部件是<classname>Gtk::"
"Grid</classname>和<classname>Gtk::Box</classname>。"
-#: C/index-in.docbook:1896
+#: C/index-in.docbook:1904
msgid ""
"<classname>Gtk::Grid</classname> arranges its child widgets in rows and "
"columns. Use <methodname>attach()</methodname> and "
@@ -3567,7 +3566,7 @@ msgstr ""
"<methodname>attach()</methodname>和<methodname>attach_next_to()</methodname>"
"方法å‘ç½‘æ ¼(Grid)部件ä¸æ’å…¥å部件。"
-#: C/index-in.docbook:1904
+#: C/index-in.docbook:1912
msgid ""
"<classname>Gtk::Box</classname> arranges its child widgets vertically or "
"horizontally. Use <methodname>append()</methodname> to insert child widgets."
@@ -3575,11 +3574,11 @@ msgstr ""
"<classname>Gtk::Box</classname>将其å部件水平或垂直排列。使用"
"<methodname>append()</methodname>方法å‘ç›’(Box)部件æ’å…¥å部件。"
-#: C/index-in.docbook:1912
+#: C/index-in.docbook:1920
msgid "There are several other containers, which we will also discuss."
msgstr "è¿˜æœ‰å‡ ä¸ªå®¹å™¨æˆ‘ä»¬å°†åœ¨ä¹‹åŽè®¨è®ºã€‚"
-#: C/index-in.docbook:1916
+#: C/index-in.docbook:1924
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 "
@@ -3588,22 +3587,22 @@ msgstr ""
"å¦‚æžœä½ ä¹‹å‰ä»Žæœªä½¿ç”¨ç»„装工具包,那å¯èƒ½éœ€è¦ä¸€æ®µæ—¶é—´æ¥é€‚应它。然åŽä½ 会å‘çŽ°ä½ ä¸éœ€"
"è¦å’Œä½¿ç”¨å…¶ä»–å·¥å…·åŒ…ä¸€æ ·ä¾èµ–å¯è§†åŒ–编辑工具。"
-#: C/index-in.docbook:1926
+#: C/index-in.docbook:1934
msgid "An improved Hello World"
msgstr "改进åŽçš„Hello World"
-#: C/index-in.docbook:1928
+#: C/index-in.docbook:1936
msgid ""
"Let's take a look at a slightly improved <literal>helloworld</literal>, "
"showing what we've learnt."
msgstr ""
"让我们看看改进åŽçš„<literal>helloworld</literal>,以展示我们所å¦åˆ°çš„内容。"
-#: C/index-in.docbook:1933
+#: C/index-in.docbook:1941
msgid "Hello World 2"
msgstr "Hello World 2"
-#: C/index-in.docbook:1939
+#: C/index-in.docbook:1947
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/helloworld2\">Source Code</ulink>"
@@ -3611,7 +3610,7 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/helloworld2\">æºä»£ç </ulink>"
-#: C/index-in.docbook:1941
+#: C/index-in.docbook:1949
msgid ""
"After building and running this program, try resizing the window to see the "
"behaviour. Also, try playing with <methodname>set_expand()</methodname>, "
@@ -3627,11 +3626,11 @@ msgstr ""
"<methodname>set_halign()</methodname>和<methodname>set_valign()</methodname>"
"方法。"
-#: C/index-in.docbook:1952
+#: C/index-in.docbook:1960
msgid "Boxes"
msgstr "ç›’å(Boxes)"
-#: C/index-in.docbook:1954
+#: C/index-in.docbook:1962
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 "
@@ -3644,15 +3643,15 @@ msgstr ""
"时候部件从左到å³æ°´å¹³æ’入。将部件装填到垂直盒ä¸çš„时候部件从上到下垂直æ’å…¥ã€‚ä½ "
"å¯ä»¥åœ¨ç›’ä¸æˆ–盒侧组åˆä½¿ç”¨ç›’ä»¥è¾¾åˆ°ä½ æ‰€éœ€çš„æ•ˆæžœã€‚"
-#: C/index-in.docbook:1963
+#: C/index-in.docbook:1971
msgid "Adding widgets"
msgstr "æ·»åŠ éƒ¨ä»¶"
-#: C/index-in.docbook:1964
+#: C/index-in.docbook:1972
msgid "Per-child packing options"
msgstr "å部件装填选项"
-#: C/index-in.docbook:1965
+#: C/index-in.docbook:1973
msgid ""
"The <methodname>append()</methodname> method places widgets inside these "
"containers. It will start at the top and work its way down in a "
@@ -3670,7 +3669,7 @@ msgstr ""
"<methodname>insert_child_at_start()</methodname>方法。我们将在示例ä¸ä½¿ç”¨"
"<methodname>append()</methodname>。"
-#: C/index-in.docbook:1975
+#: C/index-in.docbook:1983
msgid ""
"There are several options governing how widgets are to be packed, and this "
"can be confusing at first. You can modify the packing by using "
@@ -3691,15 +3690,15 @@ msgstr ""
"设计器,看看能ä¸èƒ½å¯¹ä½ æœ‰æ‰€å¸®åŠ©ã€‚ä½ ç”šè‡³å¯ä»¥ä½¿ç”¨<classname>Gtk::Builder</"
"classname>API在è¿è¡Œæ—¶åŠ è½½GUI。"
-#: C/index-in.docbook:1987
+#: C/index-in.docbook:1995
msgid "There are basically five different styles, as shown in this picture:"
msgstr "如图所示,有五ç§ä¸åŒçš„åŸºæœ¬æ ·å¼ã€‚"
-#: C/index-in.docbook:1993
+#: C/index-in.docbook:2001
msgid "Box Packing 1"
msgstr "组装盒1"
-#: C/index-in.docbook:1999
+#: C/index-in.docbook:2007
msgid ""
"Each line contains one horizontal <classname>Box</classname> with several "
"buttons. Each of the buttons on a line is packed into the <classname>Box</"
@@ -3714,7 +3713,7 @@ msgstr ""
"methodname>和<methodname>set_margin_end()</methodname>方法装入"
"<classname>Box</classname>。"
-#: C/index-in.docbook:2008
+#: C/index-in.docbook:2016
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1Box.html";
"\">Reference</ulink>"
@@ -3722,11 +3721,11 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1Box.html";
"\">å‚考</ulink>"
-#: C/index-in.docbook:2012
+#: C/index-in.docbook:2020
msgid "Per-container packing options"
msgstr "容器装填选项"
-#: C/index-in.docbook:2016
+#: C/index-in.docbook:2024
#, no-wrap
msgid ""
"Gtk::Box(Gtk::Orientation orientation = Gtk::Orientation::HORIZONTAL, int spacing = 0);\n"
@@ -3739,7 +3738,7 @@ msgstr ""
"void set_spacing(int spacing);\n"
"void set_homogeneous(bool homogeneous = true);"
-#: C/index-in.docbook:2013
+#: C/index-in.docbook:2021
msgid ""
"Here's the constructor for the <classname>Box</classname> widget, and "
"methods that set per-container packing options: <_:programlisting-1/> "
@@ -3754,7 +3753,7 @@ msgstr ""
"éƒ½æœ‰ä¸€æ ·çš„å¤§å°ã€‚<parameter>spacing</parameter>是æ¯ä¸ªéƒ¨ä»¶ä¹‹é—´è¦ä¿ç•™çš„最å°åƒç´ "
"数。"
-#: C/index-in.docbook:2026
+#: C/index-in.docbook:2034
msgid ""
"What's the difference between spacing (set when the box is created) and "
"margins (set separately for each child widget)? Spacing is added between "
@@ -3766,15 +3765,15 @@ msgstr ""
"åŠ é—´è·ï¼Œåœ¨éƒ¨ä»¶çš„ä¸€ä¾§æˆ–å¤šä¾§æ·»åŠ è¾¹è·ã€‚ä¸‹å›¾èƒ½ä½¿ä½ æ›´æ¸…æ¥šçš„ç†è§£è¿™ä¸€ç‚¹ã€‚所显示的边"
"è·æ˜¯è¯¥è¡Œä¸æ¯ä¸ªæŒ‰é’®çš„å·¦å³è¾¹è·ã€‚"
-#: C/index-in.docbook:2035
+#: C/index-in.docbook:2043
msgid "Box Packing 2"
msgstr "组装盒2"
-#: C/index-in.docbook:2045
+#: C/index-in.docbook:2053
msgid "Gtk::Application and command-line options"
msgstr "Gtk::Application和命令行选项"
-#: C/index-in.docbook:2046
+#: C/index-in.docbook:2054
msgid ""
"The following example program requires a command-line option. The source "
"code shows two ways of handling command-line options in combination with "
@@ -3783,7 +3782,7 @@ msgstr ""
"下é¢çš„示例程åºéœ€è¦ä¸€ä¸ªå‘½ä»¤è¡Œé€‰é¡¹ã€‚æºä»£ç 展示了两ç§<classname>Gtk::"
"Application</classname>处ç†å‘½ä»¤è¡Œé€‰é¡¹çš„æ–¹å¼ã€‚"
-#: C/index-in.docbook:2052
+#: C/index-in.docbook:2060
msgid ""
"Handle the options in <function>main()</function> and hide them from "
"<classname>Gtk::Application</classname> by setting <literal>argc = 1</"
@@ -3793,7 +3792,7 @@ msgstr ""
"literal>将他们从<classname>Gtk::Application</classname>ä¸éšè—,然åŽè°ƒç”¨"
"<methodname>Gtk::Application::run()</methodname>。"
-#: C/index-in.docbook:2058
+#: C/index-in.docbook:2066
msgid ""
"Give all command-line options to <methodname>Gtk::Application::run()</"
"methodname> and add the flag <literal>Gio::Application::Flags::"
@@ -3805,7 +3804,7 @@ msgstr ""
"<methodname>Gtk::Application::create()</methodname>æ–¹æ³•è®¾ç½®æ ‡å¿—<literal>Gio::"
"Application::Flags::HANDLES_COMMAND_LINE</literal>。"
-#: C/index-in.docbook:2065
+#: C/index-in.docbook:2073
msgid ""
"You must set the optional parameter <literal>after = false</literal> in the "
"call to <literal>signal_command_line().connect()</literal>, because your "
@@ -3822,7 +3821,7 @@ msgstr ""
"(<classname>Gio::Application</classname>是<classname>Gtk::Application</"
"classname>的基类)。"
-#: C/index-in.docbook:2078
+#: C/index-in.docbook:2086
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-"
@@ -3831,7 +3830,7 @@ msgstr ""
"这是上述截图所è¿è¡Œç¤ºä¾‹çš„æºä»£ç 。在è¿è¡Œæ¤ç¤ºä¾‹æ—¶è¯·æä¾›1到3之间的数å—作为命令行"
"选项以查看æ£åœ¨ä½¿ç”¨ä¸åŒè£…填选项的行为。"
-#: C/index-in.docbook:2081
+#: C/index-in.docbook:2089
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/box\">Source Code</ulink>"
@@ -3839,11 +3838,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/box\">æºä»£ç </ulink>"
-#: C/index-in.docbook:2087 C/index-in.docbook:2116
+#: C/index-in.docbook:2095 C/index-in.docbook:2124
msgid "Grid"
msgstr "ç½‘æ ¼(Grid)"
-#: C/index-in.docbook:2089
+#: C/index-in.docbook:2097
msgid ""
"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 "
@@ -3852,7 +3851,7 @@ msgstr ""
"<classname>Grid</classname>在行与列ä¸åŠ¨æ€çš„摆放他的å部件。ä¸éœ€è¦åœ¨å…¶æž„é€ å‡½æ•°"
"当ä¸æŒ‡å®šç»´æ•°ã€‚"
-#: C/index-in.docbook:2094
+#: C/index-in.docbook:2102
msgid ""
"Child widgets can span multiple rows or columns, using <methodname>attach()</"
"methodname>, or added next to an existing widget inside the grid with "
@@ -3867,7 +3866,7 @@ msgstr ""
"<methodname>set_column_homogeneous()</methodname>ä»¤ç½‘æ ¼ä¸æ‰€æœ‰å部件具有一致的"
"高度或宽度。"
-#: C/index-in.docbook:2101
+#: C/index-in.docbook:2109
msgid ""
"You can set the <emphasis>margin</emphasis> and <emphasis>expand</emphasis> "
"properties of the child <classname>Widget</classname>s to control their "
@@ -3876,7 +3875,7 @@ msgstr ""
"ä½ å¯ä»¥è®¾ç½®å部件的<emphasis>margin</emphasis>å’Œ<emphasis>expand</emphasis>属"
"æ€§ç”¨ä»¥æŽ§åˆ¶è°ƒæ•´ç½‘æ ¼å¤§å°æ—¶å®ƒä»¬ä¹‹é—´çš„é—´è·ã€‚"
-#: C/index-in.docbook:2105
+#: C/index-in.docbook:2113
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1Grid.html";
"\">Reference</ulink>"
@@ -3884,7 +3883,7 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1Grid.html";
"\">å‚考</ulink>"
-#: C/index-in.docbook:2108
+#: C/index-in.docbook:2116
msgid ""
"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 "
@@ -3893,7 +3892,7 @@ msgstr ""
"本示例创建一个窗å£å…¶ä¸å…·æœ‰ä¸€ä¸ªåŒ…å«ä¸‰ä¸ªæŒ‰é’®çš„ç½‘æ ¼ã€‚å‰ä¸¤ä¸ªæŒ‰é’®ä½äºŽæœ€ä¸Šè¡Œå¹¶ä»Žå·¦"
"å‘å³æŽ’列。第三个按钮ä½äºŽç¬¬ä¸€ä¸ªæŒ‰é’®çš„下方,ä½äºŽæœ€ä¸‹è¡Œå¹¶æ¨ªè·¨ä¸¤åˆ—。"
-#: C/index-in.docbook:2122
+#: C/index-in.docbook:2130
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/grid\">Source Code</ulink>"
@@ -3901,11 +3900,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/grid\">æºä»£ç </ulink>"
-#: C/index-in.docbook:2129 C/index-in.docbook:2164
+#: C/index-in.docbook:2137 C/index-in.docbook:2172
msgid "Notebook"
msgstr "笔记本(Notebook)"
-#: C/index-in.docbook:2131
+#: C/index-in.docbook:2139
msgid ""
"A <classname>Notebook</classname> has a set of stacked <literal>pages</"
"literal>, each of which contains widgets. Labelled <literal>tabs</literal> "
@@ -3918,7 +3917,7 @@ msgstr ""
"<classname>Notebook</classname>一次åªæ˜¾ç¤ºä¸€é¡µï¼Œè¿™æ ·å¯ä»¥å°†å¥½å‡ 组部件放于很å°çš„"
"空间当ä¸ã€‚例如他们ç»å¸¸åœ¨é¦–选项对è¯æ¡†ä¸ä½¿ç”¨ã€‚"
-#: C/index-in.docbook:2140
+#: C/index-in.docbook:2148
msgid ""
"Use the <methodname>append_page()</methodname>, <methodname>prepend_page()</"
"methodname> and <methodname>insert_page()</methodname> methods to add tabbed "
@@ -3929,7 +3928,7 @@ msgstr ""
"methodname>å’Œ<methodname>insert_page()</methodname>方法å¯ä»¥æ·»åŠ å¸¦æ ‡ç¾çš„页é¢åˆ°"
"<literal>Notebook</literal>ä¸ï¼Œä½ 需è¦ä¸ºè¿™äº›æ–¹æ³•æä¾›åéƒ¨ä»¶å’Œæ ‡ç¾å。"
-#: C/index-in.docbook:2147
+#: C/index-in.docbook:2155
msgid ""
"To discover the currently visible page, use the "
"<methodname>get_current_page()</methodname> method. This returns the page "
@@ -3940,7 +3939,7 @@ msgstr ""
"methodname>方法。该方法返回一个页ç ï¼Œä½ å¯ä»¥å°†é¡µç ä¼ é€’ç»™"
"<methodname>get_nth_page()</methodname>获å–指å‘该页当å‰å部件的指针。"
-#: C/index-in.docbook:2154
+#: C/index-in.docbook:2162
msgid ""
"To programmatically change the selected page, use the "
"<methodname>set_current_page()</methodname> method."
@@ -3948,7 +3947,7 @@ msgstr ""
"è¦ä»¥ç¼–程方å¼æ”¹å˜æ‰€é€‰çš„页é¢ï¼Œè¯·ä½¿ç”¨<methodname>set_current_page()</methodname>"
"方法。"
-#: C/index-in.docbook:2159
+#: C/index-in.docbook:2167
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1Notebook.";
"html\">Reference</ulink>"
@@ -3956,7 +3955,7 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1Notebook.";
"html\">å‚考</ulink>"
-#: C/index-in.docbook:2170
+#: C/index-in.docbook:2178
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/notebook/\">Source Code</ulink>"
@@ -3964,11 +3963,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/notebook/\">æºä»£ç </ulink>"
-#: C/index-in.docbook:2177 C/index-in.docbook:2204
+#: C/index-in.docbook:2185 C/index-in.docbook:2212
msgid "Assistant"
msgstr "助手(Assistant)"
-#: C/index-in.docbook:2179
+#: C/index-in.docbook:2187
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. "
@@ -3981,7 +3980,7 @@ msgstr ""
"æŒ‰é’®ï¼Œè¿™äº›æŒ‰é’®ä¼šæ ¹æ®é¡µé¢çš„类型自动更新(使用<methodname>set_page_type()</"
"methodname>设置页é¢ç±»åž‹ï¼‰ã€‚"
-#: C/index-in.docbook:2183
+#: C/index-in.docbook:2191
msgid ""
"Use the <methodname>append_page()</methodname>, <methodname>prepend_page</"
"methodname> and <methodname>insert_page()</methodname> methods to add pages "
@@ -3992,7 +3991,7 @@ msgstr ""
"methodname>å’Œ<methodname>insert_page()</methodname>方法å¯ä»¥å‘"
"<classname>Assistant</classname>æ·»åŠ é¡µé¢ï¼Œä½ 需è¦æ¯ä¸ªé¡µé¢æä¾›å部件。"
-#: C/index-in.docbook:2187
+#: C/index-in.docbook:2195
msgid ""
"To determine the currently-visible page, use the "
"<methodname>get_current_page()</methodname> method, and pass the result to "
@@ -4005,14 +4004,14 @@ msgstr ""
"际部件的指针。è¦æƒ³ç”¨ç¼–程的方å¼æ”¹å˜å½“å‰é¡µï¼Œè¯·ä½¿ç”¨"
"<methodname>set_current_page()</methodname>方法。"
-#: C/index-in.docbook:2191
+#: C/index-in.docbook:2199
msgid ""
"To set the title of a page, use the <methodname>set_page_title()</"
"methodname> method."
msgstr ""
"è¦ä¸ºé¡µé¢è®¾ç½®æ ‡é¢˜ï¼Œè¯·ä½¿ç”¨<methodname>set_page_title()</methodname>方法。"
-#: C/index-in.docbook:2195
+#: C/index-in.docbook:2203
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 "
@@ -4022,7 +4021,7 @@ msgstr ""
"法。他们将与默认按钮一并被装填。使用<methodname>remove_action_widget()</"
"methodname>方法å¯ä»¥åˆ 除部件。"
-#: C/index-in.docbook:2199
+#: C/index-in.docbook:2207
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1Assistant.";
"html\">Reference</ulink>"
@@ -4030,7 +4029,7 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1Assistant.";
"html\">å‚考</ulink>"
-#: C/index-in.docbook:2210
+#: C/index-in.docbook:2218
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/assistant/\">Source Code</ulink>"
@@ -4038,11 +4037,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/assistant/\">æºä»£ç </ulink>"
-#: C/index-in.docbook:2217
+#: C/index-in.docbook:2225
msgid "Other Multi-item Containers"
msgstr "其他多项容器"
-#: C/index-in.docbook:2219
+#: C/index-in.docbook:2227
msgid ""
"There are other multi-item containers. See the reference documentation for a "
"complete list. Here are links to some example programs that show containers, "
@@ -4051,7 +4050,7 @@ msgstr ""
"还有其他多项容器。请å‚阅文档以获å–完整列表。这里是一些本教程未æåŠçš„显示容器"
"的示例程åºè¿žæŽ¥ã€‚"
-#: C/index-in.docbook:2225
+#: C/index-in.docbook:2233
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/actionbar\">Source Code, ActionBar</ulink>"
@@ -4059,7 +4058,7 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/actionbar\">动作æ¡(ActionBar)æºä»£ç </ulink>"
-#: C/index-in.docbook:2226
+#: C/index-in.docbook:2234
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/flowbox\">Source Code, FlowBox</ulink>"
@@ -4067,7 +4066,7 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/flowbox\">æµå¼ç›’(FlowBox)æºä»£ç </ulink>"
-#: C/index-in.docbook:2227
+#: C/index-in.docbook:2235
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/iconview\">Source Code, IconView</ulink>"
@@ -4075,22 +4074,22 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/iconview\">å›¾æ ‡è§†å›¾(IconView)æºä»£ç </ulink>"
-#: C/index-in.docbook:2237
+#: C/index-in.docbook:2245
msgid "The TreeView widget"
msgstr "æ ‘å½¢è§†å›¾(TreeView)部件"
-#: C/index-in.docbook:2238
+#: C/index-in.docbook:2246
msgid ""
"The <classname>Gtk::TreeView</classname> widget can contain lists or trees "
"of data, in columns."
msgstr ""
" <classname>Gtk::TreeView</classname>部件的æ¯ä¸€è¡Œéƒ½å¯ä»¥åŒ…å«æ•°æ®åˆ—表或数æ®æ ‘。"
-#: C/index-in.docbook:2244
+#: C/index-in.docbook:2252
msgid "The Model"
msgstr "模型(Model)"
-#: C/index-in.docbook:2245
+#: C/index-in.docbook:2253
msgid ""
"Each <classname>Gtk::TreeView</classname> has an associated <classname>Gtk::"
"TreeModel</classname>, which contains the data displayed by the "
@@ -4108,7 +4107,7 @@ msgstr ""
"æ•°æ®ã€‚也å…许ä¸åŒçš„视图显示åŒä¸€ä¸ªæ¨¡åž‹çš„ä¸åŒåˆ—çš„æ•°æ®ï¼Œå°±åƒæ˜¯å¤šä¸ªSQL查询(或“视"
"图â€ï¼‰æ˜¾ç¤ºåŒä¸€ä¸ªæ•°æ®åº“表的ä¸åŒå—æ®µä¸€æ ·ã€‚"
-#: C/index-in.docbook:2255
+#: C/index-in.docbook:2263
msgid ""
"Although you can theoretically implement your own Model, you will normally "
"use either the <classname>ListStore</classname> or <classname>TreeStore</"
@@ -4117,7 +4116,7 @@ msgstr ""
"ç†è®ºä¸Šä½ å¯ä»¥å®žçŽ°è‡ªå·±çš„模型,但通常情况直接使用<classname>ListStore</"
"classname>或<classname>TreeStore</classname>å¯ä»¥çœç•¥å¾ˆå¤šéº»çƒ¦ã€‚"
-#: C/index-in.docbook:2261
+#: C/index-in.docbook:2269
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1TreeModel.";
"html\">Reference</ulink>"
@@ -4125,21 +4124,21 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1TreeModel.";
"html\">å‚考</ulink>"
-#: C/index-in.docbook:2264
+#: C/index-in.docbook:2272
msgid "ListStore, for rows"
msgstr "列表储å˜(ListStore)çš„è¡Œ"
-#: C/index-in.docbook:2265
+#: C/index-in.docbook:2273
msgid ""
"The <classname>ListStore</classname> contains simple rows of data, and each "
"row has no children."
msgstr "<classname>ListStore</classname>包å«ç®€å•çš„æ•°æ®è¡Œï¼Œæ¯ä¸ªè¡Œéƒ½æ²¡æœ‰å©å。"
-#: C/index-in.docbook:2271 C/index-in.docbook:2839
+#: C/index-in.docbook:2279 C/index-in.docbook:2847
msgid "TreeView - ListStore"
msgstr "æ ‘å½¢è§†å›¾ - 列表储å˜"
-#: C/index-in.docbook:2277
+#: C/index-in.docbook:2285
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1ListStore.";
"html\">Reference</ulink>"
@@ -4147,21 +4146,21 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1ListStore.";
"html\">å‚考</ulink>"
-#: C/index-in.docbook:2282
+#: C/index-in.docbook:2290
msgid "TreeStore, for a hierarchy"
msgstr "å…·æœ‰å±‚æ¬¡çš„æ ‘çŠ¶å‚¨å˜"
-#: C/index-in.docbook:2283
+#: C/index-in.docbook:2291
msgid ""
"The <classname>TreeStore</classname> contains rows of data, and each row may "
"have child rows."
msgstr "<classname>TreeStore</classname>包å«æ•°æ®è¡Œï¼Œå¹¶ä¸”æ¯ä¸€è¡Œéƒ½å¯èƒ½æœ‰å行。"
-#: C/index-in.docbook:2289 C/index-in.docbook:2858
+#: C/index-in.docbook:2297 C/index-in.docbook:2866
msgid "TreeView - TreeStore"
msgstr "æ ‘å½¢è§†å›¾ - æ ‘çŠ¶å‚¨å˜"
-#: C/index-in.docbook:2295
+#: C/index-in.docbook:2303
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1TreeStore.";
"html\">Reference</ulink>"
@@ -4169,11 +4168,11 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1TreeStore.";
"html\">å‚考</ulink>"
-#: C/index-in.docbook:2300
+#: C/index-in.docbook:2308
msgid "Model Columns"
msgstr "模型列"
-#: C/index-in.docbook:2301
+#: C/index-in.docbook:2309
msgid ""
"The <classname>TreeModelColumnRecord</classname> class is used to keep track "
"of the columns and their data types. You add <classname>TreeModelColumn</"
@@ -4189,7 +4188,7 @@ msgstr ""
"列ä¸çš„æ•°æ®ã€‚ä½ å¯èƒ½ä¼šå‘çŽ°ï¼Œæ´¾ç”Ÿä¸€ä¸ªä½ è‡ªå·±çš„åŒ…å«æœ‰<classname>TreeModelColumn</"
"classname>æ•°æ®æˆå‘˜çš„<classname>TreeModelColumnRecord</classname>会更方便。"
-#: C/index-in.docbook:2312
+#: C/index-in.docbook:2320
#, no-wrap
msgid ""
"class ModelColumns : public Gtk::TreeModelColumnRecord\n"
@@ -4218,14 +4217,14 @@ msgstr ""
"\n"
"ModelColumns m_Columns;"
-#: C/index-in.docbook:2325
+#: C/index-in.docbook:2333
msgid ""
"You specify the <classname>ColumnRecord</classname> when creating the Model, "
"like so:"
msgstr ""
"ä½ å¯ä»¥åœ¨åˆ›å»ºæ¨¡åž‹çš„时候指定<classname>ColumnRecord</classname>,如下所示:"
-#: C/index-in.docbook:2329
+#: C/index-in.docbook:2337
#, no-wrap
msgid ""
"Glib::RefPtr<Gtk::ListStore> refListStore =\n"
@@ -4234,7 +4233,7 @@ msgstr ""
"Glib::RefPtr<Gtk::ListStore> refListStore =\n"
" Gtk::ListStore::create(m_Columns);"
-#: C/index-in.docbook:2331
+#: C/index-in.docbook:2339
msgid ""
"As a <classname>TreeModelColumnRecord</classname> describes structure, not "
"data, it can be shared among multiple models, and this is preferable for "
@@ -4250,11 +4249,11 @@ msgstr ""
"化åŽç¤ºä¾‹åŒ–它。最好的解决方案是使他æˆä¸ºæƒ°æ€§åˆå§‹åŒ–çš„å•ä¾‹ï¼Œä»¥ä¾¿åœ¨ç¬¬ä¸€ä¸ªæ¨¡åž‹è®¿é—®"
"ä»–çš„æ—¶å€™æŒ‰éœ€æž„é€ ã€‚"
-#: C/index-in.docbook:2343
+#: C/index-in.docbook:2351
msgid "Adding Rows"
msgstr "æ·»åŠ è¡Œ"
-#: C/index-in.docbook:2344
+#: C/index-in.docbook:2352
msgid ""
"Add rows to the model with the <methodname>append()</methodname>, "
"<methodname>prepend()</methodname>, or <methodname>insert()</methodname> "
@@ -4263,25 +4262,25 @@ msgstr ""
"使用<methodname>append()</methodname>ã€<methodname>prepend()</methodname>或"
"<methodname>insert()</methodname>方法å¯ä»¥å‘æ¨¡åž‹æ·»åŠ è¡Œã€‚"
-#: C/index-in.docbook:2348
+#: C/index-in.docbook:2356
#, no-wrap
msgid "auto iter = m_refListStore->append();"
msgstr "auto iter = m_refListStore->append();"
-#: C/index-in.docbook:2349
+#: C/index-in.docbook:2357
msgid "You can dereference the iterator to get the Row:"
msgstr "ä½ å¯ä»¥é€šè¿‡è§£å¼•ç”¨è¿ä»£å™¨èŽ·å¾—行:"
-#: C/index-in.docbook:2351
+#: C/index-in.docbook:2359
#, no-wrap
msgid "auto row = *iter;"
msgstr "auto row = *iter;"
-#: C/index-in.docbook:2352
+#: C/index-in.docbook:2360
msgid "Adding child rows"
msgstr "æ·»åŠ åè¡Œ"
-#: C/index-in.docbook:2353
+#: C/index-in.docbook:2361
msgid ""
"<classname>Gtk::TreeStore</classname> models can have child items. Add them "
"with the <methodname>append()</methodname>, <methodname>prepend()</"
@@ -4291,7 +4290,7 @@ msgstr ""
"<methodname>append()</methodname>ã€<methodname>prepend()</methodname>或"
"<methodname>insert()</methodname>æ–¹æ³•æ·»åŠ ï¼Œå¦‚ä¸‹æ‰€ç¤ºï¼š"
-#: C/index-in.docbook:2358
+#: C/index-in.docbook:2366
#, no-wrap
msgid ""
"auto iter_child =\n"
@@ -4300,11 +4299,11 @@ msgstr ""
"auto iter_child =\n"
" m_refTreeStore->append(row.children());"
-#: C/index-in.docbook:2365
+#: C/index-in.docbook:2373
msgid "Setting values"
msgstr "设置值"
-#: C/index-in.docbook:2366
+#: C/index-in.docbook:2374
msgid ""
"You can use the <methodname>operator[]</methodname> overload to set the data "
"for a particular column in the row, specifying the "
@@ -4313,16 +4312,16 @@ msgstr ""
"ä½ å¯ä»¥ä½¿ç”¨<methodname>operator[]</methodname>é‡è½½è®¾ç½®è¡Œä¸çš„特定列的数æ®ï¼Œä½ 需"
"è¦ä½¿ç”¨åˆ›å»ºæ¨¡åž‹æ—¶çš„<classname>TreeModelColumn</classname>指定列。"
-#: C/index-in.docbook:2371
+#: C/index-in.docbook:2379
#, no-wrap
msgid "row[m_Columns.m_col_text] = \"sometext\";"
msgstr "row[m_Columns.m_col_text] = \"sometext\";"
-#: C/index-in.docbook:2375
+#: C/index-in.docbook:2383
msgid "Getting values"
msgstr "获å–值"
-#: C/index-in.docbook:2376
+#: C/index-in.docbook:2384
msgid ""
"You can use the <methodname>operator[]</methodname> overload to get the data "
"in a particular column in a row, specifying the <classname>TreeModelColumn</"
@@ -4331,7 +4330,7 @@ msgstr ""
"ä½ å¯ä»¥ä½¿ç”¨<methodname>operator[]</methodname>é‡è½½èŽ·å–è¡Œä¸ç‰¹å®šåˆ—çš„æ•°æ®ï¼Œä½ 需è¦"
"使用创建模型时的<classname>TreeModelColumn</classname>指定列。"
-#: C/index-in.docbook:2381
+#: C/index-in.docbook:2389
#, no-wrap
msgid ""
"auto strText = row[m_Columns.m_col_text];\n"
@@ -4340,14 +4339,14 @@ msgstr ""
"auto strText = row[m_Columns.m_col_text];\n"
"auto number = row[m_Columns.m_col_number];"
-#: C/index-in.docbook:2383
+#: C/index-in.docbook:2391
msgid ""
"The compiler will complain if you use an inappropriate type. For instance, "
"this would generate a compiler error:"
msgstr ""
"å¦‚æžœä½ ä½¿ç”¨äº†ä¸åˆé€‚的类型,编译器会报错。例如,编译器将生æˆä¸€ä¸ªç¼–译错误:"
-#: C/index-in.docbook:2387
+#: C/index-in.docbook:2395
#, no-wrap
msgid ""
"//compiler error - no conversion from ustring to int.\n"
@@ -4356,11 +4355,11 @@ msgstr ""
"//compiler error - no conversion from ustring to int.\n"
"int number = row[m_Columns.m_col_text];"
-#: C/index-in.docbook:2392
+#: C/index-in.docbook:2400
msgid "\"Hidden\" Columns"
msgstr "“éšè—â€åˆ—"
-#: C/index-in.docbook:2393
+#: C/index-in.docbook:2401
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."
@@ -4368,11 +4367,11 @@ msgstr ""
"ä½ å¯èƒ½æƒ³è¦å°†é¢å¤–çš„æ•°æ®å’Œæ¯ä¸€è¡Œå…³è”ã€‚å¦‚æžœæ˜¯è¿™æ ·ï¼Œä½ åªéœ€è¦å°†å…¶æ·»åŠ 到模型的一个"
"è¡Œä¸è€Œä¸å°†å…¶æ·»åŠ 到视图ä¸å³å¯ã€‚"
-#: C/index-in.docbook:2402 C/index-in.docbook:3248
+#: C/index-in.docbook:2410 C/index-in.docbook:3256
msgid "The View"
msgstr "视图"
-#: C/index-in.docbook:2403
+#: C/index-in.docbook:2411
msgid ""
"The View is the actual widget (<classname>Gtk::TreeView</classname>) that "
"displays the model (<classname>Gtk::TreeModel</classname>) data and allows "
@@ -4383,7 +4382,7 @@ msgstr ""
"用户与其交互的部件(<classname>Gtk::TreeView</classname>)。视图å¯ä»¥æ˜¾ç¤ºæ¨¡åž‹çš„"
"所有列也å¯ä»¥åªæ˜¾ç¤ºä¸€éƒ¨åˆ†åˆ—还å¯ä»¥ä»¥ä¸åŒçš„æ–¹å¼æ˜¾ç¤ºåˆ—。"
-#: C/index-in.docbook:2410
+#: C/index-in.docbook:2418
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1TreeView.";
"html\">Reference</ulink>"
@@ -4391,11 +4390,11 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1TreeView.";
"html\">å‚考</ulink>"
-#: C/index-in.docbook:2413
+#: C/index-in.docbook:2421
msgid "Using a Model"
msgstr "使用模型"
-#: C/index-in.docbook:2414
+#: C/index-in.docbook:2422
msgid ""
"You can specify a <classname>Gtk::TreeModel</classname> when constructing "
"the <classname>Gtk::TreeView</classname>, or you can use the "
@@ -4405,16 +4404,16 @@ msgstr ""
"<classname>Gtk::TreeModel</classname>,也å¯ä»¥æž„ç‘完æˆåŽä½¿ç”¨"
"<methodname>set_model()</methodname>方法指定,如下所示:"
-#: C/index-in.docbook:2419
+#: C/index-in.docbook:2427
#, no-wrap
msgid "m_TreeView.set_model(m_refListStore);"
msgstr "m_TreeView.set_model(m_refListStore);"
-#: C/index-in.docbook:2423
+#: C/index-in.docbook:2431
msgid "Adding View Columns"
msgstr "ä¸ºè§†å›¾æ·»åŠ åˆ—"
-#: C/index-in.docbook:2424
+#: C/index-in.docbook:2432
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 "
@@ -4423,12 +4422,12 @@ msgstr ""
"ä½ å¯ä»¥ä½¿ç”¨<methodname>append_column()</methodname>方法告知视图以一定的顺åºäºŽ"
"æŸä¸ªåˆ—æ ‡é¢˜ä¸‹æ˜¾ç¤ºæ¨¡åž‹çš„æŸä¸ªåˆ—。"
-#: C/index-in.docbook:2429
+#: C/index-in.docbook:2437
#, no-wrap
msgid "m_TreeView.append_column(\"Messages\", m_Columns.m_col_text);"
msgstr "m_TreeView.append_column(\"Messages\", m_Columns.m_col_text);"
-#: C/index-in.docbook:2430
+#: C/index-in.docbook:2438
msgid ""
"When using this simple <methodname>append_column()</methodname> overload, "
"the <classname>TreeView</classname> will display the model data with an "
@@ -4453,11 +4452,11 @@ msgstr ""
"<literal>(unsigned) int</literal>或者<literal>(unsigned) long</literal>作为行"
"类型。"
-#: C/index-in.docbook:2446
+#: C/index-in.docbook:2454
msgid "More than one Model Column per View Column"
msgstr "æ¯ä¸ªè§†å›¾åˆ—ä¸ä¸æ¢ä¸€ä¸ªæ¨¡åž‹åˆ—"
-#: C/index-in.docbook:2447
+#: C/index-in.docbook:2455
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 "
@@ -4467,7 +4466,7 @@ msgstr ""
"classname>部件,并使用<methodname>pack_start()</methodname>方法å‘å…¶æ·»åŠ æ¨¡åž‹"
"列。"
-#: C/index-in.docbook:2453
+#: C/index-in.docbook:2461
msgid ""
"Then use <methodname>append_column()</methodname> to add the view Column to "
"the View. Notice that <methodname>Gtk::TreeView::append_column()</"
@@ -4482,13 +4481,13 @@ msgstr ""
"<classname>TreeModelColumn</classname>生æˆçš„åˆé€‚çš„<classname>Gtk::TreeView::"
"Column</classname>部件。"
-#: C/index-in.docbook:2460
+#: C/index-in.docbook:2468
msgid ""
"Here is some example code, which has a pixbuf icon and a text name in the "
"same column:"
msgstr "这是一些示例代ç ,在åŒä¸€åˆ—ä¸æœ‰ä¸€ä¸ªåƒç´ 缓冲区(pixbuf)å›¾æ ‡å’Œä¸€ä¸ªæ–‡æœ¬å:"
-#: C/index-in.docbook:2463
+#: C/index-in.docbook:2471
#, no-wrap
msgid ""
"\n"
@@ -4511,11 +4510,11 @@ msgstr ""
"\n"
"m_TreeView.append_column(*pColumn);"
-#: C/index-in.docbook:2475
+#: C/index-in.docbook:2483
msgid "Specifying CellRenderer details"
msgstr "指定å•å…ƒæ ¼æ¸²æŸ“器(CellRenderer)详情"
-#: C/index-in.docbook:2476
+#: C/index-in.docbook:2484
msgid ""
"The default <classname>CellRenderers</classname> and their default behaviour "
"will normally suffice, but you might occasionally need finer control. For "
@@ -4529,7 +4528,7 @@ msgstr ""
"example_treeview_treestore.cc</filename>的示例代ç ï¼Œé™„åŠ ä¸€ä¸ª<classname>Gtk::"
"CellRenderer</classname>部件并指示其å„个模型列的外观的å„个方é¢æ¥å‘ˆçŽ°æ•°æ®ã€‚"
-#: C/index-in.docbook:2484
+#: C/index-in.docbook:2492
#, no-wrap
msgid ""
"auto cols_count = m_TreeView.append_column_editable(\"Alex\", m_columns.alex);\n"
@@ -4548,7 +4547,7 @@ msgstr ""
" pColumn->add_attribute(pRenderer->property_visible(), m_columns.visible);\n"
" pColumn->add_attribute(pRenderer->property_activatable(), m_columns.world);"
-#: C/index-in.docbook:2492
+#: C/index-in.docbook:2500
msgid ""
"You can also connect to <classname>CellRenderer</classname> signals to "
"detect user actions. For instance:"
@@ -4556,7 +4555,7 @@ msgstr ""
"ä½ è¿˜å¯ä»¥é€šè¿‡è¿žæŽ¥åˆ°<classname>CellRenderer</classname>çš„ä¿¡å·ä»¥æ£€æµ‹ç”¨æˆ·çš„æ“作。"
"例如:"
-#: C/index-in.docbook:2496
+#: C/index-in.docbook:2504
#, no-wrap
msgid ""
"\n"
@@ -4573,15 +4572,15 @@ msgstr ""
" &Example_TreeView_TreeStore::on_cell_toggled), m_columns.dave)\n"
");"
-#: C/index-in.docbook:2505 C/index-in.docbook:2868
+#: C/index-in.docbook:2513 C/index-in.docbook:2876
msgid "Editable Cells"
msgstr "å¯ç¼–辑å•å…ƒæ ¼"
-#: C/index-in.docbook:2508
+#: C/index-in.docbook:2516
msgid "Automatically-stored editable cells."
msgstr "自动储å˜çš„å¯ç¼–辑å•å…ƒæ ¼"
-#: C/index-in.docbook:2509
+#: C/index-in.docbook:2517
msgid ""
"Cells in a <classname>TreeView</classname> can be edited in-place by the "
"user. To allow this, use the <classname>Gtk::TreeView</classname> "
@@ -4601,11 +4600,11 @@ msgstr ""
"版,åªèƒ½ä¸ºç®€å•çš„列类型实例化(例如,<classname>Glib::ustring</classname>ã€"
"<literal>int</literal>和<literal>long</literal>)。"
-#: C/index-in.docbook:2523
+#: C/index-in.docbook:2531
msgid "Implementing custom logic for editable cells."
msgstr "为å¯ç¼–辑å•å…ƒæ ¼å®žçŽ°è‡ªå®šä¹‰é€»è¾‘。"
-#: C/index-in.docbook:2524
+#: C/index-in.docbook:2532
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 "
@@ -4614,7 +4613,7 @@ msgstr ""
"ä½†æ˜¯ä½ å¯èƒ½ä¸å¸Œæœ›ç«‹åˆ»å‚¨å˜æ–°çš„å€¼ã€‚ä¾‹å¦‚ä½ å¯èƒ½å¸Œæœ›å¯¹è¾“入进行检测,符åˆé¢„期的范围"
"æ‰å‚¨å˜ã€‚"
-#: C/index-in.docbook:2529
+#: C/index-in.docbook:2537
msgid ""
"To achieve this, you should use the normal <classname>Gtk::TreeView</"
"classname> <methodname>insert_column()</methodname> and "
@@ -4627,7 +4626,7 @@ msgstr ""
"<methodname>get_column_cell_renderer()</methodname>方法获å–该列使用的"
"<classname>Gtk::CellRenderer</classname>。"
-#: C/index-in.docbook:2535
+#: C/index-in.docbook:2543
msgid ""
"You should then cast that <classname>Gtk::CellRenderer*</classname> to the "
"specific <classname>CellRenderer</classname> that you expect, so you can use "
@@ -4637,7 +4636,7 @@ msgstr ""
"<classname>CellRenderer</classname>(例如转æ¢ä¸º<classname>CellRendererText</"
"classname>,以便调用特定的API。"
-#: C/index-in.docbook:2539
+#: C/index-in.docbook:2547
msgid ""
"For instance, for a CellRendererText, you would set the cell's "
"<emphasis>editable</emphasis> property to true, like so:"
@@ -4645,12 +4644,12 @@ msgstr ""
"例如,对于<classname>CellRendererText</classname>ï¼Œä½ åº”è¯¥å°†å•å…ƒæ ¼çš„"
"<emphasis>editable</emphasis>属性设置为<literal>true</literal>,如下所示:"
-#: C/index-in.docbook:2542
+#: C/index-in.docbook:2550
#, no-wrap
msgid "cell->property_editable() = true;"
msgstr "cell->property_editable() = true;"
-#: C/index-in.docbook:2543
+#: C/index-in.docbook:2551
msgid ""
"For a CellRendererToggle, you would set the <emphasis>activatable</emphasis> "
"property instead."
@@ -4658,7 +4657,7 @@ msgstr ""
"对于<classname>CellRendererToggle</classname>ï¼Œä½ åº”è¯¥æ”¹ä¸ºè®¾ç½®"
"<emphasis>activatable</emphasis>属性。"
-#: C/index-in.docbook:2547
+#: C/index-in.docbook:2555
msgid ""
"You can then connect to the appropriate \"edited\" signal. For instance, "
"connect to <methodname>Gtk::CellRendererText::signal_edited()</methodname>, "
@@ -4674,7 +4673,7 @@ msgstr ""
"TreeView::get_column()</methodname>方法然åŽå†è°ƒç”¨<methodname>get_cells()</"
"methodname>获å–ç›®æ ‡å•å…ƒæ ¼ã€‚"
-#: C/index-in.docbook:2555
+#: C/index-in.docbook:2563
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."
@@ -4682,11 +4681,11 @@ msgstr ""
"åœ¨ä½ çš„ä¿¡å·å¤„ç†å‡½æ•°ä¸ï¼Œä½ åº”è¯¥æ£€æŸ¥æ–°å€¼å¦‚æžœå…¶å¯¹äºŽä½ çš„åº”ç”¨ç¨‹åºè€Œè¨€æ˜¯åˆé€‚的则将其"
"储å˜åˆ°ä½ 的模型ä¸ã€‚"
-#: C/index-in.docbook:2567
+#: C/index-in.docbook:2575
msgid "Iterating over Model Rows"
msgstr "é历模型行"
-#: C/index-in.docbook:2568
+#: C/index-in.docbook:2576
msgid ""
"<classname>Gtk::TreeModel</classname> provides a C++ Standard Library-style "
"container of its children, via the <methodname>children()</methodname> "
@@ -4698,7 +4697,7 @@ msgstr ""
"<methodname>begin()</methodname>å’Œ<methodname>end()</methodname>方法递增è¿ä»£"
"器,如下所示:"
-#: C/index-in.docbook:2574
+#: C/index-in.docbook:2582
#, no-wrap
msgid ""
"\n"
@@ -4717,7 +4716,7 @@ msgstr ""
" //Do something with the row - see above for set/get.\n"
"}"
-#: C/index-in.docbook:2581
+#: C/index-in.docbook:2589
msgid ""
"If you always want to iterate across the entire range, much more succinct "
"syntax is possible using C++'s range-based <literal>for</literal> loop:"
@@ -4725,7 +4724,7 @@ msgstr ""
"å¦‚æžœä½ æ€»æ˜¯æƒ³è¿ä»£æ•´ä¸ªèŒƒå›´ï¼Œåˆ™å¯ä»¥ä½¿ç”¨C++基于范围的更简æ´çš„<literal>for</"
"literal>循环è¯æ³•ï¼š"
-#: C/index-in.docbook:2585
+#: C/index-in.docbook:2593
#, no-wrap
msgid ""
"\n"
@@ -4740,31 +4739,31 @@ msgstr ""
" //Do something with the row - see above for set/get.\n"
"}"
-#: C/index-in.docbook:2592
+#: C/index-in.docbook:2600
msgid "Row children"
msgstr "åè¡Œ"
-#: C/index-in.docbook:2597
-#, no-wrap
-msgid "Gtk::TreeModel::Children children = row.children();"
-msgstr "Gtk::TreeModel::Children children = row.children();"
-
-#: C/index-in.docbook:2593
+#: C/index-in.docbook:2601
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::"
"TreeModel::Row::children()</methodname> to get the container of child "
-"<classname>Row</classname>s: <_:programlisting-1/>"
+"<classname>Row</classname>s:"
msgstr ""
"在使用<classname>Gtk::TreeStore</classname>的时候,其行å¯ä»¥å˜åœ¨å行,å行也å¯"
"以å˜åœ¨å行。使用<methodname>Gtk::TreeModel::Row::children()</methodname>方法"
-"å¯ä»¥èŽ·å–<classname>Row</classname>çš„å行:<_:programlisting-1/>"
+"å¯ä»¥èŽ·å–<classname>Row</classname>çš„å行:"
+
+#: C/index-in.docbook:2606
+#, no-wrap
+msgid "Gtk::TreeModel::Children children = row.children();"
+msgstr "Gtk::TreeModel::Children children = row.children();"
-#: C/index-in.docbook:2604
+#: C/index-in.docbook:2612
msgid "The Selection"
msgstr "选择"
-#: C/index-in.docbook:2605
+#: C/index-in.docbook:2613
msgid ""
"To find out what rows the user has selected, get the <classname>Gtk::"
"TreeView::Selection</classname> object from the <classname>TreeView</"
@@ -4773,40 +4772,39 @@ msgstr ""
"è¦æ‰¾å‡ºç”¨æˆ·é€‰æ‹©äº†é‚£äº›è¡Œï¼Œè¯·ä»Ž<classname>TreeView</classname>çš„<classname>Gtk::"
"TreeView::Selection</classname>对象获å–。"
-#: C/index-in.docbook:2610
+#: C/index-in.docbook:2618
#, no-wrap
msgid "auto refTreeSelection = m_TreeView.get_selection();"
msgstr "auto refTreeSelection = m_TreeView.get_selection();"
-#: C/index-in.docbook:2613
+#: C/index-in.docbook:2621
msgid "Single or multiple selection"
msgstr "å•é€‰æˆ–多选"
-#: C/index-in.docbook:2617
-#, no-wrap
-msgid "refTreeSelection->set_mode(Gtk::SELECTION_MULTIPLE);"
-msgstr "refTreeSelection->set_mode(Gtk::SELECTION_MULTIPLE);"
-
-#: C/index-in.docbook:2614
+#: C/index-in.docbook:2622
msgid ""
"By default, only single rows can be selected, but you can allow multiple "
-"selection by setting the mode, like so: <_:programlisting-1/>"
+"selection by setting the mode, like so:"
msgstr ""
-"默认情况下,åªèƒ½é€‰å®šä¸€è¡Œï¼Œä½†æ˜¯ä½ å¯ä»¥é€šè¿‡è®¾ç½®é€‰æ‹©æ¨¡å¼é€‰æ‹©å¤šè¡Œï¼Œå¦‚下所示:<_:"
-"programlisting-1/>"
+"默认情况下,åªèƒ½é€‰å®šä¸€è¡Œï¼Œä½†æ˜¯ä½ å¯ä»¥é€šè¿‡è®¾ç½®é€‰æ‹©æ¨¡å¼é€‰æ‹©å¤šè¡Œï¼Œå¦‚下所示:"
-#: C/index-in.docbook:2622
+#: C/index-in.docbook:2626
+#, no-wrap
+msgid "refTreeSelection->set_mode(Gtk::SELECTION_MULTIPLE);"
+msgstr "refTreeSelection->set_mode(Gtk::SELECTION_MULTIPLE);"
+
+#: C/index-in.docbook:2630
msgid "The selected rows"
msgstr "选定的行"
-#: C/index-in.docbook:2623
+#: C/index-in.docbook:2631
msgid ""
"For single-selection, you can just call <methodname>get_selected()</"
"methodname>, like so:"
msgstr ""
"对于å•é€‰æ¨¡å¼ï¼Œä½ å¯ä»¥å¦‚下所示调用<methodname>get_selected()</methodname>:"
-#: C/index-in.docbook:2627
+#: C/index-in.docbook:2635
#, no-wrap
msgid ""
"auto iter = refTreeSelection->get_selected();\n"
@@ -4823,7 +4821,7 @@ msgstr ""
" //Do something with the row.\n"
"}"
-#: C/index-in.docbook:2634
+#: C/index-in.docbook:2642
msgid ""
"For multiple-selection, you need to call <methodname>get_selected_rows()</"
"methodname> or define a callback, and give it to "
@@ -4836,7 +4834,7 @@ msgstr ""
"<methodname>selected_foreach_path()</methodname>或"
"<methodname>selected_foreach_iter()</methodname>,如下所示:"
-#: C/index-in.docbook:2641
+#: C/index-in.docbook:2649
#, no-wrap
msgid ""
"refTreeSelection->selected_foreach_iter(\n"
@@ -4859,17 +4857,17 @@ msgstr ""
" //Do something with the row.\n"
"}"
-#: C/index-in.docbook:2654
+#: C/index-in.docbook:2662
msgid "The \"changed\" signal"
msgstr "\"changed\"ä¿¡å·"
-#: C/index-in.docbook:2655
+#: C/index-in.docbook:2663
msgid ""
"To respond to the user clicking on a row or range of rows, connect to the "
"signal like so:"
msgstr "è¦å“应用户å•å‡»æŸè¡Œæˆ–者æŸä¸ªèŒƒå›´çš„行,请按以下方å¼è¿žæŽ¥ä¿¡å·ï¼š"
-#: C/index-in.docbook:2659
+#: C/index-in.docbook:2667
#, no-wrap
msgid ""
"refTreeSelection->signal_changed().connect(\n"
@@ -4880,11 +4878,11 @@ msgstr ""
" sigc::mem_fun(*this, &Example_IconTheme::on_selection_changed)\n"
");"
-#: C/index-in.docbook:2665
+#: C/index-in.docbook:2673
msgid "Preventing row selection"
msgstr "防æ¢è¡Œè¢«é€‰æ‹©"
-#: C/index-in.docbook:2666
+#: C/index-in.docbook:2674
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, "
@@ -4893,7 +4891,7 @@ msgstr ""
"或许用户ä¸åº”è¯¥èƒ½é€‰æ‹©åˆ—è¡¨æˆ–æ ‘ä¸çš„æ¯ä¸ªé¡¹ç›®ã€‚例如在gtk-demoä¸ï¼Œä½ å¯ä»¥é€‰æ‹©ä¸€ä¸ªæ¼”"
"示æ¥æŸ¥çœ‹ä»–çš„æºä»£ç ï¼Œä½†æ˜¯ä½ é€‰ä¸€ä¸ªæ¼”ç¤ºç±»åˆ«æ²¡æœ‰æ„义。"
-#: C/index-in.docbook:2671
+#: C/index-in.docbook:2679
msgid ""
"To control which rows can be selected, use the "
"<methodname>set_select_function()</methodname> method, providing a "
@@ -4902,7 +4900,7 @@ msgstr ""
"è¦æŽ§åˆ¶ä¸€ä¸ªè¡Œæ˜¯å¦èƒ½è¢«é€‰æ‹©ï¼Œè¯·ä½¿ç”¨<methodname>set_select_function()</"
"methodname>方法为其æ供一个<classname>sigc::slot</classname>回调。例如:"
-#: C/index-in.docbook:2676
+#: C/index-in.docbook:2684
#, no-wrap
msgid ""
"m_refTreeSelection->set_select_function( sigc::mem_fun(*this,\n"
@@ -4911,11 +4909,11 @@ msgstr ""
"m_refTreeSelection->set_select_function( sigc::mem_fun(*this,\n"
" &DemoWindow::select_function) );"
-#: C/index-in.docbook:2678
+#: C/index-in.docbook:2686
msgid "and then"
msgstr "接ç€"
-#: C/index-in.docbook:2681
+#: C/index-in.docbook:2689
#, no-wrap
msgid ""
"bool DemoWindow::select_function(\n"
@@ -4934,11 +4932,11 @@ msgstr ""
" return iter->children().empty(); // only allow leaf nodes to be selected\n"
"}"
-#: C/index-in.docbook:2691
+#: C/index-in.docbook:2699
msgid "Changing the selection"
msgstr "修改选择"
-#: C/index-in.docbook:2692
+#: C/index-in.docbook:2700
msgid ""
"To change the selection, specify a <classname>Gtk::TreeModel::iterator</"
"classname> or <classname>Gtk::TreeModel::Row</classname>, like so:"
@@ -4946,7 +4944,7 @@ msgstr ""
"è¦æ›´æ”¹é€‰æ‹©ï¼Œè¯·æŒ‡å®š<classname>Gtk::TreeModel::iterator</classname>或"
"<classname>Gtk::TreeModel::Row</classname>,然åŽå¦‚下所示:"
-#: C/index-in.docbook:2697
+#: C/index-in.docbook:2705
#, no-wrap
msgid ""
"auto row = m_refModel->children()[5]; //The sixth row.\n"
@@ -4957,11 +4955,11 @@ msgstr ""
"if(row)\n"
" refTreeSelection->select(row.get_iter());"
-#: C/index-in.docbook:2700
+#: C/index-in.docbook:2708
msgid "or"
msgstr "或者"
-#: C/index-in.docbook:2703
+#: C/index-in.docbook:2711
#, no-wrap
msgid ""
"auto iter = m_refModel->children().begin()\n"
@@ -4972,11 +4970,11 @@ msgstr ""
"if(iter)\n"
" refTreeSelection->select(iter);"
-#: C/index-in.docbook:2712
+#: C/index-in.docbook:2720
msgid "Sorting"
msgstr "排åº"
-#: C/index-in.docbook:2713
+#: C/index-in.docbook:2721
msgid ""
"The standard tree models (<classname>TreeStore</classname> and "
"<classname>ListStore</classname>) derive from <classname>TreeSortable</"
@@ -4992,7 +4990,7 @@ msgstr ""
"排åºã€‚或者å‘<methodname>set_sort_func()</methodname>æ供一个回调函数以实现更"
"å¤æ‚的排åºç®—法。"
-#: C/index-in.docbook:2717
+#: C/index-in.docbook:2725
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1TreeSortable.html\">TreeSortable Reference</ulink>"
@@ -5000,11 +4998,11 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1TreeSortable.html\">å¯æŽ’åºæ ‘å‚考</ulink>"
-#: C/index-in.docbook:2720
+#: C/index-in.docbook:2728
msgid "Sorting by clicking on columns"
msgstr "å•å‡»åˆ—进行排åº"
-#: C/index-in.docbook:2721
+#: C/index-in.docbook:2729
msgid ""
"So that a user can click on a <classname>TreeView</classname>'s column "
"header to sort the <classname>TreeView</classname>'s contents, call "
@@ -5017,7 +5015,7 @@ msgstr ""
"<methodname>Gtk::TreeView::Column::set_sort_column()</methodname>,以æä¾›æ¤åŠŸ"
"能。如下所示:"
-#: C/index-in.docbook:2724
+#: C/index-in.docbook:2732
#, no-wrap
msgid ""
"auto pColumn = treeview.get_column(0);\n"
@@ -5028,11 +5026,11 @@ msgstr ""
"if(pColumn)\n"
" pColumn->set_sort_column(m_columns.m_col_id);"
-#: C/index-in.docbook:2730
+#: C/index-in.docbook:2738
msgid "Independently sorted views of the same model"
msgstr "对åŒä¸€æ¨¡åž‹è¿›è¡Œç‹¬ç«‹æŽ’åºçš„视图"
-#: C/index-in.docbook:2731
+#: C/index-in.docbook:2739
msgid ""
"The <classname>TreeView</classname> already allows you to show the same "
"<classname>TreeModel</classname> in two <classname>TreeView</classname> "
@@ -5052,7 +5050,7 @@ msgstr ""
"的将已排åºç‰ˆæœ¬ã€‚ä½ å¯ä»¥å¦‚下所示的将已排åºç‰ˆæœ¬æ¨¡åž‹æ·»åŠ 到<classname>TreeView</"
"classname>:"
-#: C/index-in.docbook:2739
+#: C/index-in.docbook:2747
#, no-wrap
msgid ""
"auto sorted_model = Gtk::TreeModelSort::create(model);\n"
@@ -5063,7 +5061,7 @@ msgstr ""
"sorted_model->set_sort_column(columns.m_col_name, Gtk::SORT_ASCENDING);\n"
"treeview.set_model(sorted_model);"
-#: C/index-in.docbook:2743
+#: C/index-in.docbook:2751
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 "
@@ -5072,7 +5070,7 @@ msgstr ""
"请注æ„ï¼Œè¿™æ ·åšæ ‘形视图将会æ供已排åºæ¨¡åž‹çš„è¿ä»£å™¨ã€‚ä½ å¿…é¡»å°†å…¶è½¬æ¢ä¸ºåŸºç¡€çš„å模"
"åž‹è¿ä»£å™¨ä»¥ä¾¿å¯¹è¿™ä¸ªæ¨¡åž‹è¿›è¡Œæ“作。例如:"
-#: C/index-in.docbook:2745
+#: C/index-in.docbook:2753
#, no-wrap
msgid ""
"void ExampleWindow::on_button_delete()\n"
@@ -5103,7 +5101,7 @@ msgstr ""
" }\n"
"}"
-#: C/index-in.docbook:2759
+#: C/index-in.docbook:2767
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1TreeModelSort.html\">TreeModelSort Reference</ulink>"
@@ -5111,12 +5109,12 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1TreeModelSort.html\">æ ‘æ¨¡åž‹æŽ’åºå‚考</ulink>"
-#: C/index-in.docbook:2765 C/index-in.docbook:2887 C/index-in.docbook:4604
-#: C/index-in.docbook:4757
+#: C/index-in.docbook:2773 C/index-in.docbook:2895 C/index-in.docbook:4611
+#: C/index-in.docbook:4764
msgid "Drag and Drop"
msgstr "拖放"
-#: C/index-in.docbook:2766
+#: C/index-in.docbook:2774
msgid ""
"<classname>Gtk::TreeView</classname> already implements simple drag-and-drop "
"when used with the <classname>Gtk::ListStore</classname> or <classname>Gtk::"
@@ -5129,11 +5127,11 @@ msgstr ""
"果有必è¦ï¼Œå®ƒè¿˜å…è®¸ä½ ä½¿ç”¨å¸¸è§„çš„<link linkend=\"chapter-draganddrop\">拖放</"
"link>API实现更å¤æ‚的拖放行为。"
-#: C/index-in.docbook:2775
+#: C/index-in.docbook:2783
msgid "Reorderable rows"
msgstr "å¯é‡æŽ’åºçš„è¡Œ"
-#: C/index-in.docbook:2776
+#: C/index-in.docbook:2784
msgid ""
"If you call <methodname>Gtk::TreeView::set_reorderable()</methodname> then "
"your TreeView's items can be moved within the treeview itself. This is "
@@ -5143,7 +5141,7 @@ msgstr ""
"视图ä¸ç§»åŠ¨å…¶æœ¬èº«çš„项目。<classname>TreeStore</classname>的示例对æ¤è¿›è¡Œäº†æ¼”"
"示。"
-#: C/index-in.docbook:2781
+#: C/index-in.docbook:2789
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 "
@@ -5163,15 +5161,15 @@ msgstr ""
"TreeModel::Path</literal>并返回<literal>true</literal>或<literal>false</"
"literal>æ¥å…许或ç¦æ¢æ‹–放。"
-#: C/index-in.docbook:2788
+#: C/index-in.docbook:2796
msgid "This is demonstrated in the drag_and_drop example."
msgstr "在drag_and_drop示例ä¸å¯¹æ¤è¿›è¡Œäº†æ¼”示。"
-#: C/index-in.docbook:2794 C/index-in.docbook:2909
+#: C/index-in.docbook:2802 C/index-in.docbook:2917
msgid "Popup Context Menu"
msgstr "弹出上下文èœå•"
-#: C/index-in.docbook:2795
+#: C/index-in.docbook:2803
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 "
@@ -5183,11 +5181,11 @@ msgstr ""
"们在这里说明如何åšåˆ°è¿™ä¸ªä»¥èŠ‚çœä½ 的时间。其与普通的上下文èœå•åªæœ‰ä¸€ä¸¤ç‚¹ä¸åŒï¼Œ"
"如<link linkend=\"sec-menus-popup\">èœå•ç« 节</link>所述。"
-#: C/index-in.docbook:2804
+#: C/index-in.docbook:2812
msgid "Handling <literal>button_press_event</literal>"
msgstr "处ç†<literal>button_press_event</literal>"
-#: C/index-in.docbook:2805
+#: C/index-in.docbook:2813
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 "
@@ -5206,16 +5204,16 @@ msgstr ""
"<classname>TreeView</classname>的派生类ä¸è¦†ç›–默认信å·å¤„ç†å‡½æ•°ã€‚ä½ å¯èƒ½è¿˜æƒ³åœ¨æ‰§"
"行任何其他æ“作之å‰å…ˆè°ƒç”¨é»˜è®¤ä¿¡å·å¤„ç†å‡½æ•°ï¼Œä»¥ä¾¿å³é”®æ—¶å…ˆé€‰æ‹©è¯¥è¡Œã€‚"
-#: C/index-in.docbook:2815
+#: C/index-in.docbook:2823
msgid "This is demonstrated in the Popup Context Menu example."
msgstr "Popup Context Menu示例ä¸å¯¹æ¤è¿›è¡Œäº†æ¼”示。"
-#: C/index-in.docbook:2820 C/index-in.docbook:3314 C/index-in.docbook:3618
-#: C/index-in.docbook:4867
+#: C/index-in.docbook:2828 C/index-in.docbook:3322 C/index-in.docbook:3626
+#: C/index-in.docbook:4874
msgid "Examples"
msgstr "示例"
-#: C/index-in.docbook:2822
+#: C/index-in.docbook:2830
msgid ""
"Some <classname>TreeView</classname> examples are shown here. There are more "
"examples in the <ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-";
@@ -5227,7 +5225,7 @@ msgstr ""
"documentation/tree/master/examples/book/treeview/\">æ ‘å½¢è§†å›¾æ–‡ä»¶å¤¹</ulink>还"
"有更多的示例。"
-#: C/index-in.docbook:2826
+#: C/index-in.docbook:2834
msgid ""
"If neither <classname>ListStore</classname> nor <classname>TreeStore</"
"classname> is suitable for your application, look at the <ulink url="
@@ -5242,11 +5240,11 @@ msgstr ""
"模型</ulink>示例。它å‘ä½ å±•ç¤ºäº†å¦‚ä½•å®žçŽ°è‡ªå·±çš„<classname>TreeModel</classname>"
"接å£"
-#: C/index-in.docbook:2832
+#: C/index-in.docbook:2840
msgid "ListStore"
msgstr "列表储å˜(ListStore)"
-#: C/index-in.docbook:2833
+#: C/index-in.docbook:2841
msgid ""
"This example has a <classname>Gtk::TreeView</classname> widget, with a "
"<classname>Gtk::ListStore</classname> model."
@@ -5254,7 +5252,7 @@ msgstr ""
"这个例å有一个使用<classname>Gtk::ListStore</classname>模型的<classname>Gtk::"
"TreeView</classname>部件。"
-#: C/index-in.docbook:2845
+#: C/index-in.docbook:2853
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/treeview/list/\">Source Code</ulink>"
@@ -5262,11 +5260,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/treeview/list/\">æºä»£ç </ulink>"
-#: C/index-in.docbook:2849
+#: C/index-in.docbook:2857
msgid "TreeStore"
msgstr "æ ‘å‚¨å˜(TreeStore)"
-#: C/index-in.docbook:2851
+#: C/index-in.docbook:2859
msgid ""
"This example is very similar to the <classname>ListStore</classname> "
"example, but uses a <classname>Gtk::TreeStore</classname> model instead, and "
@@ -5275,7 +5273,7 @@ msgstr ""
"这个示例和<classname>ListStore</classname>示例éžå¸¸çš„相似,但是使用的是"
"<classname>Gtk::TreeStore</classname>æ¨¡åž‹å¹¶ä¸”æ·»åŠ äº†å行。"
-#: C/index-in.docbook:2864
+#: C/index-in.docbook:2872
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/treeview/tree/\">Source Code</ulink>"
@@ -5283,7 +5281,7 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/treeview/tree/\">æºä»£ç </ulink>"
-#: C/index-in.docbook:2870
+#: C/index-in.docbook:2878
msgid ""
"This example is identical to the <classname>ListStore</classname> example, "
"but it uses <methodname>TreeView::append_column_editable()</methodname> "
@@ -5293,11 +5291,11 @@ msgstr ""
"<methodname>TreeView::append_column_editable()</methodname>代替"
"<methodname>TreeView::append_column()</methodname>。"
-#: C/index-in.docbook:2877
+#: C/index-in.docbook:2885
msgid "TreeView - Editable Cells"
msgstr "æ ‘å½¢è§†å›¾ - å¯ç¼–辑å•å…ƒæ ¼"
-#: C/index-in.docbook:2883
+#: C/index-in.docbook:2891
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/treeview/editable_cells/\">Source Code</ulink>"
@@ -5305,7 +5303,7 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/treeview/editable_cells/\">æºä»£ç </ulink>"
-#: C/index-in.docbook:2889
+#: C/index-in.docbook:2897
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 "
@@ -5319,11 +5317,11 @@ msgstr ""
"classname>æ¥è¦†ç›–虚函数,如<link linkend=\"sec-treeview-draganddrop\">æ‹–æ”¾æ ‘è§†"
"图</link>å°èŠ‚所述。"
-#: C/index-in.docbook:2899
+#: C/index-in.docbook:2907
msgid "TreeView - Drag And Drop"
msgstr "æ ‘å½¢è§†å›¾ - 拖放"
-#: C/index-in.docbook:2905
+#: C/index-in.docbook:2913
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/treeview/drag_and_drop/\">Source Code</ulink>"
@@ -5331,7 +5329,7 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/treeview/drag_and_drop/\">æºä»£ç </ulink>"
-#: C/index-in.docbook:2911
+#: C/index-in.docbook:2919
msgid ""
"This example is much like the <classname>ListStore</classname> example, but "
"derives a custom <classname>TreeView</classname> in order to override the "
@@ -5344,11 +5342,11 @@ msgstr ""
"literal>ï¼Œå¹¶å°†æ ‘æ¨¡åž‹ä»£ç å°è£…在派生类代ç ä¸ï¼Œè¯·å‚阅<link linkend=\"sec-"
"treeview-contextmenu\">æ ‘å½¢è§†å›¾å¼¹å‡ºä¸Šä¸‹æ–‡èœå•</link>å°èŠ‚。"
-#: C/index-in.docbook:2921
+#: C/index-in.docbook:2929
msgid "TreeView - Popup Context Menu"
msgstr "æ ‘å½¢è§†å›¾ - 弹出上下文èœå•"
-#: C/index-in.docbook:2927
+#: C/index-in.docbook:2935
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/treeview/popup/\">Source Code</ulink>"
@@ -5356,11 +5354,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/treeview/popup/\">æºä»£ç </ulink>"
-#: C/index-in.docbook:2934
+#: C/index-in.docbook:2942
msgid "Combo Boxes"
msgstr "组åˆæ¡†(Combo Boxes)"
-#: C/index-in.docbook:2936
+#: C/index-in.docbook:2944
msgid ""
"The <classname>ComboBox</classname> widget offers a list (or tree) of "
"choices in a dropdown menu. If appropriate, it can show extra information "
@@ -5375,7 +5373,7 @@ msgstr ""
"<classname>ComboBox</classname>部件通常将显示用户的å¯é€‰é¡¹ï¼Œä½†æ˜¯å®ƒå¯ä»¥æœ‰ä¸€ä¸ª"
"<classname>Entry</classname>以å…许用户在没有åˆé€‚的选项的时候输入任æ„文本。"
-#: C/index-in.docbook:2939
+#: C/index-in.docbook:2947
msgid ""
"The list is provided via a <classname>TreeModel</classname>, and columns "
"from this model are added to the ComboBox's view with the "
@@ -5389,7 +5387,7 @@ msgstr ""
"供了çµæ´»æ€§å’Œç¼–译时的类型安全,在ä¸éœ€è¦çµæ´»æ€§çš„情况下,"
"<classname>ComboBoxText</classname>ç±»æ供了更简å•çš„基于文本的特化支æŒã€‚"
-#: C/index-in.docbook:2942
+#: C/index-in.docbook:2950
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1ComboBox.";
"html\">Reference</ulink>"
@@ -5397,11 +5395,11 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1ComboBox.";
"html\">å‚考</ulink>"
-#: C/index-in.docbook:2945
+#: C/index-in.docbook:2953
msgid "The model"
msgstr "模型"
-#: C/index-in.docbook:2946
+#: C/index-in.docbook:2954
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 "
@@ -5410,7 +5408,7 @@ msgstr ""
"å¯ä»¥åƒ<classname>TreeView</classname>ä¸€æ ·å®šä¹‰å’Œå¡«å……ç»„åˆæ¡†çš„æ¨¡åž‹ã€‚ä½ å¯ä»¥ä¸Žå¦‚下"
"æ‰€ç¤ºçš„ä¸€æ ·æ´¾ç”Ÿå…·æœ‰ä¸€ä¸ªæ•´æ•°è¡Œå’Œä¸€ä¸ªæ–‡æœ¬è¡Œçš„ç»„åˆæ¡†ç±»ï¼š"
-#: C/index-in.docbook:2948
+#: C/index-in.docbook:2956
#, no-wrap
msgid ""
"class ModelColumns : public Gtk::TreeModel::ColumnRecord\n"
@@ -5437,7 +5435,7 @@ msgstr ""
"\n"
"ModelColumns m_columns;"
-#: C/index-in.docbook:2960
+#: C/index-in.docbook:2968
msgid ""
"After appending rows to this model, you should provide the model to the "
"<classname>ComboBox</classname> with the <methodname>set_model()</"
@@ -5460,11 +5458,11 @@ msgstr ""
"methodname>或<methodname>set_cell_data_func()</methodname>æŒ‡å®šå…·ä½“æ˜ å°„åˆ°å“ª"
"行。请注æ„这些方法在<classname>CellLayout</classname>基类ä¸ã€‚"
-#: C/index-in.docbook:2964
+#: C/index-in.docbook:2972
msgid "The chosen item"
msgstr "所选项"
-#: C/index-in.docbook:2965
+#: C/index-in.docbook:2973
msgid ""
"To discover what item, if any, the user has chosen from the ComboBox, call "
"<methodname>ComboBox::get_active()</methodname>. This returns a "
@@ -5480,7 +5478,7 @@ msgstr ""
"以在组åˆæ¡†ä¸åªæ˜¾ç¤ºäººç±»å¯è¯»çš„æ述,然åŽä½ å¯ä»¥è¯»å–模型ä¸å‚¨å˜äºŽè¯¥è¡Œçš„æ•´æ•°ID值"
"(于并未被显示的列)。例如:"
-#: C/index-in.docbook:2967
+#: C/index-in.docbook:2975
#, no-wrap
msgid ""
"Gtk::TreeModel::iterator iter = m_Combo.get_active();\n"
@@ -5509,11 +5507,11 @@ msgstr ""
"else\n"
" set_nothing_chosen(); //Your own function."
-#: C/index-in.docbook:2982 C/index-in.docbook:3038
+#: C/index-in.docbook:2990 C/index-in.docbook:3046
msgid "Responding to changes"
msgstr "å“应å˜æ›´"
-#: C/index-in.docbook:2983
+#: C/index-in.docbook:2991
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 "
@@ -5522,7 +5520,7 @@ msgstr ""
"ä½ å¯èƒ½éœ€è¦å¯¹ç»„åˆæ¡†ä¸æ¯ä¸ªé€‰æ‹©çš„å˜æ›´è¿›è¡Œå“应,例如更新其他的部件。为æ¤ä½ 应该处"
"ç†<literal>changed</literal>。例如:"
-#: C/index-in.docbook:2986
+#: C/index-in.docbook:2994
#, no-wrap
msgid ""
"m_combo.signal_changed().connect( sigc::mem_fun(*this,\n"
@@ -5531,15 +5529,15 @@ msgstr ""
"m_combo.signal_changed().connect( sigc::mem_fun(*this,\n"
" &ExampleWindow::on_combo_changed) );"
-#: C/index-in.docbook:2990 C/index-in.docbook:3071
+#: C/index-in.docbook:2998 C/index-in.docbook:3079
msgid "Full Example"
msgstr "完整例å"
-#: C/index-in.docbook:2993
+#: C/index-in.docbook:3001
msgid "ComboBox"
msgstr "组åˆæ¡†(ComboBox)"
-#: C/index-in.docbook:2999
+#: C/index-in.docbook:3007
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/combobox/complex\">Source Code</ulink>"
@@ -5547,15 +5545,15 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/combobox/complex\">æºä»£ç </ulink>"
-#: C/index-in.docbook:3003 C/index-in.docbook:3084
+#: C/index-in.docbook:3011 C/index-in.docbook:3092
msgid "Simple Text Example"
msgstr "简å•æ–‡å—示例"
-#: C/index-in.docbook:3006
+#: C/index-in.docbook:3014
msgid "ComboBoxText"
msgstr "文本组åˆæ¡†(ComboBoxText)"
-#: C/index-in.docbook:3012
+#: C/index-in.docbook:3020
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/combobox/text\">Source Code</ulink>"
@@ -5563,11 +5561,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/combobox/text\">æºä»£ç </ulink>"
-#: C/index-in.docbook:3017
+#: C/index-in.docbook:3025
msgid "ComboBox with an Entry"
msgstr "带有æ¡ç›®çš„组åˆæ¡†"
-#: C/index-in.docbook:3019
+#: C/index-in.docbook:3027
msgid ""
"A <classname>ComboBox</classname> may contain an <classname>Entry</"
"classname> widget for entering of arbitrary text, by specifying "
@@ -5578,39 +5576,38 @@ msgstr ""
"å‚数为<literal>true</literal>,å¯ä»¥ä»¤å…¶åŒ…å«ä¸€ä¸ª<classname>Entry</classname>部"
"件用以输入任æ„文本。"
-#: C/index-in.docbook:3022
+#: C/index-in.docbook:3030
msgid "The text column"
msgstr "文本列"
-#: C/index-in.docbook:3024
-#, no-wrap
-msgid "m_combo.set_entry_text_column(m_columns.m_col_name);"
-msgstr "m_combo.set_entry_text_column(m_columns.m_col_name);"
-
-#: C/index-in.docbook:3023
+#: C/index-in.docbook:3031
msgid ""
"So that the <classname>Entry</classname> can interact with the drop-down "
"list of choices, you must specify which of your model columns is the text "
-"column, with <methodname>set_entry_text_column()</methodname>. For instance: "
-"<_:programlisting-1/>"
+"column, with <methodname>set_entry_text_column()</methodname>. For instance:"
msgstr ""
"为了使<classname>Entry</classname>å¯ä»¥ä¸Žä¸‹æ‹‰åˆ—è¡¨çš„é€‰é¡¹è¿›è¡Œäº¤äº’ï¼Œä½ å¿…é¡»ä½¿ç”¨"
"<methodname>set_entry_text_column()</methodname>指定哪些模型列是文本列。例"
-"如:<_:programlisting-1/>"
+"如:"
-#: C/index-in.docbook:3026
-msgid ""
-"When you select a choice from the drop-down menu, the value from this column "
+#: C/index-in.docbook:3033
+#, no-wrap
+msgid "m_combo.set_entry_text_column(m_columns.m_col_name);"
+msgstr "m_combo.set_entry_text_column(m_columns.m_col_name);"
+
+#: C/index-in.docbook:3034
+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 ""
"å½“ä½ ä»Žä¸‹æ‹‰èœå•ä¸é€‰æ‹©ä¸€ä¸ªé€‰é¡¹çš„时候,该列的值将被放于<classname>Entry</"
"classname>ä¸ã€‚"
-#: C/index-in.docbook:3032
+#: C/index-in.docbook:3040
msgid "The entry"
msgstr "æ¡ç›®"
-#: C/index-in.docbook:3033
+#: C/index-in.docbook:3041
msgid ""
"Because the user may enter arbitrary text, an active model row isn't enough "
"to tell us what text the user has entered. Therefore, you should retrieve "
@@ -5623,7 +5620,7 @@ msgstr ""
"ä¸çš„<classname>Entry</classname>部件并在其上调用<methodname>get_text()</"
"methodname>。"
-#: C/index-in.docbook:3047
+#: C/index-in.docbook:3055
#, no-wrap
msgid ""
"auto entry = m_Combo.get_entry();\n"
@@ -5654,7 +5651,7 @@ msgstr ""
" &ExampleWindow::on_entry_focus_out_event) );\n"
"}"
-#: C/index-in.docbook:3039
+#: C/index-in.docbook:3047
msgid ""
"When the user enters arbitrary text, it may not be enough to connect to the "
"<literal>changed</literal> signal, which is emitted for every typed "
@@ -5679,7 +5676,7 @@ msgstr ""
"<literal>changed</literal>ä¿¡å·ï¼Œä½ å¯ä»¥è¿žæŽ¥å®ƒä»¬ä¸çš„ä»»æ„一个。但是在这里åªæœ‰"
"<classname>Entry</classname>çš„<literal>focus_out_event</literal>ä¿¡å·æ‰æœ‰ç”¨ã€‚"
-#: C/index-in.docbook:3065
+#: C/index-in.docbook:3073
msgid ""
"X events are described in more detail in the <link linkend=\"sec-"
"xeventsignals\">X Event signals</link> section in the appendix."
@@ -5687,11 +5684,11 @@ msgstr ""
"X事件在附录的<link linkend=\"sec-xeventsignals\">X事件信å·</link>å°èŠ‚有更详细"
"çš„æ述。"
-#: C/index-in.docbook:3074
+#: C/index-in.docbook:3082
msgid "ComboBox with Entry"
msgstr "带æ¡ç›®çš„组åˆæ¡†"
-#: C/index-in.docbook:3080
+#: C/index-in.docbook:3088
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/combobox/entry_complex\">Source Code</ulink>"
@@ -5699,11 +5696,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/combobox/entry_complex\">æºä»£ç </ulink>"
-#: C/index-in.docbook:3087
+#: C/index-in.docbook:3095
msgid "ComboBoxText with Entry"
msgstr "带æ¡ç›®çš„文本组åˆæ¡†"
-#: C/index-in.docbook:3093
+#: C/index-in.docbook:3101
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/combobox/entry_text\">Source Code</ulink>"
@@ -5711,11 +5708,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/combobox/entry_text\">æºä»£ç </ulink>"
-#: C/index-in.docbook:3106 C/index-in.docbook:3319
+#: C/index-in.docbook:3114 C/index-in.docbook:3327
msgid "TextView"
msgstr "文本视图(TextView)"
-#: C/index-in.docbook:3107
+#: C/index-in.docbook:3115
msgid ""
"The <classname>TextView</classname> widget can be used to display and edit "
"large amounts of formatted text. Like the <classname>TreeView</classname>, "
@@ -5726,11 +5723,11 @@ msgstr ""
"<classname>TreeView</classname>ä¸€æ ·ï¼Œå®ƒå…·æœ‰æ¨¡åž‹/视图设计。"
"<classname>TextBuffer</classname>是它预期的模型。"
-#: C/index-in.docbook:3115
+#: C/index-in.docbook:3123
msgid "The Buffer"
msgstr "缓冲区"
-#: C/index-in.docbook:3116
+#: C/index-in.docbook:3124
msgid ""
"<classname>Gtk::TextBuffer</classname> is a model containing the data for "
"the <classname>Gtk::TextView</classname>, like the <classname>Gtk::"
@@ -5748,7 +5745,7 @@ msgstr ""
"æ–¹å¼æ˜¾ç¤ºæ–‡æœ¬ç¼“å†²åŒºã€‚ä½ ä¹Ÿå¯ä»¥ç»´æŠ¤å¤šä¸ª<classname>Gtk::TextBuffer</classname>并"
"让åŒä¸€ä¸ª<classname>Gtk::TextView</classname>部件于ä¸åŒæ—¶å€™åˆ†åˆ«æ˜¾ç¤ºå®ƒä»¬ã€‚"
-#: C/index-in.docbook:3126
+#: C/index-in.docbook:3134
msgid ""
"The <classname>TextView</classname> creates its own default "
"<classname>TextBuffer</classname>, which you can access via the "
@@ -5758,7 +5755,7 @@ msgstr ""
"<classname>TextBuffer</classname>ï¼Œä½ å¯ä»¥é€šè¿‡<methodname>get_buffer()</"
"methodname>方法访问这个缓冲区。"
-#: C/index-in.docbook:3132
+#: C/index-in.docbook:3140
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1TextBuffer.html\">Reference</ulink>"
@@ -5766,11 +5763,11 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1TextBuffer.html\">å‚考</ulink>"
-#: C/index-in.docbook:3135
+#: C/index-in.docbook:3143
msgid "Iterators"
msgstr "è¿ä»£å™¨"
-#: C/index-in.docbook:3136
+#: C/index-in.docbook:3144
msgid ""
"A <classname>Gtk::TextBuffer::iterator</classname> and a <classname>Gtk::"
"TextBuffer::const_iterator</classname> represent a position between two "
@@ -5786,7 +5783,7 @@ msgstr ""
"æ•ˆã€‚å› æ¤ï¼Œè¿ä»£å™¨ä¸èƒ½ç”¨äºŽä¿å˜è¶Šè¿‡ç¼“冲区被修改部分的ä½ç½®ã€‚如果想ä¿å˜ä½ç½®ï¼Œè¯·ä½¿"
"用<classname>Gtk::TextBuffer::Mark</classname>。"
-#: C/index-in.docbook:3143
+#: C/index-in.docbook:3151
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1TextIter.";
"html\">Reference</ulink>"
@@ -5794,15 +5791,15 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1TextIter.";
"html\">å‚考</ulink>"
-#: C/index-in.docbook:3147
+#: C/index-in.docbook:3155
msgid "Tags and Formatting"
msgstr "æ ‡ç¾å’Œæ ¼å¼"
-#: C/index-in.docbook:3150
+#: C/index-in.docbook:3158
msgid "Tags"
msgstr "æ ‡ç¾(Tags)"
-#: C/index-in.docbook:3151
+#: C/index-in.docbook:3159
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 "
@@ -5812,7 +5809,7 @@ msgstr ""
"è¦æŒ‡å®šç¼“冲区ä¸çš„ä¸€äº›æ–‡æœ¬å…·æœ‰ç‰¹å®šçš„æ ¼å¼ï¼Œä½ 需è¦å®šä¹‰ä¸€ä¸ªæ ‡ç¾æ¥ä¿å˜æ ¼å¼ä¿¡æ¯ï¼Œå¹¶"
"å°†è¯¥æ ‡ç¾åº”ç”¨äºŽæ–‡æœ¬åŒºåŸŸã€‚ä¾‹å¦‚ï¼Œå®šä¹‰æ ‡ç¾åŠå…¶å±žæ€§ï¼š"
-#: C/index-in.docbook:3154
+#: C/index-in.docbook:3162
#, no-wrap
msgid ""
"auto refTagMatch = Gtk::TextBuffer::Tag::create();\n"
@@ -5821,7 +5818,7 @@ msgstr ""
"auto refTagMatch = Gtk::TextBuffer::Tag::create();\n"
"refTagMatch->property_background() = \"orange\";"
-#: C/index-in.docbook:3156
+#: C/index-in.docbook:3164
msgid ""
"You can specify a name for the <classname>Tag</classname> when using the "
"<methodname>create()</methodname> method, but it is not necessary."
@@ -5829,11 +5826,11 @@ msgstr ""
"ä½ å¯ä»¥åœ¨ä½¿ç”¨<classname>Tag</classname>çš„<methodname>create()</methodname>方法"
"时为其指定一个å称,但这ä¸æ˜¯å¿…须的。"
-#: C/index-in.docbook:3161
+#: C/index-in.docbook:3169
msgid "The <classname>Tag</classname> class has many other properties."
msgstr "<classname>Tag</classname>类还有许多其他的特性。"
-#: C/index-in.docbook:3165
+#: C/index-in.docbook:3173
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1TextTag.";
"html\">Reference</ulink>"
@@ -5841,11 +5838,11 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1TextTag.";
"html\">å‚考</ulink>"
-#: C/index-in.docbook:3170
+#: C/index-in.docbook:3178
msgid "TagTable"
msgstr "æ ‡ç¾è¡¨(TagTable)"
-#: C/index-in.docbook:3172
+#: C/index-in.docbook:3180
msgid ""
"Each <classname>Gtk::TextBuffer</classname> uses a <classname>Gtk::"
"TextBuffer::TagTable</classname>, which contains the <classname>Tag</"
@@ -5860,7 +5857,7 @@ msgstr ""
"<classname>TagTable</classname>ã€‚å½“ä½ åˆ›å»º<classname>Tag</classname>çš„æ—¶å€™ï¼Œä½ "
"åº”è¯¥å°†å…¶åŠ å…¥<classname>TagTable</classname>。例如:"
-#: C/index-in.docbook:3180
+#: C/index-in.docbook:3188
#, no-wrap
msgid ""
"auto refTagTable = Gtk::TextBuffer::TagTable::create();\n"
@@ -5875,7 +5872,7 @@ msgstr ""
"//for use after creation of the buffer.\n"
"auto refBuffer = Gtk::TextBuffer::create(refTagTable);"
-#: C/index-in.docbook:3186
+#: C/index-in.docbook:3194
msgid ""
"You can also use <methodname>get_tag_table()</methodname> to get, and maybe "
"modify, the <classname>TextBuffer</classname>'s default <classname>TagTable</"
@@ -5885,7 +5882,7 @@ msgstr ""
"<classname>TextBuffer</classname>的默认<classname>TagTable</classname>,而ä¸"
"是显示创建一个。"
-#: C/index-in.docbook:3192
+#: C/index-in.docbook:3200
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1TextTagTable.html\">Reference</ulink>"
@@ -5893,11 +5890,11 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1TextTagTable.html\">å‚考</ulink>"
-#: C/index-in.docbook:3197
+#: C/index-in.docbook:3205
msgid "Applying Tags"
msgstr "åº”ç”¨æ ‡ç¾"
-#: C/index-in.docbook:3198
+#: C/index-in.docbook:3206
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 "
@@ -5910,23 +5907,21 @@ msgstr ""
"ç”¨è¯¥æ ¼å¼æ˜¾ç¤ºæŸäº›æ–‡æœ¬ã€‚ä½ å¯ä»¥é€šè¿‡ä½¿ç”¨<classname>Gtk::TextBuffer::iterator</"
"classname>指示文本的开始和结æŸèŒƒå›´ã€‚例如:"
-#: C/index-in.docbook:3205
+#: C/index-in.docbook:3213
#, no-wrap
msgid "refBuffer->apply_tag(refTagMatch, iterRangeStart, iterRangeStop);"
msgstr "refBuffer->apply_tag(refTagMatch, iterRangeStart, iterRangeStop);"
-#: C/index-in.docbook:3208
+#: C/index-in.docbook:3214
+msgid "Or you could specify the tag when first inserting the text:"
+msgstr "æˆ–è€…ä½ å¯ä»¥åœ¨é¦–次æ’å…¥æ–‡æœ¬çš„æ—¶å€™æŒ‡å®šæ ‡ç¾ï¼š"
+
+#: C/index-in.docbook:3217
#, no-wrap
msgid "refBuffer->insert_with_tag(iter, \"Some text\", refTagMatch);"
msgstr "refBuffer->insert_with_tag(iter, \"Some text\", refTagMatch);"
-#: C/index-in.docbook:3206
-msgid ""
-"Or you could specify the tag when first inserting the text: <_:"
-"programlisting-1/>"
-msgstr "æˆ–è€…ä½ å¯ä»¥åœ¨é¦–次æ’å…¥æ–‡æœ¬çš„æ—¶å€™æŒ‡å®šæ ‡ç¾ï¼š<_:programlisting-1/>"
-
-#: C/index-in.docbook:3211
+#: C/index-in.docbook:3219
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 "
@@ -5939,11 +5934,11 @@ msgstr ""
"应用于åŒä¸€æ–‡æœ¬ã€‚<classname>Tag</classname>å¯èƒ½ä¼šä¸ºåŒä¸€å±žæ€§æŒ‡å®šä¸åŒçš„å€¼ï¼Œä½†ä½ "
"å¯ä»¥ä½¿ç”¨<methodname>Tag::set_priority()</methodname>解决这些冲çªã€‚"
-#: C/index-in.docbook:3223
+#: C/index-in.docbook:3231
msgid "Marks"
msgstr "æ ‡è®°(Marks)"
-#: C/index-in.docbook:3224
+#: C/index-in.docbook:3232
msgid ""
"<classname>TextBuffer</classname> iterators are generally invalidated when "
"the text changes, but you can use a <classname>Gtk::TextBuffer::Mark</"
@@ -5952,12 +5947,12 @@ msgstr ""
"当文本å‘生更改的时候<classname>TextBuffer</classname>è¿ä»£å™¨é€šå¸¸ä¼šå¤±æ•ˆï¼Œä½†æ˜¯ä½ "
"å¯ä»¥ä½¿ç”¨<classname>Gtk::TextBuffer::Mark</classname>è®°ä½ä½ç½®ï¼Œä¾‹å¦‚:"
-#: C/index-in.docbook:3229
+#: C/index-in.docbook:3237
#, no-wrap
msgid "auto refMark = refBuffer->create_mark(iter);"
msgstr "auto refMark = refBuffer->create_mark(iter);"
-#: C/index-in.docbook:3231
+#: C/index-in.docbook:3239
msgid ""
"You can then use the <methodname>get_iter()</methodname> method later to "
"create an iterator for the <classname>Mark</classname>'s new position."
@@ -5965,7 +5960,7 @@ msgstr ""
"ä½ å¯ä»¥åœ¨ä¹‹åŽä½¿ç”¨<methodname>get_iter()</methodname>方法为<classname>Mark</"
"classname>çš„æ–°ä½ç½®åˆ›å»ºè¿ä»£å™¨ã€‚"
-#: C/index-in.docbook:3236
+#: C/index-in.docbook:3244
msgid ""
"There are two built-in <classname>Mark</classname>s - <literal>insert</"
"literal> and <literal>selection_bound</literal>, which you can access with "
@@ -5977,7 +5972,7 @@ msgstr ""
"classname>的<methodname>get_insert()</methodname>和"
"<methodname>get_selection_bound()</methodname>方法访问它们。"
-#: C/index-in.docbook:3243
+#: C/index-in.docbook:3251
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1TextMark.";
"html\">Reference</ulink>"
@@ -5985,7 +5980,7 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1TextMark.";
"html\">å‚考</ulink>"
-#: C/index-in.docbook:3249
+#: C/index-in.docbook:3257
msgid ""
"As mentioned above, each <classname>TextView</classname> has a "
"<classname>TextBuffer</classname>, and one or more <classname>TextView</"
@@ -5995,7 +5990,7 @@ msgstr ""
"classname>,并且多个<classname>TextView</classname>å¯ä»¥å…±äº«åŒä¸€ä¸ª"
"<classname>TextBuffer</classname>。"
-#: C/index-in.docbook:3256
+#: C/index-in.docbook:3264
msgid ""
"Like the <classname>TreeView</classname>, you should probably put your "
"<classname>TextView</classname> inside a <classname>ScrolledWindow</"
@@ -6006,7 +6001,7 @@ msgstr ""
"classname>放入<classname>ScrolledWindow</classname>ä¸ä»¥å…许用户使用滚动æ¡æŸ¥çœ‹"
"并在整个文本区域ä¸ç§»åŠ¨ã€‚"
-#: C/index-in.docbook:3263
+#: C/index-in.docbook:3271
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1TextView.";
"html\">Reference</ulink>"
@@ -6014,11 +6009,11 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1TextView.";
"html\">å‚考</ulink>"
-#: C/index-in.docbook:3266
+#: C/index-in.docbook:3274
msgid "Default formatting"
msgstr "é»˜è®¤æ ¼å¼"
-#: C/index-in.docbook:3267
+#: C/index-in.docbook:3275
msgid ""
"<classname>TextView</classname> has various methods which allow you to "
"change the presentation of the buffer for this particular view. Some of "
@@ -6033,11 +6028,11 @@ msgstr ""
"<methodname>set_right_margin()</methodname>ã€<methodname>set_indent()</"
"methodname>ç‰ã€‚"
-#: C/index-in.docbook:3278
+#: C/index-in.docbook:3286
msgid "Scrolling"
msgstr "滚动"
-#: C/index-in.docbook:3279
+#: C/index-in.docbook:3287
msgid ""
"<classname>Gtk::TextView</classname> has various <methodname>scroll_to()</"
"methodname> methods. These allow you to ensure that a particular part of the "
@@ -6049,11 +6044,11 @@ msgstr ""
"methodname>方法。这些å¯ä»¥ç¡®ä¿ä½ 能看到缓冲区ä¸çš„ç‰¹å®šéƒ¨åˆ†ã€‚ä¾‹å¦‚ä½ çš„åº”ç”¨ç¨‹åºå¯èƒ½"
"会使用<methodname>Gtk::TextView::scroll_to()</methodname>方法显示找到的文本。"
-#: C/index-in.docbook:3294
+#: C/index-in.docbook:3302
msgid "Widgets and ChildAnchors"
msgstr "部件和å锚(ChildAnchors)"
-#: C/index-in.docbook:3295
+#: C/index-in.docbook:3303
msgid ""
"You can embed widgets, such as <classname>Gtk::Button</classname>s, in the "
"text. Each such child widget needs a <classname>ChildAnchor</classname>. "
@@ -6066,12 +6061,12 @@ msgstr ""
"如,使用<methodname>Gtk::TextBuffer::create_child_anchor()</methodname>于特定"
"ä½ç½®åˆ›å»ºå锚:"
-#: C/index-in.docbook:3302
+#: C/index-in.docbook:3310
#, no-wrap
msgid "auto refAnchor = refBuffer->create_child_anchor(iter);"
msgstr "auto refAnchor = refBuffer->create_child_anchor(iter);"
-#: C/index-in.docbook:3304
+#: C/index-in.docbook:3312
msgid ""
"Then, to add a widget at that position, use <methodname>Gtk::TextView::"
"add_child_at_anchor()</methodname>:"
@@ -6079,12 +6074,12 @@ msgstr ""
"然åŽä½¿ç”¨<methodname>Gtk::TextView::add_child_at_anchor()</methodname>将部件添"
"åŠ åˆ°è¯¥ä½ç½®ï¼š"
-#: C/index-in.docbook:3308
+#: C/index-in.docbook:3316
#, no-wrap
msgid "m_TextView.add_child_at_anchor(m_Button, refAnchor);"
msgstr "m_TextView.add_child_at_anchor(m_Button, refAnchor);"
-#: C/index-in.docbook:3310
+#: C/index-in.docbook:3318
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1TextChildAnchor.html\">Reference</ulink>"
@@ -6092,7 +6087,7 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1TextChildAnchor.html\">å‚考</ulink>"
-#: C/index-in.docbook:3325
+#: C/index-in.docbook:3333
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/textview/\">Source Code</ulink>"
@@ -6100,11 +6095,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/textview/\">æºä»£ç </ulink>"
-#: C/index-in.docbook:3334
+#: C/index-in.docbook:3342
msgid "Menus and Toolbars"
msgstr "èœå•å’Œå·¥å…·æ "
-#: C/index-in.docbook:3336
+#: C/index-in.docbook:3344
msgid ""
"There are specific APIs for menus and toolbars, but you should usually deal "
"with them together, creating <classname>Gio::SimpleAction</classname>s that "
@@ -6119,7 +6114,7 @@ msgstr ""
"被激活而ä¸éœ€è¦åˆ†åˆ«å“应èœå•å’Œå·¥å…·æ ã€‚ä½ å¯ä»¥é€šè¿‡åŠ¨ä½œå¯ç”¨æˆ–者ç¦ç”¨èœå•å’Œå·¥å…·æ "
"项。<classname>Gtk::Builder</classname>å¯ä»¥åˆ›å»ºèœå•å’Œå·¥å…·æ 。"
-#: C/index-in.docbook:3344
+#: C/index-in.docbook:3352
msgid ""
"This involves the use of the <classname>Gio::SimpleActionGroup</classname>, "
"<classname>Gio::SimpleAction</classname> and <classname>Gtk::Builder</"
@@ -6132,11 +6127,11 @@ msgstr ""
"这些类都需è¦é€šè¿‡è¿”回<classname>RefPtr</classname>çš„<methodname>create()</"
"methodname>方法进行实例化。"
-#: C/index-in.docbook:3352
+#: C/index-in.docbook:3360
msgid "Actions"
msgstr "动作(Actions)"
-#: C/index-in.docbook:3353
+#: C/index-in.docbook:3361
msgid ""
"First create the <classname>Gio::SimpleAction</classname>s and add them to a "
"<classname>Gio::SimpleActionGroup</classname>, with <methodname>Gio::"
@@ -6151,7 +6146,7 @@ msgstr ""
"<classname>Gio::SimpleActionGroup</classname>的基类。)。然åŽå°†åŠ¨ä½œç»„使用"
"<methodname>Gtk::Widget::insert_action_group()</methodname>åŠ å…¥åˆ°ä½ çš„çª—å£ä¸ã€‚"
-#: C/index-in.docbook:3361
+#: C/index-in.docbook:3369
msgid ""
"The arguments to <methodname>add_action()</methodname> specify the action's "
"name, which is used in the menu items and toolbar buttons. You can also "
@@ -6163,11 +6158,11 @@ msgstr ""
"å…·æ æŒ‰é’®ä½¿ç”¨ã€‚ä½ è¿˜å¯ä»¥åœ¨è°ƒç”¨<methodname>add_action()</methodname>时指定信å·å¤„"
"ç†å‡½æ•°ã€‚在èœå•é¡¹æˆ–工具æ 按钮被激活的时候æ¤ä¿¡å·å¤„ç†å‡½æ•°è¢«è°ƒç”¨ã€‚"
-#: C/index-in.docbook:3369 C/index-in.docbook:3495
+#: C/index-in.docbook:3377 C/index-in.docbook:3503
msgid "For instance:"
msgstr "例如:"
-#: C/index-in.docbook:3371
+#: C/index-in.docbook:3379
#, no-wrap
msgid ""
"\n"
@@ -6188,7 +6183,7 @@ msgstr ""
"\n"
"insert_action_group(\"example\", m_refActionGroup);\n"
-#: C/index-in.docbook:3381
+#: C/index-in.docbook:3389
msgid ""
"If you use an <classname>Gtk::ApplicationWindow</classname>, you don't have "
"to create your own action group. <classname>Gio::ActionGroup</classname> and "
@@ -6199,11 +6194,11 @@ msgstr ""
"ä½œç»„ã€‚å› ä¸º<classname>Gio::ActionGroup</classname>å’Œ<classname>Gio::"
"ActionMap</classname>是<classname>Gtk::ApplicationWindow</classname>的基类。"
-#: C/index-in.docbook:3392
+#: C/index-in.docbook:3400
msgid "Menubar and Toolbar"
msgstr "èœå•å’Œå·¥å…·æ "
-#: C/index-in.docbook:3393
+#: C/index-in.docbook:3401
msgid ""
"Next you should create a <classname>Gtk::Builder</classname>. At this point "
"is also a good idea to tell the application to respond to keyboard "
@@ -6214,11 +6209,12 @@ msgstr ""
"<methodname>Gtk::Application::set_accel_for_action()</methodname>告诉应用程åº"
"å“应键盘快æ·é”®ä¹Ÿæ˜¯ä¸€ä¸ªå¥½ä¸»æ„。"
-#: C/index-in.docbook:3399
+#: C/index-in.docbook:3407 C/index-in.docbook:5053 C/index-in.docbook:5118
+#: C/index-in.docbook:10564
msgid "For instance,"
msgstr "例如:"
-#: C/index-in.docbook:3401
+#: C/index-in.docbook:3409
#, no-wrap
msgid ""
"\n"
@@ -6237,7 +6233,7 @@ msgstr ""
"app->set_accel_for_action(\"example.copy\", \"<Primary>c\");\n"
"app->set_accel_for_action(\"example.paste\", \"<Primary>v\");\n"
-#: C/index-in.docbook:3409
+#: C/index-in.docbook:3417
msgid ""
"If your main window is derived from <classname>ApplicationWindow</classname> "
"and you instantiate your menubar with <methodname>Gtk::Application::"
@@ -6250,7 +6246,7 @@ msgstr ""
"åˆ™ä½ ä¸éœ€è¦è°ƒç”¨<methodname>set_accel_for_action()</methodname>。有关示例å‚è§ï¼š"
"<link linkend=\"menu-example-main\">应用程åºèœå•å’Œä¸»èœå•ç¤ºä¾‹</link>。"
-#: C/index-in.docbook:3417
+#: C/index-in.docbook:3425
msgid ""
"Then, you can define the actual visible layout of the menus and toolbars, "
"and add the UI layout to the <classname>Builder</classname>. This \"ui string"
@@ -6261,7 +6257,7 @@ msgstr ""
"<classname>Builder</classname>。这个\"UIå—符串\"使用XMLæ ¼å¼ï¼Œä½ 应该在其ä¸ä½¿ç”¨"
"ä½ å·²ç»åˆ›å»ºçš„动作的å称。例如:"
-#: C/index-in.docbook:3423
+#: C/index-in.docbook:3431
#, no-wrap
msgid ""
"\n"
@@ -6344,7 +6340,7 @@ msgstr ""
"m_refBuilder->add_from_string(ui_info);\n"
"m_refBuilder->add_from_resource(\"/toolbar/toolbar.glade\");\n"
-#: C/index-in.docbook:3464
+#: C/index-in.docbook:3472
msgid ""
"This is where we specify the names of the menu items as they will be seen by "
"users in the menu. Therefore, this is where you should make strings "
@@ -6353,7 +6349,7 @@ msgstr ""
"这里我们指定èœå•é¡¹çš„åç§°ï¼Œå› ä¸ºç”¨æˆ·å¯ä»¥åœ¨èœå•ä¸çœ‹åˆ°å®ƒä»¬ã€‚å› æ¤ä½ åº”è¯¥æ·»åŠ "
"<literal>translatable='yes'</literal>使这些的å—符串å¯ä»¥è¢«ç¿»è¯‘。"
-#: C/index-in.docbook:3468
+#: C/index-in.docbook:3476
msgid ""
"To instantiate a <classname>Gtk::MenuBar</classname> and <classname>Gtk::"
"Toolbar</classname> which you can actually show, you should use the "
@@ -6366,7 +6362,7 @@ msgstr ""
"methodname>å’Œ<methodname>Builder::get_widget()</methodname>方法,然åŽå°†éƒ¨ä»¶åŠ "
"入容器ä¸ã€‚例如:"
-#: C/index-in.docbook:3475
+#: C/index-in.docbook:3483
#, no-wrap
msgid ""
"\n"
@@ -6385,11 +6381,11 @@ msgstr ""
"auto toolbar = m_refBuilder->get_widget<Gtk::Toolbar>(\"toolbar\");\n"
"m_Box.append(*toolbar);\n"
-#: C/index-in.docbook:3487
+#: C/index-in.docbook:3495
msgid "Popup Menus"
msgstr "弹出èœå•"
-#: C/index-in.docbook:3488
+#: C/index-in.docbook:3496
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 "
@@ -6399,7 +6395,7 @@ msgstr ""
"<classname>Menus</classname>é€šå¸¸å°†ç›´æŽ¥è¢«åŠ å…¥åˆ°çª—å£ä¸ï¼Œä½†ä¹Ÿå¯ä»¥é€šè¿‡é¼ æ ‡å•å‡»æ¥"
"临时显示他们。例如当用户å•å‡»é¼ æ ‡å³é”®çš„时候,å¯èƒ½éœ€è¦æ˜¾ç¤ºä¸Šä¸‹æ–‡èœå•ã€‚"
-#: C/index-in.docbook:3497
+#: C/index-in.docbook:3505
#, no-wrap
msgid ""
"\n"
@@ -6454,7 +6450,7 @@ msgstr ""
"auto gmenu = m_refBuilder->get_object<Gio::Menu>(\"menu-examplepopup\");\n"
"m_pMenuPopup = std::make_unique<Gtk::Menu>(gmenu);\n"
-#: C/index-in.docbook:3524
+#: C/index-in.docbook:3532
msgid ""
"To show the popup menu, use <classname>Gtk::Menu</classname>'s "
"<methodname>popup()</methodname> method, providing the button identifier and "
@@ -6466,7 +6462,7 @@ msgstr ""
"ä¿¡å·æä¾›çš„æ¿€æ´»æ—¶æœºï¼ˆé¼ æ ‡å•åŒä¸‰å‡»ã€æŒ‰ä¸‹è¿˜æ˜¯é‡Šæ”¾ï¼‰å’ŒæŒ‰é’®æ ‡è¯†ï¼ˆå“ªä¸ªé¼ æ ‡æŒ‰é”®ï¼‰ã€‚"
"例如:"
-#: C/index-in.docbook:3530
+#: C/index-in.docbook:3538
#, no-wrap
msgid ""
"\n"
@@ -6499,11 +6495,11 @@ msgstr ""
" return false;\n"
"}\n"
-#: C/index-in.docbook:3549
+#: C/index-in.docbook:3557
msgid "Gio::Resource and glib-compile-resources"
msgstr "Gio::Resourceå’Œglib-compile-resources"
-#: C/index-in.docbook:3551
+#: C/index-in.docbook:3559
msgid ""
"Applications and libraries often contain binary or textual data that is "
"really part of the application, rather than user data. For instance "
@@ -6519,7 +6515,7 @@ msgstr ""
"文件ã€å›¾æ ‡ç‰ã€‚这些通常这些文件放于<filename class=\"directory\">$datadir/"
"appname</filename>目录下,也å¯ä»¥å°†å…¶è½¬æ¢ä¸ºæ–‡æœ¬å—é¢é‡æ‰‹åŠ¨åŒ…å«åœ¨ä»£ç ä¸ã€‚"
-#: C/index-in.docbook:3559
+#: C/index-in.docbook:3567
msgid ""
"The <classname>Gio::Resource</classname> API and the <application>glib-"
"compile-resources</application> program provide a convenient and efficient "
@@ -6539,7 +6535,7 @@ msgstr ""
"例共享)且很简å•ï¼ˆæ— 需对IO错误进行检查和在文件系统ä¸æŸ¥æ‰¾æ–‡ä»¶ï¼‰ã€‚这也使得创建"
"å¯é‡å®šä½åº”用程åºå˜å¾—更为简å•ã€‚"
-#: C/index-in.docbook:3568
+#: C/index-in.docbook:3576
msgid ""
"Resource bundles are created by the <ulink url=\"https://developer.gnome.org/";
"gio/stable/glib-compile-resources.html\">glib-compile-resources</ulink> "
@@ -6552,7 +6548,7 @@ msgstr ""
"文件æ述资æºåŒ…并由该XML文件指示资æºåŒ…引用了那些文件。被引用的文件和XML文件将"
"被组åˆä¸ºä¸€ä¸ªäºŒè¿›åˆ¶çš„资æºåŒ…。"
-#: C/index-in.docbook:3574
+#: C/index-in.docbook:3582
msgid ""
"<ulink url=\"http://developer.gnome.org/glibmm/unstable/classGio_1_1Resource.";
"html\">Gio::Resource Reference</ulink>"
@@ -6560,7 +6556,7 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/glibmm/unstable/classGio_1_1Resource.";
"html\">Gio::Resourceå‚考</ulink>"
-#: C/index-in.docbook:3577
+#: C/index-in.docbook:3585
#, no-wrap
msgid ""
"\n"
@@ -6581,15 +6577,15 @@ msgstr ""
" </gresource>\n"
"</gresources>\n"
-#: C/index-in.docbook:3588
+#: C/index-in.docbook:3596
msgid "<filename>/toolbar/toolbar.glade</filename>"
msgstr "<filename>/toolbar/toolbar.glade</filename>"
-#: C/index-in.docbook:3589
+#: C/index-in.docbook:3597
msgid "<filename>/toolbar/rain.png</filename>"
msgstr "<filename>/toolbar/rain.png</filename>"
-#: C/index-in.docbook:3575
+#: C/index-in.docbook:3583
msgid ""
"An example: <_:programlisting-1/> This will create a resource bundle with "
"the files <_:itemizedlist-2/>"
@@ -6597,12 +6593,12 @@ msgstr ""
"一个示例:<_:programlisting-1/> 这将创建一个包å«ä»¥ä¸‹æ–‡ä»¶çš„资æºåŒ…:<_:"
"itemizedlist-2/>"
-#: C/index-in.docbook:3597
+#: C/index-in.docbook:3605
#, no-wrap
msgid "$ glib-compile-resources --target=resources.c --generate-source toolbar.gresource.xml"
msgstr "$ glib-compile-resources --target=resources.c --generate-source toolbar.gresource.xml"
-#: C/index-in.docbook:3592
+#: C/index-in.docbook:3600
msgid ""
"You can then use <application>glib-compile-resources</application> to "
"compile the xml to a binary bundle that you can load with <methodname>Gio::"
@@ -6616,7 +6612,7 @@ msgstr ""
"包。但是使用--generate-source生æˆCæºæ–‡ä»¶ç›´æŽ¥é“¾æŽ¥åˆ°ä½ 的应用程åºæ›´ä¸ºå¸¸è§ã€‚例"
"如:<_:screen-1/>"
-#: C/index-in.docbook:3599
+#: C/index-in.docbook:3607
msgid ""
"Once a <classname>Gio::Resource</classname> has been created and registered "
"all the data in it can be accessed globally in the process by using API "
@@ -6633,7 +6629,7 @@ msgstr ""
"的全局访问数æ®ã€‚ä½ è¿˜å¯ä»¥ä½¿ç”¨ç±»ä¼¼äºŽ<uri>resource:///toolbar/rain.png</uri>çš„"
"URI通过<classname>Gio::File</classname>访问资æºæ•°æ®ã€‚"
-#: C/index-in.docbook:3607
+#: C/index-in.docbook:3615
msgid ""
"Often you don't need a <classname>Gio::Resource</classname> instance, "
"because resource data can be loaded with methods such as <methodname>Gdk::"
@@ -6646,11 +6642,11 @@ msgstr ""
"<methodname>Gtk::Builder::add_from_resource()</methodname>和<methodname>Gtk::"
"Image::set_from_resource()</methodname>ç›´æŽ¥åŠ è½½èµ„æºæ•°æ®ã€‚"
-#: C/index-in.docbook:3620
+#: C/index-in.docbook:3628
msgid "Application Menu and Main Menu example"
msgstr "应用程åºèœå•å’Œä¸»èœå•å®žä¾‹"
-#: C/index-in.docbook:3621
+#: C/index-in.docbook:3629
msgid ""
"This program contains an application menu, a menubar and a toolbar. Classes "
"are derived from <classname>Gtk::Application</classname> and <classname>Gtk::"
@@ -6660,11 +6656,11 @@ msgstr ""
"<classname>Gtk::Application</classname>和<classname>Gtk::ApplicationWindow</"
"classname>派生而æ¥çš„。"
-#: C/index-in.docbook:3628
+#: C/index-in.docbook:3636
msgid "App and Main Menu"
msgstr "应用程åºå’Œä¸»èœå•"
-#: C/index-in.docbook:3634
+#: C/index-in.docbook:3642
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/menus/main_menu/\">Source Code</ulink>"
@@ -6672,11 +6668,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/menus/main_menu/\">æºä»£ç </ulink>"
-#: C/index-in.docbook:3638
+#: C/index-in.docbook:3646
msgid "Main Menu example"
msgstr "主èœå•ç¤ºä¾‹"
-#: C/index-in.docbook:3639
+#: C/index-in.docbook:3647
msgid ""
"This program contains a menubar and a toolbar. A class is derived from "
"<classname>Gtk::Window</classname>."
@@ -6684,11 +6680,11 @@ msgstr ""
"该程åºåŒ…å«ä¸€ä¸ªèœå•æ 和一个工具æ 。一个从<classname>Gtk::Window</classname>æ´¾"
"生的类。"
-#: C/index-in.docbook:3645
+#: C/index-in.docbook:3653
msgid "Main Menu"
msgstr "主èœå•"
-#: C/index-in.docbook:3651
+#: C/index-in.docbook:3659
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/menus_and_toolbars\">Source Code</ulink>"
@@ -6696,15 +6692,15 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/menus_and_toolbars\">æºä»£ç </ulink>"
-#: C/index-in.docbook:3655
+#: C/index-in.docbook:3663
msgid "Popup Menu example"
msgstr "弹出èœå•ç¤ºä¾‹"
-#: C/index-in.docbook:3658
+#: C/index-in.docbook:3666
msgid "Popup Menu"
msgstr "弹出èœå•"
-#: C/index-in.docbook:3664
+#: C/index-in.docbook:3672
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/menus/popup/\">Source Code</ulink>"
@@ -6712,11 +6708,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/menus/popup/\">æºä»£ç </ulink>"
-#: C/index-in.docbook:3673
+#: C/index-in.docbook:3681
msgid "Adjustments"
msgstr "调整(Adjustments)"
-#: C/index-in.docbook:3675
+#: C/index-in.docbook:3683
msgid ""
"<application>gtkmm</application> has various widgets that can be visually "
"adjusted using the mouse or the keyboard, such as the <classname>Range</"
@@ -6732,7 +6728,7 @@ msgstr ""
"<classname>Viewport</classname>部件。这些部件的<classname>Gtk::Adjustment</"
"classname>对象表达了它的共有部分的API。"
-#: C/index-in.docbook:3685
+#: C/index-in.docbook:3693
msgid ""
"So that applications can react to changes, for instance when a user moves a "
"scrollbar, <classname>Gtk::Adjustment</classname> has a "
@@ -6744,11 +6740,11 @@ msgstr ""
"å·ã€‚ä½ å¯ä»¥åœ¨ä¿¡å·å¤„ç†å‡½æ•°ä¸ä½¿ç”¨<methodname>get_value()</methodname>方法获å–æ–°"
"的值。"
-#: C/index-in.docbook:3693
+#: C/index-in.docbook:3701
msgid "Creating an Adjustment"
msgstr "创建调整"
-#: C/index-in.docbook:3695
+#: C/index-in.docbook:3703
msgid ""
"The <classname>Gtk::Adjustment</classname> is created by its "
"<methodname>create()</methodname> method which is as follows:"
@@ -6756,7 +6752,7 @@ msgstr ""
"<classname>Gtk::Adjustment</classname>由它的<methodname>create()</methodname>"
"方法创建,该方法的声明如下:"
-#: C/index-in.docbook:3700
+#: C/index-in.docbook:3708
#, no-wrap
msgid ""
"Glib::RefPtr<Gtk::Adjustment> Gtk::Adjustment::create(\n"
@@ -6775,7 +6771,7 @@ msgstr ""
" double page_increment = 10,\n"
" double page_size = 0);"
-#: C/index-in.docbook:3708
+#: C/index-in.docbook:3716
msgid ""
"The <parameter>value</parameter> argument is the initial value of the "
"adjustment, usually corresponding to the topmost or leftmost position of an "
@@ -6797,11 +6793,11 @@ msgstr ""
"ç§æ–¹å¼ä¸Žå¹³ç§»éƒ¨ä»¶èƒ½è§åˆ°çš„区域大å°ã€‚<parameter>upper</parameter>å‚数被用于表示"
"平移å部件最底端或最å³ç«¯çš„åæ ‡ã€‚"
-#: C/index-in.docbook:3727
+#: C/index-in.docbook:3735
msgid "Using Adjustments the Easy Way"
msgstr "è½»æ¾ä½¿ç”¨è°ƒæ•´"
-#: C/index-in.docbook:3729
+#: C/index-in.docbook:3737
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 "
@@ -6809,7 +6805,7 @@ msgid ""
msgstr ""
"å¯è°ƒæ•´éƒ¨ä»¶å¤§è‡´å¯ä»¥åˆ†ä¸ºä½¿ç”¨å¹¶è¦æ±‚这些值使用特定å•ä½çš„和将它们视作任æ„æ•°å—的。"
-#: C/index-in.docbook:3734
+#: C/index-in.docbook:3742
msgid ""
"The group which treats the values as arbitrary numbers includes the "
"<classname>Range</classname> widgets (<classname>Scrollbar</classname> and "
@@ -6829,7 +6825,7 @@ msgstr ""
"æ•´çš„<parameter>value</parameter>的范围。默认情况下它们åªä¼šä¿®æ”¹è°ƒæ•´çš„"
"<parameter>value</parameter>。"
-#: C/index-in.docbook:3746
+#: C/index-in.docbook:3754
msgid ""
"The other group includes the <classname>Viewport</classname> widget and the "
"<classname>ScrolledWindow</classname> widget. All of these widgets use pixel "
@@ -6843,7 +6839,7 @@ msgstr ""
"的修改调整的值。虽然所有使用调整的部件都å¯ä»¥åˆ›å»ºè‡ªå·±çš„调整也å¯ä»¥ä½¿ç”¨ä½ æ供的"
"è°ƒæ•´ï¼Œä½†æ˜¯é€šå¸¸æƒ…å†µä¸‹ä½ éƒ½ä¼šå¸Œæœ›ä½¿ç”¨è¿™äº›éƒ¨ä»¶è‡ªè¡Œåˆ›å»ºçš„è°ƒæ•´ã€‚"
-#: C/index-in.docbook:3755
+#: C/index-in.docbook:3763
msgid ""
"If you share an adjustment object between a Scrollbar and a TextView widget, "
"manipulating the scrollbar will automagically adjust the TextView widget. "
@@ -6852,7 +6848,7 @@ msgstr ""
"å¦‚æžœä½ ä½¿æ»šåŠ¨æ¡å’Œæ–‡æœ¬è§†å›¾éƒ¨ä»¶å…±äº«ä¸€ä¸ªè°ƒæ•´å¯¹è±¡ï¼Œåˆ™ä½ æ“纵滚动æ¡çš„时候文本视图将"
"è¢«è‡ªåŠ¨è°ƒæ•´ã€‚ä½ å¯ä»¥è¿™æ ·è®¾ç½®ï¼š"
-#: C/index-in.docbook:3760
+#: C/index-in.docbook:3768
#, no-wrap
msgid ""
"// creates its own adjustments\n"
@@ -6865,11 +6861,11 @@ msgstr ""
"// uses the newly-created adjustment for the scrollbar as well\n"
"Gtk::Scrollbar vscrollbar (textview.get_vadjustment(), Gtk::ORIENTATION_VERTICAL);"
-#: C/index-in.docbook:3768
+#: C/index-in.docbook:3776
msgid "Adjustment Internals"
msgstr "调整的内部"
-#: C/index-in.docbook:3770
+#: C/index-in.docbook:3778
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 "
@@ -6882,7 +6878,7 @@ msgstr ""
"Adjustment</classname>的<methodname>get_value()</methodname>和"
"<methodname>set_value()</methodname>方法访问其值:"
-#: C/index-in.docbook:3778
+#: C/index-in.docbook:3786
msgid ""
"As mentioned earlier, <classname>Gtk::Adjustment</classname> can emit "
"signals. This is, of course, how updates happen automatically when you share "
@@ -6897,7 +6893,7 @@ msgstr ""
"享一个<classname>Adjustment</classname>å¯¹è±¡æ—¶ï¼Œå¦‚æžœä½ æ“纵滚动æ¡ä¸Žå…¶å…±äº«è°ƒæ•´å¯¹"
"象的其他å¯è°ƒæ•´éƒ¨ä»¶å°†ä¼šè‡ªåŠ¨æ›´æ–°ã€‚"
-#: C/index-in.docbook:3787
+#: C/index-in.docbook:3795
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 "
@@ -6906,7 +6902,7 @@ msgstr ""
"å› æ¤ï¼Œä¾‹å¦‚ï¼Œå¦‚æžœä½ æœ‰ä¸€ä¸ª<classname>Scale</classname>éƒ¨ä»¶å¹¶ä¸”ä½ æƒ³è¦å½“调整值å˜"
"更以åŽæ›´æ”¹å›¾ç‰‡çš„æ—‹è½¬è§’åº¦ï¼Œä½ å¯ä»¥åˆ›å»ºä¸€ä¸ªå¦‚下所示的信å·å¤„ç†å‡½æ•°ï¼š"
-#: C/index-in.docbook:3792
+#: C/index-in.docbook:3800
#, no-wrap
msgid ""
"void cb_rotate_picture (MyPicture* picture)\n"
@@ -6919,11 +6915,11 @@ msgstr ""
" picture->set_rotation(adj->get_value());\n"
"..."
-#: C/index-in.docbook:3796
+#: C/index-in.docbook:3804
msgid "and connect it to the scale widget's adjustment like this:"
msgstr "并且将其连接到比例部件的调整对象上,如下所示:"
-#: C/index-in.docbook:3799
+#: C/index-in.docbook:3807
#, no-wrap
msgid ""
"adj->signal_value_changed().connect(sigc::bind<MyPicture*>(sigc::mem_fun(*this,\n"
@@ -6932,7 +6928,7 @@ msgstr ""
"adj->signal_value_changed().connect(sigc::bind<MyPicture*>(sigc::mem_fun(*this,\n"
" &cb_rotate_picture), picture));"
-#: C/index-in.docbook:3802
+#: C/index-in.docbook:3810
msgid ""
"What if a widget reconfigures the <parameter>upper</parameter> or "
"<parameter>lower</parameter> fields of its <classname>Adjustment</"
@@ -6943,7 +6939,7 @@ msgstr ""
"parameter>å’Œ<parameter>lower</parameter>å—段(例如:用户å‘æ–‡æœ¬éƒ¨ä»¶æ·»åŠ äº†æ›´å¤š"
"的文本),那么它将å‘出<literal>changed</literal>ä¿¡å·ã€‚"
-#: C/index-in.docbook:3809
+#: C/index-in.docbook:3817
msgid ""
"<classname>Range</classname> widgets typically connect a handler to this "
"signal, which changes their appearance to reflect the change - for example, "
@@ -6956,23 +6952,23 @@ msgstr ""
"<parameter>lower</parameter>与<parameter>upper</parameter>的差值的增大é€æ¸å˜"
"å°ï¼Œå之则é€æ¸å¢žå¤§ã€‚"
-#: C/index-in.docbook:3818
+#: C/index-in.docbook:3826
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/index-in.docbook:3822
+#: C/index-in.docbook:3830
#, no-wrap
msgid "adjustment->signal_changed();"
msgstr "adjustment->signal_changed();"
-#: C/index-in.docbook:3829
+#: C/index-in.docbook:3837
msgid "Dialogs"
msgstr "对è¯æ¡†(Dialogs)"
-#: C/index-in.docbook:3831
+#: C/index-in.docbook:3839
msgid ""
"Dialogs are used as secondary windows, to provide specific information or to "
"ask questions. <classname>Gtk::Dialog</classname> windows contain a few pre-"
@@ -6983,7 +6979,7 @@ msgstr ""
"classname>窗å£åŒ…å«äº†ä¸€äº›é¢„装部件以确ä¿ä¸€è‡´æ€§ï¼Œä¸”有一个<methodname>run()</"
"methodname>方法å¯ä»¥é˜»å¡žåˆ°ç”¨æˆ·å…³é—对è¯æ¡†ã€‚"
-#: C/index-in.docbook:3838
+#: C/index-in.docbook:3846
msgid ""
"There are several derived <classname>Dialog</classname> classes which you "
"might find useful. <classname>Gtk::MessageDialog</classname> is used for "
@@ -6994,7 +6990,7 @@ msgstr ""
"<classname>Gtk::MessageDialog</classname>多被用于简å•çš„é€šçŸ¥ã€‚ä½†æœ‰æ—¶å€™ä½ ä¹Ÿéœ€è¦"
"派生自己的对è¯æ¡†ç±»ä»¥æ供更为å¤æ‚的功能。"
-#: C/index-in.docbook:3845
+#: C/index-in.docbook:3853
msgid ""
"To pack widgets into a custom dialog, you should pack them into the "
"<classname>Gtk::Box</classname>, available via "
@@ -7008,7 +7004,7 @@ msgstr ""
"<classname>Button</classname>ï¼Œé‚£ä¹ˆä½ å¯ä»¥ç›´æŽ¥ä½¿ç”¨<methodname>add_button()</"
"methodname>方法。"
-#: C/index-in.docbook:3853
+#: C/index-in.docbook:3861
msgid ""
"The <methodname>run()</methodname> method returns an <literal>int</literal>. "
"This may be a value from the <literal>Gtk::ResponseType</literal> if the "
@@ -7021,7 +7017,7 @@ msgstr ""
"literal>ä¸çš„一个也å¯èƒ½æ˜¯ä½¿ç”¨<methodname>add_button()</methodname>æ—¶ä½ æ‰€æŒ‡å®šçš„"
"值。"
-#: C/index-in.docbook:3860
+#: C/index-in.docbook:3868
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1Dialog.";
"html\">Reference</ulink>"
@@ -7029,11 +7025,11 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1Dialog.";
"html\">å‚考</ulink>"
-#: C/index-in.docbook:3862 C/index-in.docbook:3877
+#: C/index-in.docbook:3870 C/index-in.docbook:3885
msgid "MessageDialog"
msgstr "消æ¯å¯¹è¯æ¡†(MessageDialog)"
-#: C/index-in.docbook:3863
+#: C/index-in.docbook:3871
msgid ""
"<classname>MessageDialog</classname> is a convenience class, used to create "
"simple, standard message dialogs, with a message, an icon, and buttons for "
@@ -7046,7 +7042,7 @@ msgstr ""
"消æ¯æ–‡æœ¬ï¼Œä¹Ÿå¯ä»¥é€šè¿‡<literal>Gtk::ButtonsType</literal>枚举指定其包å«çš„æ ‡å‡†æŒ‰"
"钮。"
-#: C/index-in.docbook:3871
+#: C/index-in.docbook:3879
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1MessageDialog.html\">Reference</ulink>"
@@ -7054,7 +7050,7 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1MessageDialog.html\">å‚考</ulink>"
-#: C/index-in.docbook:3883
+#: C/index-in.docbook:3891
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/dialogs/messagedialog\">Source Code</ulink>"
@@ -7062,18 +7058,18 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/dialogs/messagedialog\">æºä»£ç </ulink>"
-#: C/index-in.docbook:3888
+#: C/index-in.docbook:3896
msgid "FileChooserDialog"
msgstr "文件选择对è¯æ¡†(FileChooserDialog)"
-#: C/index-in.docbook:3889
+#: C/index-in.docbook:3897
msgid ""
"The <classname>FileChooserDialog</classname> is suitable for use with \"Open"
"\" or \"Save\" menu items."
msgstr ""
"<classname>FileChooserDialog</classname>通常被用于\"打开\"或\"ä¿å˜\"èœå•é¡¹ã€‚"
-#: C/index-in.docbook:3893
+#: C/index-in.docbook:3901
msgid ""
"Most of the useful member methods for this class are actually in the "
"<classname>Gtk::FileChooser</classname> base class."
@@ -7081,7 +7077,7 @@ msgstr ""
"该类的大部分有用的æˆå‘˜å‡½æ•°éƒ½åœ¨å…¶åŸºç±»<classname>Gtk::FileChooser</classname>"
"ä¸ã€‚"
-#: C/index-in.docbook:3898
+#: C/index-in.docbook:3906
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1FileChooserDialog.html\">Reference</ulink>"
@@ -7089,11 +7085,11 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1FileChooserDialog.html\">å‚考</ulink>"
-#: C/index-in.docbook:3904 C/index-in.docbook:5437
+#: C/index-in.docbook:3912 C/index-in.docbook:5440
msgid "FileChooser"
msgstr "文件选择器(FileChooser)"
-#: C/index-in.docbook:3910
+#: C/index-in.docbook:3918
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/dialogs/filechooserdialog\">Source Code</ulink>"
@@ -7101,11 +7097,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/dialogs/filechooserdialog\">æºä»£ç </ulink>"
-#: C/index-in.docbook:3914 C/index-in.docbook:3927
+#: C/index-in.docbook:3922 C/index-in.docbook:3935
msgid "ColorChooserDialog"
msgstr "颜色选择器对è¯æ¡†(ColorChooserDialog)"
-#: C/index-in.docbook:3915
+#: C/index-in.docbook:3923
msgid ""
"The <classname>ColorChooserDialog</classname> allows the user to choose a "
"color. The <classname>ColorButton</classname> opens a color selection dialog "
@@ -7114,7 +7110,7 @@ msgstr ""
"<classname>ColorChooserDialog</classname>å…许用户选择一个颜色。当"
"<classname>ColorButton</classname>被点击的时会打开一个颜色选择对è¯æ¡†ã€‚"
-#: C/index-in.docbook:3921
+#: C/index-in.docbook:3929
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1ColorChooserDialog.html\">Reference</ulink>"
@@ -7122,7 +7118,7 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1ColorChooserDialog.html\">å‚考</ulink>"
-#: C/index-in.docbook:3933
+#: C/index-in.docbook:3941
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/dialogs/colorchooserdialog\">Source Code</ulink>"
@@ -7130,11 +7126,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/dialogs/colorchooserdialog\">æºä»£ç </ulink>"
-#: C/index-in.docbook:3938 C/index-in.docbook:3951
+#: C/index-in.docbook:3946 C/index-in.docbook:3959
msgid "FontChooserDialog"
msgstr "å—体选择器对è¯æ¡†(FontChooserDialog)"
-#: C/index-in.docbook:3939
+#: C/index-in.docbook:3947
msgid ""
"The <classname>FontChooserDialog</classname> allows the user to choose a "
"font. The <classname>FontButton</classname> opens a font chooser dialog when "
@@ -7143,7 +7139,7 @@ msgstr ""
"<classname>FontChooserDialog</classname>å…许用户选择一个å—体。当"
"<classname>FontButton</classname>被点击时将打开一个å—体选择对è¯æ¡†ã€‚"
-#: C/index-in.docbook:3945
+#: C/index-in.docbook:3953
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1FontChooserDialog.html\">Reference</ulink>"
@@ -7151,7 +7147,7 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1FontChooserDialog.html\">å‚考</ulink>"
-#: C/index-in.docbook:3957
+#: C/index-in.docbook:3965
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/dialogs/fontchooserdialog\">Source Code</ulink>"
@@ -7159,11 +7155,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/dialogs/fontchooserdialog\">æºä»£ç </ulink>"
-#: C/index-in.docbook:3962
+#: C/index-in.docbook:3970
msgid "Non-modal AboutDialog"
msgstr "éžæ¨¡æ€å…³äºŽå¯¹è¯æ¡†(AboutDialog)"
-#: C/index-in.docbook:3963
+#: C/index-in.docbook:3971
msgid ""
"The <classname>AboutDialog</classname> offers a simple way to display "
"information about a program, like its logo, name, copyright, website and "
@@ -7172,7 +7168,7 @@ msgstr ""
"<classname>AboutDialog</classname>æ供了一个简å•çš„显示程åºæœ‰å…³ä¿¡æ¯ï¼ˆä¾‹å¦‚æ ‡"
"å¿—ã€å称ã€ç‰ˆæƒã€ç½‘ç«™ã€è®¸å¯è¯ï¼‰çš„æ–¹å¼ã€‚"
-#: C/index-in.docbook:3967
+#: C/index-in.docbook:3975
msgid ""
"Most dialogs in this chapter are modal, that is, they freeze the rest of the "
"application while they are shown. It's also possible to create a non-modal "
@@ -7188,7 +7184,7 @@ msgstr ""
"ä¸ä¼šæƒ³è¦å°†è¯¥å¯¹è¯æ¡†åšæˆéžæ¨¡æ€ï¼Œä½†è¿™ä¸è¡¨ç¤ºéžæ¨¡æ€å¯¹è¯æ¡†åœ¨å…¶å®ƒæƒ…况下没有用。例"
"如:在<application>gedit</application>ä¸æœç´¢å’Œæ›¿æ¢å¯¹è¯æ¡†å°±æ˜¯éžæ¨¡æ€çš„。"
-#: C/index-in.docbook:3977
+#: C/index-in.docbook:3985
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1AboutDialog.html\">Reference</ulink>"
@@ -7196,11 +7192,11 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1AboutDialog.html\">å‚考</ulink>"
-#: C/index-in.docbook:3983
+#: C/index-in.docbook:3991
msgid "AboutDialog"
msgstr "关于对è¯æ¡†"
-#: C/index-in.docbook:3989
+#: C/index-in.docbook:3997
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/dialogs/aboutdialog\">Source Code</ulink>"
@@ -7208,11 +7204,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/dialogs/aboutdialog\">æºä»£ç </ulink>"
-#: C/index-in.docbook:3997
+#: C/index-in.docbook:4005
msgid "The DrawingArea Widget"
msgstr "绘图区域部件(DrawingArea Widget)"
-#: C/index-in.docbook:3998
+#: C/index-in.docbook:4006
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 "
@@ -7231,7 +7227,7 @@ msgstr ""
"ç¡®å®šå¦‚ä½•ç»˜åˆ¶ç»˜éƒ¨ä»¶çš„å†…å®¹ã€‚ä½ å¯ä»¥è°ƒç”¨<methodname>set_draw_func()</methodname>"
"æˆå‘˜å‡½æ•°æ¥è®¾ç½®ç»˜å›¾å‡½æ•°ã€‚"
-#: C/index-in.docbook:4010
+#: C/index-in.docbook:4018
msgid ""
"GTK uses the <ulink url=\"http://cairographics.org\";>Cairo</ulink> drawing "
"API. With <application>gtkmm</application>, you may use the <ulink url="
@@ -7241,7 +7237,7 @@ msgstr ""
"<application>gtkmm</application>ä¸ä½ å¯ä»¥ä½¿ç”¨ç”±<ulink url=\"http://www.";
"cairographics.org/cairomm/\">cairomm</ulink>æ供的开罗C++ API。"
-#: C/index-in.docbook:4015
+#: C/index-in.docbook:4023
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 "
@@ -7256,11 +7252,11 @@ msgstr ""
"å¤æ‚的形状和路径,然åŽç”¨çº¯è‰²ã€æ¸å˜ã€æ¨¡å¼ç‰è¿›è¡Œå¡«å……。除æ¤ä¹‹å¤–,开罗还å¯ä»¥è¿›è¡Œ"
"å¤æ‚的转æ¢ã€åˆæˆå›¾åƒå’Œæ¸²æŸ“抗锯齿文本ç‰ã€‚"
-#: C/index-in.docbook:4025
+#: C/index-in.docbook:4033
msgid "Cairo and Pango"
msgstr "开罗和Pango"
-#: C/index-in.docbook:4026
+#: C/index-in.docbook:4034
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 "
@@ -7271,7 +7267,7 @@ msgstr ""
"渲染(例如环绕和çœç•¥æ–‡æœ¬ï¼‰åˆ™Pango会是更好的选择。åªæœ‰å½“文本是图形的一部分的时"
"候æ‰åº”该使用开罗绘制文本。"
-#: C/index-in.docbook:4031
+#: C/index-in.docbook:4039
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), "
@@ -7281,11 +7277,11 @@ msgstr ""
"在本教程的这一部分ä¸ï¼Œæˆ‘们将介ç»å¼€ç½—的基本绘图模型,详细æè¿°æ¯ä¸ªåŸºæœ¬ç»˜åˆ¶å…ƒç´ "
"(包括示例),然åŽä»‹ç»ä¸€ä¸ªä½¿ç”¨å¼€ç½—绘制自定义时钟部件的简å•åº”用程åºã€‚"
-#: C/index-in.docbook:4038
+#: C/index-in.docbook:4046
msgid "The Cairo Drawing Model"
msgstr "开罗绘制模型"
-#: C/index-in.docbook:4039
+#: C/index-in.docbook:4047
msgid ""
"The basic concept of drawing in Cairo involves defining 'invisible' paths "
"and then stroking or filling them to make them visible."
@@ -7293,7 +7289,7 @@ msgstr ""
"开罗的基本概念包括定义'ä¸å¯è§'路径然åŽæ绘(stroking)或者填充(filling)它们使其"
"å¯è§ã€‚"
-#: C/index-in.docbook:4043
+#: C/index-in.docbook:4051
msgid ""
"To do any drawing in <application>gtkmm</application> with Cairo, you must "
"first get a <classname>Cairo::Context</classname> object. This class holds "
@@ -7325,7 +7321,7 @@ msgstr ""
"RefPtr<Cairo::Context></classname>对象(请注æ„区分<classname>Gdk::"
"CairoContext</classname>与<classname>Cairo::Context</classname>。)。"
-#: C/index-in.docbook:4060
+#: C/index-in.docbook:4068
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 "
@@ -7334,7 +7330,7 @@ msgstr ""
"以下示例显示如何设置一个开罗上下文(Cairo Context)çš„å‰æ™¯è‰²ä¸ºçº¢è‰²ä¸”宽度为2。任"
"何使用该上下文的绘图函数都将使用这些设置。"
-#: C/index-in.docbook:4065
+#: C/index-in.docbook:4073
#, no-wrap
msgid ""
"\n"
@@ -7353,7 +7349,7 @@ msgstr ""
"myContext->set_line_width(2.0);\n"
" "
-#: C/index-in.docbook:4072
+#: C/index-in.docbook:4080
msgid ""
"Each <classname>Cairo::Context</classname> is associated with a particular "
"<classname>Gdk::Surface</classname>, so the first line of the above example "
@@ -7368,7 +7364,7 @@ msgstr ""
"Surface</classname>创建一个<classname>Cairo::Context</classname>对象。最åŽä¸¤"
"行更改上下文的图形状æ€ã€‚"
-#: C/index-in.docbook:4080
+#: C/index-in.docbook:4088
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 "
@@ -7395,7 +7391,7 @@ msgstr ""
"填充规则ã€æ˜¯å¦æ‰§è¡ŒæŠ—锯齿规则ç‰ã€‚更多详情请å‚阅<ulink url=\"http://www.";
"cairographics.org/cairomm/\">cairomm</ulink>API文档。"
-#: C/index-in.docbook:4112
+#: C/index-in.docbook:4120
msgid ""
"It is good practice to put all modifications to the graphics state between "
"<methodname>save()</methodname>/<methodname>restore()</methodname> function "
@@ -7407,7 +7403,7 @@ msgstr ""
"methodname>调用之间进行所有对图形状æ€çš„æ›´æ”¹ã€‚ä¾‹å¦‚ï¼Œå¦‚æžœä½ æœ‰ä¸€ä¸ªå°†"
"<classname>Cairo::Context</classname>的引用作为å‚æ•°çš„å‡½æ•°ï¼Œä½ å¯ä»¥è¿™æ ·å®žçŽ°å®ƒï¼š"
-#: C/index-in.docbook:4118
+#: C/index-in.docbook:4126
#, no-wrap
msgid ""
"void doSomething(const Cairo::RefPtr<Cairo::Context>& context, int x)\n"
@@ -7426,7 +7422,7 @@ msgstr ""
" context->restore();\n"
"}"
-#: C/index-in.docbook:4095
+#: C/index-in.docbook:4103
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 "
@@ -7453,7 +7449,7 @@ msgstr ""
"<methodname>restore()</methodname>调用都会将æ¢å¤çŠ¶æ€åˆ°ä¸Žä¹‹ç›¸å¯¹åº”çš„"
"<methodname>save()</methodname>所ä¿å˜çš„状æ€ã€‚ <_:tip-1/>"
-#: C/index-in.docbook:4127
+#: C/index-in.docbook:4135
msgid ""
"The draw function that you set with a call to <methodname>set_draw_func()</"
"methodname> is called with a Cairo context that you shall use for drawing in "
@@ -7465,11 +7461,11 @@ msgstr ""
"è¦åœ¨ç»˜å›¾å‡½æ•°ä¸å¯¹æ¤å¼€ç½—上下文进行ä¿å˜å’Œæ¢å¤ï¼ˆéƒ¨ä»¶ä¼šåœ¨è°ƒç”¨ç»˜å›¾å‡½æ•°æ—¶åšä¿å˜ä¸Žæ¢"
"å¤ï¼‰ã€‚"
-#: C/index-in.docbook:4135
+#: C/index-in.docbook:4143
msgid "Drawing Straight Lines"
msgstr "画直线"
-#: C/index-in.docbook:4144
+#: C/index-in.docbook:4152
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 "
@@ -7488,7 +7484,7 @@ msgstr ""
"ä½ å¯èƒ½ä¼šéœ€è¦ä½¿ä¸€ä¸ªçª—å£çš„宽和高在调整比例åŽçš„åæ ‡ç³»ä¸å–值范围å‡å¤„于0到1之间"
"(å•ä½æ£æ–¹å½¢ï¼‰ã€‚"
-#: C/index-in.docbook:4136
+#: C/index-in.docbook:4144
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 "
@@ -7501,7 +7497,7 @@ msgstr ""
"å…ƒç´ ï¼šç›´çº¿ 开始。但是在æ¤ä¹‹å‰ä½ 需è¦å¯¹å¼€ç½—çš„åæ ‡ç³»æœ‰æ‰€äº†è§£ã€‚å¼€ç½—çš„åæ ‡ç³»åŽŸç‚¹åœ¨"
"窗å£çš„左上角,从左å‘å³X的值é€æ¸å¢žå¤§ï¼Œä»Žä¸Šå¾€ä¸‹Y的值é€æ¸å¢žå¤§ã€‚ <_:tip-1/>"
-#: C/index-in.docbook:4159
+#: C/index-in.docbook:4167
msgid ""
"In this example, we'll construct a small but fully functional "
"<application>gtkmm</application> program and draw some lines into the "
@@ -7520,7 +7516,7 @@ msgstr ""
"æ–¹ -- åœ¨ä½ ç§»åŠ¨åˆ°çš„ç‚¹å’Œä½ ä¹‹å‰æ‰€åœ¨çš„点直接ä¸ä¼šç”»å‡ºä¸€æ¡çº¿ã€‚使用"
"<methodname>line_to()</methodname>函数å¯ä»¥åœ¨ä¸¤ç‚¹ä¹‹é—´ç”»çº¿ã€‚"
-#: C/index-in.docbook:4171
+#: C/index-in.docbook:4179
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 "
@@ -7534,7 +7530,7 @@ msgstr ""
"Context</classname>对象ä¸ä¿å˜çš„çº¿å®½ä¸Žæ ·å¼ç»˜åˆ¶å½“å‰çš„路径。æ绘完æˆåŽï¼Œå½“å‰è·¯å¾„"
"å°†è¢«æ¸…é™¤ï¼Œä»¥ä¾¿ä½ å¯ä»¥ä»Žä¸‹ä¸€ä¸ªè·¯å¾„开始。"
-#: C/index-in.docbook:4180
+#: C/index-in.docbook:4188
msgid ""
"Many Cairo drawing functions have a <methodname>_preserve()</methodname> "
"variant. Normally drawing functions such as <methodname>clip()</methodname>, "
@@ -7549,11 +7545,11 @@ msgstr ""
"<methodname>_preserve()</methodname>å˜ä½“,则当å‰è·¯å¾„会被ä¿ç•™ï¼Œä»¥ä¾¿ä¸‹ä¸€ä¸ªç»˜å›¾"
"函数能继ç»åœ¨ä¸€æ ·çš„路径上绘制。"
-#: C/index-in.docbook:4190 C/index-in.docbook:4310
+#: C/index-in.docbook:4198 C/index-in.docbook:4318
msgid "Drawing Area - Lines"
msgstr "绘图区域 - 线"
-#: C/index-in.docbook:4196
+#: C/index-in.docbook:4204
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/drawingarea/simple\">Source Code</ulink>"
@@ -7561,7 +7557,7 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/drawingarea/simple\">æºä»£ç </ulink>"
-#: C/index-in.docbook:4198
+#: C/index-in.docbook:4206
msgid ""
"This program contains a single class, <classname>MyArea</classname>, which "
"is a subclass of <classname>Gtk::DrawingArea</classname> and contains an "
@@ -7591,11 +7587,11 @@ msgstr ""
"<methodname>move_to()</methodname>和<methodname>line_to()</methodname>函数创"
"建一个新的路径,然åŽä½¿ç”¨<methodname>stroke()</methodname>绘制了这个路径。"
-#: C/index-in.docbook:4217
+#: C/index-in.docbook:4225
msgid "Drawing with relative coordinates"
msgstr "使用相对åæ ‡ç»˜å›¾"
-#: C/index-in.docbook:4218
+#: C/index-in.docbook:4226
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 "
@@ -7605,11 +7601,11 @@ msgstr ""
"ç›´çº¿è€Œè¨€ï¼Œä½ å¯ä»¥é€šè¿‡<methodname>Cairo::Context::rel_line_to()</methodname>完"
"æˆç”¨ç›¸å¯¹åæ ‡ç»˜å›¾ã€‚"
-#: C/index-in.docbook:4224
+#: C/index-in.docbook:4232
msgid "Line styles"
msgstr "线型"
-#: C/index-in.docbook:4225
+#: C/index-in.docbook:4233
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 "
@@ -7618,7 +7614,7 @@ msgstr ""
"é™¤äº†ç»˜åˆ¶åŸºæœ¬ç›´çº¿ä»¥å¤–ï¼Œä½ è¿˜å¯ä»¥å¯¹çº¿æ¡è¿›è¡Œå¾ˆå¤šè‡ªå®šä¹‰ã€‚ä½ å·²ç»çœ‹åˆ°äº†å¯¹çº¿æ¡é¢œè‰²å’Œ"
"线æ¡å®½åº¦çš„示例,但还有其他示例。"
-#: C/index-in.docbook:4231
+#: C/index-in.docbook:4239
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 "
@@ -7628,11 +7624,11 @@ msgstr ""
"æ供了三ç§ä¸åŒçš„连接线æ¡çš„æ–¹å¼ï¼šæ–œæŽ¥(Miter)ã€æ–œåˆ‡(Bevel)ã€åœ†(Round)。这些连接"
"æ–¹å¼çš„示æ„图如下:"
-#: C/index-in.docbook:4238
+#: C/index-in.docbook:4246
msgid "Different join types in Cairo"
msgstr "开罗的ä¸åŒè¿žæŽ¥ç±»åž‹"
-#: C/index-in.docbook:4243
+#: C/index-in.docbook:4251
msgid ""
"The line join style is set using the function <methodname>Cairo::Context::"
"set_line_join()</methodname>."
@@ -7640,7 +7636,7 @@ msgstr ""
"线æ¡è¿žæŽ¥æ ·å¼ç”±<methodname>Cairo::Context::set_line_join()</methodname>函数进"
"行设置。"
-#: C/index-in.docbook:4247
+#: C/index-in.docbook:4255
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 "
@@ -7654,7 +7650,7 @@ msgstr ""
"方形的ä¸å¿ƒï¼‰ã€‚è¿™å¯ä»¥ä½¿ç”¨<methodname>Cairo::Context::set_line_cap()</"
"methodname>函数使用。"
-#: C/index-in.docbook:4257
+#: C/index-in.docbook:4265
msgid ""
"There are other things you can customize as well, including creating dashed "
"lines and other things. For more information, see the Cairo API "
@@ -7662,11 +7658,11 @@ msgid ""
msgstr ""
"ä½ è¿˜å¯ä»¥è‡ªå®šä¹‰å…¶ä»–内容,比如创建虚线ç‰ã€‚更多有关信æ¯è¯·å‚阅开罗API文档。"
-#: C/index-in.docbook:4264
+#: C/index-in.docbook:4272
msgid "Drawing thin lines"
msgstr "画细线"
-#: C/index-in.docbook:4265
+#: C/index-in.docbook:4273
msgid ""
"If you try to draw one pixel wide lines, you may notice that the line "
"sometimes comes up blurred and wider than it ought to be. This happens "
@@ -7683,7 +7679,7 @@ msgstr ""
"能åšåˆ°çš„(åƒç´ 是最å°çš„å•ä½ï¼‰ã€‚所以当åƒç´ 的宽度是奇数的时候就会出现这ç§æƒ…况"
"(ä¸åªæ˜¯ä¸€ä¸ªåƒç´ 的时候)。"
-#: C/index-in.docbook:4275
+#: C/index-in.docbook:4283
msgid ""
"The trick is to position in the middle of the pixel where you want the line "
"to be drawn, and thus guaranteeing you get the desired results. See <ulink "
@@ -7693,11 +7689,11 @@ msgstr ""
"<ulink url=\"http://cairographics.org/FAQ/#sharp_lines\";>开罗常è§é—®é¢˜</"
"ulink>。"
-#: C/index-in.docbook:4282
+#: C/index-in.docbook:4290
msgid "Drawing Area - Thin Lines"
msgstr "绘图区域 - 细线"
-#: C/index-in.docbook:4288
+#: C/index-in.docbook:4296
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/drawingarea/thin_lines\">Source Code</ulink>"
@@ -7705,11 +7701,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/drawingarea/thin_lines\">æºä»£ç </ulink>"
-#: C/index-in.docbook:4293
+#: C/index-in.docbook:4301
msgid "Drawing Curved Lines"
msgstr "画曲线"
-#: C/index-in.docbook:4294
+#: C/index-in.docbook:4302
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::"
@@ -7723,13 +7719,13 @@ msgstr ""
"的绘制曲线(从技术上而言是三次è´å¡žå°”曲线)。这些函数需è¦ä¸€ä¸ªç›®æ ‡ç‚¹çš„åæ ‡å’Œä¸¤"
"个'控制'点的åæ ‡ã€‚è¿™æœ€å¥½ç”¨ä¸€ä¸ªç¤ºä¾‹æ¥è§£é‡Šï¼Œæ‰€ä»¥è®©æˆ‘们开始å§ã€‚"
-#: C/index-in.docbook:4305
+#: C/index-in.docbook:4313
msgid ""
"This simple application draws a curve with Cairo and displays the control "
"points for each end of the curve."
msgstr "这个简å•çš„示例程åºä½¿ç”¨å¼€ç½—绘制了一æ¡æ›²çº¿å¹¶æ˜¾ç¤ºäº†æ›²çº¿ä¸¤ç«¯çš„控制点。"
-#: C/index-in.docbook:4316
+#: C/index-in.docbook:4324
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/drawingarea/curve\">Source Code</ulink>"
@@ -7737,7 +7733,7 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/drawingarea/curve\">æºä»£ç </ulink>"
-#: C/index-in.docbook:4317
+#: C/index-in.docbook:4325
msgid ""
"The only difference between this example and the straight line example is in "
"the <methodname>on_draw()</methodname> function, but there are a few new "
@@ -7746,7 +7742,7 @@ msgstr ""
"这个示例与绘制直线示例的唯一区别在它们的<methodname>on_draw()</methodname>函"
"数,ä¸è¿‡è¿™é‡Œå¼•å…¥äº†ä¸€äº›æ–°çš„概念和函数,所以让我们简è¦çš„介ç»ä¸€ä¸‹å®ƒä»¬ã€‚"
-#: C/index-in.docbook:4323
+#: C/index-in.docbook:4331
msgid ""
"We make a call to <methodname>Cairo::Context::scale()</methodname>, passing "
"in the width and height of the drawing area. This scales the user-space "
@@ -7759,7 +7755,7 @@ msgstr ""
"其实并没有什么特别的è¦å¯¹åæ ‡ç³»è¿›è¡Œç¼©æ”¾çš„ç†ç”±ï¼Œåªæ˜¯ä¸ºäº†ä½¿ç»˜å›¾æ“作有时候更易"
"用。"
-#: C/index-in.docbook:4332
+#: C/index-in.docbook:4340
msgid ""
"The call to <methodname>Cairo::Context::curve_to()</methodname> should be "
"fairly self-explanatory. The first pair of coordinates define the control "
@@ -7782,11 +7778,11 @@ msgstr ""
"<methodname>set_source_rgba()</methodname>实现的。这个函数使用第四个å‚æ•°æ¥æŽ¥"
"å—指定颜色的alpha值(值的有效区间为0到1)。"
-#: C/index-in.docbook:4350
+#: C/index-in.docbook:4358
msgid "Drawing Arcs and Circles"
msgstr "画圆弧和圆"
-#: C/index-in.docbook:4351
+#: C/index-in.docbook:4359
msgid ""
"With Cairo, the same function is used to draw arcs, circles, or ellipses: "
"<methodname>Cairo::Context::arc()</methodname>. This function takes five "
@@ -7809,7 +7805,18 @@ msgstr ""
"沿ç€Xè½´çš„æ£æ–¹å‘å‘Yè½´çš„æ£æ–¹å‘é€æ¸å¢žåŠ 。所以使用默认的å˜æ¢çŸ©é˜µçš„时候,角度沿ç€"
"顺时针方å‘å¢žåŠ ï¼ˆè¯·è®°ä½Yè½´çš„æ£æ–¹å‘指å‘下方)。"
-#: C/index-in.docbook:4372
+#: C/index-in.docbook:4374
+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 "
+"with center at <varname>x</varname>, <varname>y</varname> and size "
+"<varname>width</varname>, <varname>height</varname>:"
+msgstr ""
+"想è¦ç»˜åˆ¶æ¤åœ†çš„è¯ï¼Œä½ å¯ä»¥åœ¨Xå’ŒYæ–¹å‘用ä¸åŒçš„é‡ç¼©æ”¾å½“å‰çš„å˜æ¢çŸ©é˜µã€‚ä¾‹å¦‚ï¼Œå¦‚æžœä½ "
+"想è¦ç»˜åˆ¶ä¸€ä¸ªä»¥<varname>x</varname>,<varname>y</varname>为ä¸å¿ƒï¼Œå¤§å°ä¸º"
+"<varname>width</varname>,<varname>height</varname>çš„æ¤åœ†ï¼š"
+
+#: C/index-in.docbook:4380
#, no-wrap
msgid ""
"context->save();\n"
@@ -7824,29 +7831,17 @@ msgstr ""
"context->arc(0.0, 0.0, 1.0, 0.0, 2 * M_PI);\n"
"context->restore();"
-#: C/index-in.docbook:4366
-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 "
-"with center at <varname>x</varname>, <varname>y</varname> and size "
-"<varname>width</varname>, <varname>height</varname>: <_:programlisting-1/>"
-msgstr ""
-"想è¦ç»˜åˆ¶æ¤åœ†çš„è¯ï¼Œä½ å¯ä»¥åœ¨Xå’ŒYæ–¹å‘用ä¸åŒçš„é‡ç¼©æ”¾å½“å‰çš„å˜æ¢çŸ©é˜µã€‚ä¾‹å¦‚ï¼Œå¦‚æžœä½ "
-"想è¦ç»˜åˆ¶ä¸€ä¸ªä»¥<varname>x</varname>,<varname>y</varname>为ä¸å¿ƒï¼Œå¤§å°ä¸º"
-"<varname>width</varname>,<varname>height</varname>çš„æ¤åœ†ï¼š <_:"
-"programlisting-1/>"
-
-#: C/index-in.docbook:4380
+#: C/index-in.docbook:4387
msgid ""
"Here's an example of a simple program that draws an arc, a circle and an "
"ellipse into a drawing area."
msgstr "这是一个简å•çš„示例程åºï¼Œå®ƒåœ¨ç»˜å›¾åŒºåŸŸç»˜åˆ¶äº†ä¸€ä¸ªåœ†å¼§ã€ä¸€ä¸ªåœ†å’Œä¸€ä¸ªæ¤åœ†ã€‚"
-#: C/index-in.docbook:4385
+#: C/index-in.docbook:4392
msgid "Drawing Area - Arcs"
msgstr "绘图区域 - 圆弧"
-#: C/index-in.docbook:4392
+#: C/index-in.docbook:4399
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/drawingarea/arcs\">Source Code</ulink>"
@@ -7854,7 +7849,7 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/drawingarea/arcs\">æºä»£ç </ulink>"
-#: C/index-in.docbook:4394
+#: C/index-in.docbook:4401
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 "
@@ -7866,7 +7861,7 @@ msgstr ""
"<methodname>on_draw()</methodname>函数ä¸ï¼Œå› æ¤æˆ‘们é‡ç‚¹æŽ¥å—这个函数。å¦å¤–,函"
"数的第一部分与之å‰çš„ä¹Ÿå‡ ä¹Žä¸€æ ·ï¼Œæ‰€ä»¥æˆ‘ä»¬å°†ä¼šè·³è¿‡è¯¥éƒ¨åˆ†ã€‚"
-#: C/index-in.docbook:4402
+#: C/index-in.docbook:4409
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 "
@@ -7881,7 +7876,7 @@ msgstr ""
"methodname>/<methodname>restore()</methodname>包裹,以便我们在æ¯æ¬¡ç»˜å®Œå›¾éƒ½èƒ½"
"返回已知状æ€ã€‚"
-#: C/index-in.docbook:4411
+#: C/index-in.docbook:4418
msgid ""
"The section for drawing an arc introduces one new function, "
"<methodname>close_path()</methodname>. This function will in effect draw a "
@@ -7900,11 +7895,11 @@ msgstr ""
"èµ·ã€‚å¦‚æžœä½ æ”¹ç”¨<methodname>line_to()</methodname>,那么这些线将在åŒä¸€ä¸ªç‚¹ç»“æŸ"
"但是开罗ä¸ä¼šå¯¹æ¤åšä»»ä½•ç‰¹æ®Šçš„连接。"
-#: C/index-in.docbook:4424
+#: C/index-in.docbook:4431
msgid "Drawing counter-clockwise"
msgstr "逆时针绘图"
-#: C/index-in.docbook:4425
+#: C/index-in.docbook:4432
msgid ""
"The function <methodname>Cairo::Context::arc_negative()</methodname> is "
"exactly the same as <methodname>Cairo::Context::arc()</methodname> but the "
@@ -7914,15 +7909,15 @@ msgstr ""
"<methodname>Cairo::Context::arc()</methodname>函数完全一致,但是他们的绘制方"
"å‘是相å的。"
-#: C/index-in.docbook:4437
+#: C/index-in.docbook:4444
msgid "Drawing Text"
msgstr "绘制文本"
-#: C/index-in.docbook:4439
+#: C/index-in.docbook:4446
msgid "Drawing Text with Pango"
msgstr "使用Pango绘制文本"
-#: C/index-in.docbook:4440
+#: C/index-in.docbook:4447
msgid ""
"Text is drawn via Pango Layouts. The easiest way to create a "
"<classname>Pango::Layout</classname> is to use <methodname>Gtk::Widget::"
@@ -7936,7 +7931,7 @@ msgstr ""
"以åŽï¼Œå¯ä»¥é€šè¿‡å„ç§æ–¹å¼æ“纵布局,包括更改文本ã€å—体ç‰ã€‚然åŽå¯ä»¥ä½¿ç”¨"
"<methodname>Pango::Layout::show_in_cairo_context()</methodname>方法渲染布局。"
-#: C/index-in.docbook:4452
+#: C/index-in.docbook:4459
msgid ""
"Here is an example of a program that draws some text, some of it upside-"
"down. The Printing chapter contains another <link linkend=\"sec-printing-"
@@ -7945,11 +7940,11 @@ msgstr ""
"这是一个绘制一些文本的示例程åºï¼Œå…¶ä¸çš„ä¸€äº›æ–‡æœ¬ä¸Šä¸‹é¢ å€’ã€‚æ‰“å°ä¸€ç« 包å«äº†å¦ä¸€ä¸ª"
"绘制文本的<link linkend=\"sec-printing-example\">示例</link>。"
-#: C/index-in.docbook:4458
+#: C/index-in.docbook:4465
msgid "Drawing Area - Text"
msgstr "绘图区域 - 文本"
-#: C/index-in.docbook:4464
+#: C/index-in.docbook:4471
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/drawingarea/pango_text\">Source Code</ulink>"
@@ -7957,11 +7952,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/drawingarea/pango_text\">æºä»£ç </ulink>"
-#: C/index-in.docbook:4475
+#: C/index-in.docbook:4482
msgid "Drawing Images"
msgstr "绘制图片"
-#: C/index-in.docbook:4476
+#: C/index-in.docbook:4483
msgid ""
"There is a method for drawing from a <classname>Gdk::Pixbuf</classname> to a "
"<classname>Cairo::Context</classname>. A <classname>Gdk::Pixbuf</classname> "
@@ -7972,7 +7967,7 @@ msgstr ""
"Context</classname>。<classname>Gdk::Pixbuf</classname>缓冲区是对åƒç´ 集åˆçš„有"
"效å°è£…,它æ供了从文件读å–以åŠå„ç§æ“纵åƒç´ çš„æ–¹å¼ã€‚"
-#: C/index-in.docbook:4483
+#: C/index-in.docbook:4490
msgid ""
"Probably the most common way of creating <classname>Gdk::Pixbuf</classname>s "
"is to use <methodname>Gdk::Pixbuf::create_from_file()</methodname> or "
@@ -7984,7 +7979,7 @@ msgstr ""
"create_from_resource()</methodname>,它们å¯ä»¥å°†å›¾åƒæ–‡ä»¶ï¼ˆä¾‹å¦‚png文件)读å–到"
"pixbufä¸ç”¨äºŽæ¸²æŸ“。"
-#: C/index-in.docbook:4491
+#: C/index-in.docbook:4498
msgid ""
"The <classname>Gdk::Pixbuf</classname> can be rendered by setting it as the "
"source pattern of the Cairo context with <methodname>Gdk::Cairo::"
@@ -8004,7 +7999,7 @@ msgstr ""
"<methodname>set_source_pixbuf()</methodname>ä¸æ˜¯<classname>Cairo::Context</"
"classname>çš„æˆå‘˜å‡½æ•°ã€‚<classname>Cairo::Context</classname>是它的第一个å‚数。"
-#: C/index-in.docbook:4502
+#: C/index-in.docbook:4509
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 draw signal handler! It's just "
@@ -8013,7 +8008,7 @@ msgstr ""
"这是一å°æ®µå°†ä»–们结åˆåœ¨ä¸€èµ·çš„代ç (请注æ„ï¼Œé€šå¸¸ä½ ä¸åº”该在æ¯æ¬¡è°ƒç”¨ç»˜åˆ¶ä¿¡å·å¤„ç†"
"å‡½æ•°çš„æ—¶å€™éƒ½åŠ è½½ä¸€æ¬¡å›¾ç‰‡ï¼‰ï¼š"
-#: C/index-in.docbook:4507
+#: C/index-in.docbook:4514
#, no-wrap
msgid ""
"void MyArea::on_draw(const Cairo::RefPtr<Cairo::Context>& cr, int width, int height)\n"
@@ -8034,12 +8029,12 @@ msgstr ""
" cr->fill();\n"
"}"
-#: C/index-in.docbook:4524
+#: C/index-in.docbook:4531
#, no-wrap
msgid "$ glib-compile-resources --target=resources.c --generate-source image.gresource.xml"
msgstr "$ glib-compile-resources --target=resources.c --generate-source image.gresource.xml"
-#: C/index-in.docbook:4517
+#: C/index-in.docbook:4524
msgid ""
"Here is an example of a simple program that draws an image. The program "
"loads the image from a resource file. See the <link linkend=\"sec-gio-"
@@ -8053,11 +8048,11 @@ msgstr ""
"节。使用<application>glib-compile-resources</application>将资æºæ–‡ä»¶ç¼–译为Cæº"
"文件,然åŽå°†è¯¥æºæ–‡ä»¶ä¸ŽC++代ç 一起编译链接。例如:<_:screen-1/>"
-#: C/index-in.docbook:4527
+#: C/index-in.docbook:4534
msgid "Drawing Area - Image"
msgstr "绘图区域 - 图åƒ"
-#: C/index-in.docbook:4533
+#: C/index-in.docbook:4540
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/drawingarea/image\">Source Code</ulink>"
@@ -8065,11 +8060,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/drawingarea/image\">æºä»£ç </ulink>"
-#: C/index-in.docbook:4547
+#: C/index-in.docbook:4554
msgid "Example Application: Creating a Clock with Cairo"
msgstr "示例程åºï¼šä½¿ç”¨å¼€ç½—创建时钟"
-#: C/index-in.docbook:4548
+#: C/index-in.docbook:4555
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. "
@@ -8082,7 +8077,7 @@ msgstr ""
"定义的<classname>Clock</classname>部件。这个时钟有秒针ã€åˆ†é’ˆã€æ—¶é’ˆï¼Œå¹¶ä¸”æ¯ä¸€"
"秒更新一次。"
-#: C/index-in.docbook:4559
+#: C/index-in.docbook:4566
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/drawingarea/clock\">Source Code</ulink>"
@@ -8090,7 +8085,7 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/drawingarea/clock\">æºä»£ç </ulink>"
-#: C/index-in.docbook:4560
+#: C/index-in.docbook:4567
msgid ""
"As before, almost all of the interesting stuff is done in the draw function "
"<methodname>on_draw()</methodname>. Before we dig into the draw function, "
@@ -8108,7 +8103,7 @@ msgstr ""
"å°†æ¯ç§’被调用一次。这个函数的唯一任务就是使窗å£æ— 效,以便<application>gtkmm</"
"application>强制é‡ç»˜å®ƒã€‚"
-#: C/index-in.docbook:4571
+#: C/index-in.docbook:4578
msgid ""
"Now let's take a look at the code that performs the actual drawing. The "
"first section of <methodname>on_draw()</methodname> should be pretty "
@@ -8123,7 +8118,7 @@ msgstr ""
"按窗å£å¤§å°çš„百分比绘制时钟。æ¤å¤–åæ ‡ç³»æ˜¯æŒ‰æ¯”ä¾‹ç¼©æ”¾çš„ï¼Œæ‰€ä»¥(0,0)åæ ‡ä½äºŽçª—å£çš„"
"æ£ä¸å¤®ã€‚"
-#: C/index-in.docbook:4581
+#: C/index-in.docbook:4588
msgid ""
"The function <methodname>Cairo::Context::paint()</methodname> is used here "
"to set the background color of the window. This function takes no arguments "
@@ -8141,7 +8136,7 @@ msgstr ""
"è¡Œæ边。请注æ„,这两个æ“作都用<methodname>_preserve</methodname>å˜ä½“以ä¿ç•™å½“"
"å‰è·¯å¾„,然åŽå¯¹ç›¸åŒçš„路径进行剪辑以确ä¿æˆ‘们下一行ä¸ä¼šè¶…过时钟的轮廓。"
-#: C/index-in.docbook:4593
+#: C/index-in.docbook:4600
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 "
@@ -8153,7 +8148,7 @@ msgstr ""
"线。接ç€æˆ‘们就å¯ä»¥å®žçŽ°æ—¶é’Ÿçš„计时功能了 -- 获å–当å‰æ—¶é—´çš„æ—¶ã€åˆ†ã€ç§’然åŽä»¥æ£ç¡®"
"的角度将指针绘制出æ¥ã€‚"
-#: C/index-in.docbook:4605
+#: C/index-in.docbook:4612
msgid ""
"<classname>Gtk::Widget</classname> has several methods and signals which are "
"prefixed with \"drag_\". These are used for Drag and Drop."
@@ -8161,11 +8156,11 @@ msgstr ""
"<classname>Gtk::Widget</classname>æä¾›äº†å‡ ä¸ªå¸¦æœ‰\"drag_\"å‰ç¼€çš„方法和信å·ç”¨ä»¥"
"支æŒæ‹–放。"
-#: C/index-in.docbook:4610
+#: C/index-in.docbook:4617
msgid "Sources and Destinations"
msgstr "æºä¸Žç›®çš„地"
-#: C/index-in.docbook:4611
+#: C/index-in.docbook:4618
msgid ""
"Things are dragged from <literal>sources</literal> to be dropped on "
"<literal>destinations</literal>. Each source and destination has information "
@@ -8180,7 +8175,7 @@ msgstr ""
"é€æˆ–接å—çš„æ•°æ®æ ¼å¼çš„相关信æ¯ã€‚放置目的地åªä¼šåœ¨æ‹–动项与其具有共åŒçš„兼容类型时"
"æ‰ä¼šæŽ¥å—它们。然åŽå°†ä¼šå‘出适当的信å·ï¼Œå‘Šè¯‰ä¿¡å·å¤„ç†å‡½æ•°ä½¿ç”¨äº†é‚£ç§æ ¼å¼ã€‚"
-#: C/index-in.docbook:4619
+#: C/index-in.docbook:4626
msgid ""
"<classname>Gdk::ContentFormats</classname> objects contain information about "
"available <type>GType</type>s and mime types (media types)."
@@ -8188,7 +8183,7 @@ msgstr ""
"<classname>Gdk::ContentFormats</classname>对象包å«äº†å¯ç”¨çš„<type>GType</type>"
"å’ŒMIME类型(媒体类型)的相关信æ¯ã€‚"
-#: C/index-in.docbook:4628
+#: C/index-in.docbook:4635
msgid ""
"<classname>Widget</classname>s can be identified as sources or destinations "
"using these <classname>Gtk::Widget</classname> methods:"
@@ -8196,7 +8191,7 @@ msgstr ""
"<classname>Gtk::Widget</classname>的以下方法å¯ä»¥å°†<classname>Widget</"
"classname>作为æºæˆ–è€…ç›®æ ‡ï¼š"
-#: C/index-in.docbook:4632
+#: C/index-in.docbook:4639
#, no-wrap
msgid ""
"void drag_source_set(const Glib::RefPtr<Gdk::ContentFormats>& targets,\n"
@@ -8205,7 +8200,7 @@ msgstr ""
"void drag_source_set(const Glib::RefPtr<Gdk::ContentFormats>& targets,\n"
" Gdk::ModifierType start_button_mask, Gdk::DragAction actions);"
-#: C/index-in.docbook:4637
+#: C/index-in.docbook:4644
msgid ""
"<literal>targets</literal> is a <classname>Gdk::ContentFormats</classname> "
"object."
@@ -8213,7 +8208,7 @@ msgstr ""
"<literal>targets</literal>是一个<classname>Gdk::ContentFormats</classname>对"
"象。"
-#: C/index-in.docbook:4642
+#: C/index-in.docbook:4649
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."
@@ -8221,7 +8216,7 @@ msgstr ""
"<literal>start_button_mask</literal>是一组值异或åŽçš„结果,用于指定按下哪个组"
"åˆé”®æˆ–é¼ æ ‡æŒ‰é”®æ‰èƒ½å¼€å§‹æ‹–动。"
-#: C/index-in.docbook:4649
+#: C/index-in.docbook:4656
msgid ""
"<literal>actions</literal> is an ORed combination of values, which specify "
"which Drag and Drop operations will be possible from this source - for "
@@ -8235,7 +8230,7 @@ msgstr ""
"<keycap>Shift</keycap>键将动作从<literal>copy</literal>改å˜ä¸º<literal>move</"
"literal>ï¼Œè¿™è¿˜ä¼šä½¿å…‰æ ‡æ˜¾ç¤ºä¸åŒçš„æ ·å¼ã€‚"
-#: C/index-in.docbook:4660
+#: C/index-in.docbook:4667
#, no-wrap
msgid ""
"void drag_dest_set(const Glib::RefPtr<Gdk::ContentFormats>& targets,\n"
@@ -8244,42 +8239,42 @@ msgstr ""
"void drag_dest_set(const Glib::RefPtr<Gdk::ContentFormats>& targets,\n"
" Gtk::DestDefaults flags, Gdk::DragAction actions);"
-#: C/index-in.docbook:4665
+#: C/index-in.docbook:4672
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/index-in.docbook:4671
+#: C/index-in.docbook:4678
msgid ""
"<literal>actions</literal> indicates the Drag and Drop actions which this "
"destination can receive - see the description above."
msgstr ""
"<literal>actions</literal>指示æ¤ç›®çš„地å¯ä»¥æŽ¥å—的拖放动作 - 请å‚阅上é¢çš„æ述。"
-#: C/index-in.docbook:4680
+#: C/index-in.docbook:4687
msgid "<methodname>drag_source_add_text_targets()</methodname>"
msgstr "<methodname>drag_source_add_text_targets()</methodname>"
-#: C/index-in.docbook:4681
+#: C/index-in.docbook:4688
msgid "<methodname>drag_source_add_image_targets()</methodname>"
msgstr "<methodname>drag_source_add_image_targets()</methodname>"
-#: C/index-in.docbook:4682
+#: C/index-in.docbook:4689
msgid "<methodname>drag_dest_add_text_targets()</methodname>"
msgstr "<methodname>drag_dest_add_text_targets()</methodname>"
-#: C/index-in.docbook:4683
+#: C/index-in.docbook:4690
msgid "<methodname>drag_dest_add_image_targets()</methodname>"
msgstr "<methodname>drag_dest_add_image_targets()</methodname>"
-#: C/index-in.docbook:4677
+#: C/index-in.docbook:4684
msgid ""
"There are several methods to add source formats and destination formats. "
"Examples: <_:itemizedlist-1/>"
msgstr "æœ‰äº›æ·»åŠ æºæ ¼å¼å’Œç›®çš„åœ°æ ¼å¼çš„方法。例如:<_:itemizedlist-1/>"
-#: C/index-in.docbook:4690
+#: C/index-in.docbook:4697
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 "
@@ -8295,17 +8290,17 @@ msgstr ""
"<methodname>drag_dest_set()</methodname>和<methodname>drag_source_set()</"
"methodname>时所指定的动作。"
-#: C/index-in.docbook:4701 C/index-in.docbook:4822
+#: C/index-in.docbook:4708 C/index-in.docbook:4829
msgid "Copy"
msgstr "å¤åˆ¶"
-#: C/index-in.docbook:4705
+#: C/index-in.docbook:4712
msgid ""
"<literal>drag_begin</literal>: Provides a <classname>Gdk::Drag</classname>."
msgstr ""
"<literal>drag_begin</literal>:æ供一个<classname>Gdk::Drag</classname>。"
-#: C/index-in.docbook:4706
+#: C/index-in.docbook:4713
msgid ""
"<literal>drag_data_get</literal>: Provides a <classname>Gdk::Drag</"
"classname>, and a <classname>Gtk::SelectionData</classname> object, in which "
@@ -8315,18 +8310,18 @@ msgstr ""
"一个<classname>Gtk::SelectionData</classname>å¯¹è±¡ï¼Œä½ åº”è¯¥åœ¨å…¶ä¸æ”¾å…¥æ‰€è¯·æ±‚çš„æ•°"
"æ®ã€‚"
-#: C/index-in.docbook:4708
+#: C/index-in.docbook:4715
msgid ""
"<literal>drag_end</literal>: Provides a <classname>Gdk::Drag</classname>."
msgstr ""
"<literal>drag_end</literal>:æ供一个<classname>Gdk::Drag</classname>。"
-#: C/index-in.docbook:4702
+#: C/index-in.docbook:4709
msgid ""
"The source widget will emit these signals, in this order: <_:itemizedlist-1/>"
msgstr "æºéƒ¨ä»¶å°†æŒ‰ä»¥ä¸‹é¡ºåºå‘出这些信å·ï¼š<_:itemizedlist-1/>"
-#: C/index-in.docbook:4714
+#: C/index-in.docbook:4721
msgid ""
"<literal>drag_motion</literal>: Provides a <classname>Gdk::Drop</classname> "
"and coordinates. You can call the <methodname>status()</methodname> method "
@@ -8337,7 +8332,7 @@ msgstr ""
"åæ ‡ã€‚ä½ å¯ä»¥è°ƒç”¨<classname>Gdk::Drop</classname>çš„<methodname>status()</"
"methodname>方法æ¥æŒ‡ç¤ºè¦æŽ¥å—的动作。"
-#: C/index-in.docbook:4717
+#: C/index-in.docbook:4724
msgid ""
"<literal>drag_drop</literal>: Provides a <classname>Gdk::Drop</classname> "
"and coordinates. You can call <methodname>drag_get_data()</methodname>, "
@@ -8350,7 +8345,7 @@ msgstr ""
"<literal>drag_data_get</literal>ä¿¡å·ï¼Œå¹¶åœ¨ä¹‹åŽè§¦å‘目的地部件的"
"<literal>drag_data_received</literal>ä¿¡å·ã€‚"
-#: C/index-in.docbook:4722
+#: C/index-in.docbook:4729
msgid ""
"<literal>drag_data_received</literal>: Provides a <classname>Gdk::Drop</"
"classname>, and a <methodname>Gtk::SelectionData</methodname> object which "
@@ -8364,23 +8359,23 @@ msgstr ""
"å¯¹è±¡ã€‚ä½ åº”è¯¥è°ƒç”¨<classname>Gdk::Drop</classname>çš„<methodname>finish()</"
"methodname>或<methodname>failed()</methodname>方法æ¥æŒ‡ç¤ºæ“作是å¦æˆåŠŸã€‚"
-#: C/index-in.docbook:4711
+#: C/index-in.docbook:4718
msgid ""
"The destination widget will emit these signals, in this order: <_:"
"itemizedlist-1/>"
msgstr "目的地部件将按以下顺åºå‘出这些信å·ï¼š<_:itemizedlist-1/>"
-#: C/index-in.docbook:4736
+#: C/index-in.docbook:4743
msgid "Move"
msgstr "移动"
-#: C/index-in.docbook:4739
+#: C/index-in.docbook:4746
msgid ""
"<literal>drag_data_delete</literal>: Gives the source the opportunity to "
"delete the original data if that's appropriate."
msgstr "<literal>drag_data_delete</literal>:给æºåˆ 除原始数æ®çš„åˆé€‚时机。"
-#: C/index-in.docbook:4737
+#: C/index-in.docbook:4744
msgid ""
"During a <literal>move</literal>, the source widget will also emit this "
"signal: <_:itemizedlist-1/>"
@@ -8388,13 +8383,13 @@ msgstr ""
"在<literal>move</literal>的过程ä¸ï¼Œæºéƒ¨ä»¶è¿˜å°†ä¼šå‘出以下信å·ï¼š<_:"
"itemizedlist-1/>"
-#: C/index-in.docbook:4754
+#: C/index-in.docbook:4761
msgid ""
"Here is a very simple example, demonstrating a drag and drop <literal>Copy</"
"literal> operation:"
msgstr "这是一个éžå¸¸ç®€å•çš„示例,演示了拖放的<literal>Copy</literal>æ“作:"
-#: C/index-in.docbook:4763
+#: C/index-in.docbook:4770
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/drag_and_drop\">Source Code</ulink>"
@@ -8402,15 +8397,15 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/drag_and_drop\">æºä»£ç </ulink>"
-#: C/index-in.docbook:4765
+#: C/index-in.docbook:4772
msgid "There is a more complex example in examples/others/dnd."
msgstr "在examples/others/dndä¸æœ‰ä¸€ä¸ªæ›´å¤æ‚的示例。"
-#: C/index-in.docbook:4774
+#: C/index-in.docbook:4781
msgid "The Clipboard"
msgstr "剪切æ¿(Clipboard)"
-#: C/index-in.docbook:4775
+#: C/index-in.docbook:4782
msgid ""
"Simple text copy-paste functionality is provided for free by widgets such as "
"<classname>Gtk::Entry</classname> and <classname>Gtk::TextView</classname>, "
@@ -8423,7 +8418,7 @@ msgstr ""
"编写特定的代ç 。例如,绘图程åºéœ€è¦ç¼–写特定的代ç 以支æŒåœ¨è§†å›¾å†…或文档之间进行"
"å¤åˆ¶ç²˜è´´ã€‚"
-#: C/index-in.docbook:4781
+#: C/index-in.docbook:4788
msgid ""
"You can get a clipboard instance with <methodname>Gtk::Widget::"
"get_clipboard()</methodname> or <methodname>Gdk::Display::get_clipboard()</"
@@ -8432,7 +8427,7 @@ msgstr ""
"ä½ å¯ä»¥ä½¿ç”¨<methodname>Gtk::Widget::get_clipboard()</methodname>或"
"<methodname>Gdk::Display::get_clipboard()</methodname>获å–剪切æ¿å®žä¾‹ã€‚"
-#: C/index-in.docbook:4786
+#: C/index-in.docbook:4793
msgid ""
"Your application doesn't need to wait for clipboard operations, particularly "
"between the time when the user chooses Copy and then later chooses Paste. "
@@ -8446,7 +8441,7 @@ msgstr ""
"classname>,它们指定了回调函数。当<classname>Gdk::Clipboard</classname>准备就"
"绪时,它将会调用这些回调函数,并å‘å…¶æ供所请求的数æ®ã€‚"
-#: C/index-in.docbook:4794
+#: C/index-in.docbook:4801
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGdk_1_1Clipboard.";
"html\">Reference</ulink>"
@@ -8454,11 +8449,11 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGdk_1_1Clipboard.";
"html\">å‚考</ulink>"
-#: C/index-in.docbook:4797
+#: C/index-in.docbook:4804
msgid "Formats"
msgstr "æ ¼å¼"
-#: C/index-in.docbook:4798
+#: C/index-in.docbook:4805
msgid ""
"Different applications contain different types of data, and they might make "
"that data available in a variety of formats. <application>gtkmm</"
@@ -8467,7 +8462,7 @@ msgstr ""
"ä¸åŒçš„应用程åºåŒ…å«ä¸åŒç±»åž‹çš„æ•°æ®ï¼Œå¹¶ä¸”它们å¯èƒ½ä½¿ç”¨å¤šç§å¯ç”¨æ ¼å¼æ供数æ®ã€‚"
"<application>gtkmm</application>称这些数æ®ç±»åž‹ä¸º<literal>format</literal>。"
-#: C/index-in.docbook:4802
+#: C/index-in.docbook:4809
msgid ""
"For instance, <application>gedit</application> can supply and receive the "
"<literal>text/plain</literal> mime type, so you can paste data into "
@@ -8483,7 +8478,7 @@ msgstr ""
"å„ç§å›¾åƒæ ¼å¼ã€‚åªè¦å…¶ä¸ä¸€ä¸ªåº”用程åºå¯ä»¥æŽ¥æ”¶å…¶ä»–应用程åºæ供的一ç§æ ¼å¼ï¼Œé‚£ä¹ˆä½ "
"å°±å¯ä»¥å°†æ•°æ®ä»Žä¸€ä¸ªå¤åˆ¶åˆ°å¦ä¸€ä¸ªã€‚"
-#: C/index-in.docbook:4810
+#: C/index-in.docbook:4817
msgid ""
"Clipboard data 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 "
@@ -8493,7 +8488,7 @@ msgstr ""
"剪切æ¿æ•°æ®å¯ä»¥ä½¿ç”¨å¤šç§äºŒè¿›åˆ¶æ ¼å¼ã€‚æœ¬ç« å’Œç¤ºä¾‹ç¨‹åºå‡å®šæ•°æ®æ˜¯8ä½æ–‡æœ¬ã€‚这将使我们"
"å¯ä»¥å¯¹å‰ªåˆ‡æ¿æ•°æ®ä½¿ç”¨XMLæ ¼å¼ã€‚但这å¯èƒ½ä¸é€‚åˆäºŒè¿›åˆ¶æ•°æ®ï¼ˆä¾‹å¦‚图åƒï¼‰ã€‚"
-#: C/index-in.docbook:4817
+#: C/index-in.docbook:4824
msgid ""
"The <link linkend=\"chapter-draganddrop\">Drag and Drop</link> API uses the "
"same mechanism. You should probably use the same data formats for both "
@@ -8502,7 +8497,7 @@ msgstr ""
"<link linkend=\"chapter-draganddrop\">拖放</link>APIä½¿ç”¨ä¸€æ ·çš„æœºåˆ¶ã€‚å‰ªåˆ‡æ¿å’Œ"
"拖放æ“ä½œéƒ½åº”è¯¥ä½¿ç”¨ä¸€æ ·çš„æ•°æ®æ ¼å¼ã€‚"
-#: C/index-in.docbook:4823
+#: C/index-in.docbook:4830
msgid ""
"When the user asks to copy some data, you should copy the data to the "
"<classname>Clipboard</classname>. For instance,"
@@ -8510,7 +8505,7 @@ msgstr ""
"当用户è¦å¤åˆ¶æŸäº›æ•°æ®çš„æ—¶å€™ï¼Œä½ åº”è¯¥å°†æ•°æ®å¤åˆ¶åˆ°<classname>Clipboard</"
"classname>。例如:"
-#: C/index-in.docbook:4827
+#: C/index-in.docbook:4834
#, no-wrap
msgid ""
"void ExampleWindow::on_button_copy()\n"
@@ -8523,11 +8518,11 @@ msgstr ""
" get_clipboard()->set_text(\"example_custom_target\");\n"
"}"
-#: C/index-in.docbook:4835
+#: C/index-in.docbook:4842
msgid "Paste"
msgstr "粘贴"
-#: C/index-in.docbook:4836
+#: C/index-in.docbook:4843
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 "
@@ -8536,7 +8531,7 @@ msgstr ""
"当用户è¦ä»Ž<classname>Clipboard</classname>ä¸ç²˜è´´æ•°æ®æ—¶ï¼Œä½ 应该请求一ç§ç‰¹å®šçš„"
"æ ¼å¼å¹¶æ供一个回调函数,该回调函数将与实际数æ®ä¸€å¹¶è¢«è°ƒç”¨ã€‚例如:"
-#: C/index-in.docbook:4841
+#: C/index-in.docbook:4848
#, no-wrap
msgid ""
"void ExampleWindow::on_button_paste()\n"
@@ -8551,11 +8546,11 @@ msgstr ""
" &ExampleWindow::on_clipboard_received));\n"
"}"
-#: C/index-in.docbook:4847
+#: C/index-in.docbook:4854
msgid "Here is an example callback method:"
msgstr "这是一个回调函数的示例:"
-#: C/index-in.docbook:4849
+#: C/index-in.docbook:4856
#, no-wrap
msgid ""
"void ExampleWindow::on_clipboard_received(Glib::RefPtr<Gio::AsyncResult>& result)\n"
@@ -8570,11 +8565,11 @@ msgstr ""
" //Do something with the pasted data.\n"
"}"
-#: C/index-in.docbook:4856
+#: C/index-in.docbook:4863
msgid "Discovering the available formats"
msgstr "å‘现å¯ç”¨æ ¼å¼"
-#: C/index-in.docbook:4857
+#: C/index-in.docbook:4864
msgid ""
"To find out what formats are currently available on the "
"<classname>Clipboard</classname> for pasting, call the "
@@ -8586,11 +8581,11 @@ msgstr ""
"<methodname>get_formats()</methodname>方法。然åŽè°ƒç”¨<classname>Gdk::"
"ContentFormats</classname>方法æ¥ç¡®å®šä½ 的应用程åºæ‰€æ”¯æŒçš„æ ¼å¼æ˜¯å¦å¯ç”¨ã€‚"
-#: C/index-in.docbook:4869 C/index-in.docbook:5260
+#: C/index-in.docbook:4876 C/index-in.docbook:5263
msgid "Simple"
msgstr "简å•"
-#: C/index-in.docbook:4870
+#: C/index-in.docbook:4877
msgid ""
"This example allows copy and pasting of application-specific data, using the "
"standard text format. Although this is simple, it's not ideal because it "
@@ -8601,11 +8596,11 @@ msgstr ""
"并ä¸å¤Ÿç†æƒ³ï¼Œå› 为他ä¸èƒ½å°†<classname>Clipboard</classname>çš„æ•°æ®æ ‡è¯†ä¸ºç‰¹å®šçš„ç±»"
"型。"
-#: C/index-in.docbook:4878
+#: C/index-in.docbook:4885
msgid "Clipboard - Simple"
msgstr "å‰ªåˆ‡æ¿ - 简å•"
-#: C/index-in.docbook:4884
+#: C/index-in.docbook:4891
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/clipboard/simple/\">Source Code</ulink>"
@@ -8613,15 +8608,15 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/clipboard/simple/\">æºä»£ç </ulink>"
-#: C/index-in.docbook:4888
+#: C/index-in.docbook:4895
msgid "Ideal"
msgstr "ç†æƒ³"
-#: C/index-in.docbook:4891
+#: C/index-in.docbook:4898
msgid "Defines a custom clipboard target, though the format is still text."
msgstr "定义了一个自定义剪切æ¿ç›®æ ‡ï¼Œå°½ç®¡æ ¼å¼ä¾æ—§æ˜¯æ–‡æœ¬ã€‚"
-#: C/index-in.docbook:4892
+#: C/index-in.docbook:4899
msgid ""
"It uses the <methodname>Gdk::ContentFormats::signal_changed()</methodname> "
"signal and disables the Paste button if it can't use anything on the "
@@ -8630,15 +8625,15 @@ msgstr ""
"它使用<methodname>Gdk::ContentFormats::signal_changed()</methodname>ä¿¡å·å¹¶åœ¨"
"剪切æ¿ä¸å¯ç”¨çš„时候ç¦ç”¨ç²˜è´´æŒ‰é’®ã€‚"
-#: C/index-in.docbook:4889
+#: C/index-in.docbook:4896
msgid "This is like the simple example, but it <_:orderedlist-1/>"
msgstr "这个与简å•ç¤ºä¾‹ç±»åž‹ï¼Œä½†æ˜¯å®ƒ<_:orderedlist-1/>"
-#: C/index-in.docbook:4898
+#: C/index-in.docbook:4905
msgid "Clipboard - Ideal"
msgstr "å‰ªåˆ‡æ¿ - ç†æƒ³"
-#: C/index-in.docbook:4904
+#: C/index-in.docbook:4911
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/clipboard/ideal/\">Source Code</ulink>"
@@ -8646,11 +8641,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/clipboard/ideal/\">æºä»£ç </ulink>"
-#: C/index-in.docbook:4914
+#: C/index-in.docbook:4921
msgid "Printing"
msgstr "打å°"
-#: C/index-in.docbook:4916
+#: C/index-in.docbook:4923
msgid ""
"At the application development level, <application>gtkmm</application>'s "
"printing API provides dialogs that are consistent across applications and "
@@ -8662,11 +8657,11 @@ msgstr ""
"容的对è¯æ¡†ï¼Œå¹¶å…许使用开罗通用绘制APIå’ŒPango驱动的文本渲染。在æ¤é€šç”¨API实现"
"ä¸ï¼Œä½¿ç”¨äº†ç‰¹å®šå¹³å°çš„åŽç«¯å’Œç‰¹å®šæ‰“å°æœºçš„驱动。"
-#: C/index-in.docbook:4922
+#: C/index-in.docbook:4929
msgid "PrintOperation"
msgstr "打å°æ“作"
-#: C/index-in.docbook:4924
+#: C/index-in.docbook:4931
msgid ""
"The primary object is <classname>Gtk::PrintOperation</classname>, allocated "
"for each print operation. To handle page drawing connect to its signals, or "
@@ -8678,7 +8673,7 @@ msgstr ""
"处ç†ç»˜åˆ¶é¡µè¯·è¿žæŽ¥åˆ°å®ƒçš„ä¿¡å·ï¼Œæˆ–从其继承并覆盖默认的虚信å·å¤„ç†å‡½æ•°ã€‚"
"<classname>PrintOperation</classname>将自动处ç†æ‰€æœ‰å½±å“打å°å¾ªçŽ¯çš„设置。"
-#: C/index-in.docbook:4941
+#: C/index-in.docbook:4948
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 "
@@ -8689,7 +8684,7 @@ msgstr ""
"<classname>Gtk::PrintContext</classname>创建和设置<classname>Pango::Layout</"
"classname>的地方,以åŠå¯¹ä½ 的打å°è¾“出进行分页的地方。"
-#: C/index-in.docbook:4951
+#: C/index-in.docbook:4958
msgid ""
"<literal>paginate</literal>: Pagination is potentially slow so if you need "
"to monitor it you can call the <methodname>PrintOperation::"
@@ -8699,7 +8694,7 @@ msgstr ""
"<methodname>PrintOperation::set_show_progress()</methodname>方法并处ç†æ¤ä¿¡"
"å·ã€‚"
-#: C/index-in.docbook:4965
+#: C/index-in.docbook:4972
msgid ""
"<literal>request_page_setup</literal>: Provides a <classname>PrintContext</"
"classname>, page number and <classname>Gtk::PageSetup</classname>. Handle "
@@ -8709,7 +8704,7 @@ msgstr ""
"classname>ã€é¡µç å’Œ<classname>Gtk::PageSetup</classname>ã€‚å¦‚æžœä½ éœ€è¦é€é¡µçš„修改"
"页é¢è®¾ç½®ï¼Œè¯·å¤„ç†æ¤ä¿¡å·ã€‚"
-#: C/index-in.docbook:4974
+#: C/index-in.docbook:4981
msgid ""
"<literal>draw_page</literal>: You must handle this signal, which provides a "
"<classname>PrintContext</classname> and a page number. The "
@@ -8725,13 +8720,13 @@ msgstr ""
"<literal>begin_print</literal>处ç†ç¨‹åºä¸åˆ›å»ºçš„<classname>Pango::Layout</"
"classname>。"
-#: C/index-in.docbook:4960
+#: C/index-in.docbook:4967
msgid ""
"For each page that needs to be rendered, the following signals are emitted: "
"<_:itemizedlist-1/>"
msgstr "对于æ¯ä¸ªè¦æ¸²æŸ“的页é¢ï¼Œéƒ½ä¼šå‘出以下信å·ï¼š<_:itemizedlist-1/>"
-#: C/index-in.docbook:4989
+#: C/index-in.docbook:4996
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 "
@@ -8743,7 +8738,7 @@ msgstr ""
"<classname>PrintOperation</classname>创建了自定义类,则直接在自定义类的æžæž„函"
"æ•°ä¸è¿›è¡Œæ¤æ“作会更简å•ã€‚"
-#: C/index-in.docbook:4999
+#: C/index-in.docbook:5006
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::"
@@ -8754,7 +8749,7 @@ msgstr ""
"æ„,所æ供的<literal>Gtk::PrintOperationResult</literal>å¯èƒ½è¡¨æ˜Žå‘生了错误。"
"æ— è®ºå¦‚ä½•ä½ éƒ½åº”è¯¥è®©ç”¨æˆ·çŸ¥é“最终的状æ€ã€‚"
-#: C/index-in.docbook:5009
+#: C/index-in.docbook:5016
msgid ""
"<literal>status_changed</literal>: Emitted whenever a print job's status "
"changes, until it is finished. Call the <methodname>PrintOperation::"
@@ -8768,7 +8763,7 @@ msgstr ""
"<methodname>get_status()</methodname>或<methodname>get_status_string()</"
"methodname>。"
-#: C/index-in.docbook:4935
+#: C/index-in.docbook:4942
msgid ""
"The <methodname>PrintOperation::run()</methodname> method starts the print "
"loop, during which various signals are emitted: <_:itemizedlist-1/>"
@@ -8776,7 +8771,7 @@ msgstr ""
"<methodname>PrintOperation::run()</methodname>方法å¯åŠ¨æ‰“å°å¾ªçŽ¯ï¼Œåœ¨æ¤æœŸé—´ä¼šå‘"
"出以下信å·ï¼š<_:itemizedlist-1/>"
-#: C/index-in.docbook:5022
+#: C/index-in.docbook:5029
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1PrintOperation.html\">Reference</ulink>"
@@ -8784,11 +8779,11 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1PrintOperation.html\">å‚考</ulink>"
-#: C/index-in.docbook:5031
+#: C/index-in.docbook:5038
msgid "Page setup"
msgstr "页é¢è®¾ç½®"
-#: C/index-in.docbook:5033
+#: C/index-in.docbook:5040
msgid ""
"The <classname>PrintOperation</classname> class has a method called "
"<methodname>set_default_page_setup()</methodname> which selects the default "
@@ -8808,7 +8803,7 @@ msgstr ""
"PaperSize</classname>ã€<literal>Gtk::PageOrientation</literal>和特定打å°æœºçš„"
"è¾¹è·ã€‚"
-#: C/index-in.docbook:5043
+#: C/index-in.docbook:5050
msgid ""
"You should save the chosen <classname>Gtk::PageSetup</classname> so you can "
"use it again if the page setup dialog is shown again."
@@ -8816,24 +8811,22 @@ msgstr ""
"ä½ åº”è¯¥ä¿å˜æ‰€é€‰çš„<classname>Gtk::PageSetup</classname>以便在下次打开页é¢è®¾ç½®å¯¹"
"è¯æ¡†çš„时候使用。"
-#: C/index-in.docbook:5047
+#: C/index-in.docbook:5054
#, no-wrap
msgid ""
"\n"
-"//Within a class that inherits from Gtk::Window and keeps m_refPageSetup and m_refSettings as members...\n"
+"// Within a class that inherits from Gtk::Window and keeps m_refPageSetup\n"
+"// and m_refSettings as members...\n"
"auto new_page_setup = Gtk::run_page_setup_dialog(*this, m_refPageSetup, m_refSettings);\n"
"m_refPageSetup = new_page_setup;\n"
msgstr ""
"\n"
-"//Within a class that inherits from Gtk::Window and keeps m_refPageSetup and m_refSettings as members...\n"
+"// Within a class that inherits from Gtk::Window and keeps m_refPageSetup\n"
+"// and m_refSettings as members...\n"
"auto new_page_setup = Gtk::run_page_setup_dialog(*this, m_refPageSetup, m_refSettings);\n"
"m_refPageSetup = new_page_setup;\n"
-#: C/index-in.docbook:5046 C/index-in.docbook:5111 C/index-in.docbook:10636
-msgid "For instance, <_:programlisting-1/>"
-msgstr "例如:<_:programlisting-1/>"
-
-#: C/index-in.docbook:5054
+#: C/index-in.docbook:5061
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1PageSetup.";
"html\">Reference</ulink>"
@@ -8841,7 +8834,7 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1PageSetup.";
"html\">å‚考</ulink>"
-#: C/index-in.docbook:5058
+#: C/index-in.docbook:5065
msgid ""
"The Cairo coordinate system, in the <literal>draw_page</literal> handler, is "
"automatically rotated to the current page orientation. It is normally within "
@@ -8855,11 +8848,11 @@ msgstr ""
"set_use_full_page()</methodname>方法æ¥æ›´æ”¹å®ƒã€‚默认的度é‡å•ä½æ˜¯è®¾å¤‡åƒç´ 。è¦é€‰"
"择其他å•ä½è¯·ä½¿ç”¨<methodname>PrintOperation::set_unit()</methodname>方法。"
-#: C/index-in.docbook:5070
+#: C/index-in.docbook:5077
msgid "Rendering text"
msgstr "渲染文本"
-#: C/index-in.docbook:5072
+#: C/index-in.docbook:5079
msgid ""
"Text rendering is done using Pango. The <classname>Pango::Layout</classname> "
"object for printing should be created by calling the "
@@ -8882,7 +8875,7 @@ msgstr ""
"get_cairo_context()</methodname>获å–<classname>Cairo::Context</classname>并显"
"示在请求的页ç ä¸å‡ºçŽ°çš„<classname>Pango::LayoutLine</classname>。"
-#: C/index-in.docbook:5087
+#: C/index-in.docbook:5094
msgid ""
"See <link linkend=\"sec-printing-example-simple\">an example</link> of "
"exactly how this can be done."
@@ -8890,11 +8883,11 @@ msgstr ""
"请看<link linkend=\"sec-printing-example-simple\">具体示例</link>如何åšåˆ°è¿™"
"点。"
-#: C/index-in.docbook:5095
+#: C/index-in.docbook:5102
msgid "Asynchronous operations"
msgstr "异æ¥æ“作"
-#: C/index-in.docbook:5097
+#: C/index-in.docbook:5104
msgid ""
"By default, <methodname>PrintOperation::run()</methodname> returns when a "
"print operation is completed. If you need to run a non-blocking print "
@@ -8908,71 +8901,80 @@ msgstr ""
"<methodname>set_allow_async()</methodname>,但<literal>done</literal>ä¿¡å·ä»ç„¶"
"会被å‘出。"
-#: C/index-in.docbook:5104
+#: C/index-in.docbook:5111
msgid ""
-"<methodname>run()</methodname> may return "
-"<literal>PRINT_OPERATION_RESULT_IN_PROGRESS</literal>. To track status and "
-"handle the result or error you need to implement signal handlers for the "
-"<literal>done</literal> and <literal>status_changed</literal> signals:"
+"<methodname>run()</methodname> may return <literal>PrintOperation::Result::"
+"IN_PROGRESS</literal>. To track status and handle the result or error you "
+"need to implement signal handlers for the <literal>done</literal> and "
+"<literal>status_changed</literal> signals:"
msgstr ""
"<methodname>run()</methodname>å¯èƒ½ä¼šè¿”回"
-"<literal>PRINT_OPERATION_RESULT_IN_PROGRESS</literal>。è¦è·Ÿè¸ªçŠ¶æ€å¹¶å¤„ç†ç»“果或"
+"<literal>PrintOperation::Result::IN_PROGRESS</literal>。è¦è·Ÿè¸ªçŠ¶æ€å¹¶å¤„ç†ç»“果或"
"é”™è¯¯ï¼Œä½ éœ€è¦å®žçŽ°<literal>done</literal>å’Œ<literal>status_changed</literal>ä¿¡"
"å·çš„ä¿¡å·å¤„ç†å‡½æ•°ã€‚"
-#: C/index-in.docbook:5112
+#: C/index-in.docbook:5119
#, no-wrap
msgid ""
"\n"
"// in class ExampleWindow's method...\n"
"auto op = PrintOperation::create();\n"
"// ...set up op...\n"
-"op->signal_done().connect(sigc::bind(sigc::mem_fun(*this, &ExampleWindow::on_printoperation_done),
op));\n"
+"op->signal_done().connect(sigc::bind(sigc::mem_fun(\n"
+" *this, &ExampleWindow::on_printoperation_done), op));\n"
"// run the op\n"
msgstr ""
"\n"
"// in class ExampleWindow's method...\n"
"auto op = PrintOperation::create();\n"
"// ...set up op...\n"
-"op->signal_done().connect(sigc::bind(sigc::mem_fun(*this, &ExampleWindow::on_printoperation_done),
op));\n"
+"op->signal_done().connect(sigc::bind(sigc::mem_fun(\n"
+" *this, &ExampleWindow::on_printoperation_done), op));\n"
"// run the op\n"
-#: C/index-in.docbook:5122
+#: C/index-in.docbook:5128
+msgid ""
+"Second, check for an error and connect to the <literal>status_changed</"
+"literal> signal. For instance:"
+msgstr ""
+"然åŽï¼Œæ£€æŸ¥é”™è¯¯å¹¶è¿žæŽ¥åˆ°<literal>status_changed</literal>ä¿¡å·ï¼Œä¾‹å¦‚:"
+
+#: C/index-in.docbook:5130
#, no-wrap
msgid ""
"\n"
-"void ExampleWindow::on_printoperation_done(Gtk::PrintOperationResult result, const
Glib::RefPtr<PrintOperation>& op)\n"
+"void ExampleWindow::on_printoperation_done(Gtk::PrintOperationResult result,\n"
+" const Glib::RefPtr<PrintOperation>& op)\n"
"{\n"
-" if (result == Gtk::PRINT_OPERATION_RESULT_ERROR)\n"
+" if (result == Gtk::PrintOperation::Result::ERROR)\n"
" //notify user\n"
-" else if (result == Gtk::PRINT_OPERATION_RESULT_APPLY)\n"
+" else if (result == Gtk::PrintOperation::Result::APPLY)\n"
" //Update PrintSettings with the ones used in this PrintOperation\n"
"\n"
" if (! op->is_finished())\n"
-" op->signal_status_changed().connect(sigc::bind(sigc::mem_fun(*this,
&ExampleWindow::on_printoperation_status_changed), op));\n"
+" op->signal_status_changed().connect(sigc::bind(sigc::mem_fun(\n"
+" *this, &ExampleWindow::on_printoperation_status_changed), op));\n"
"}\n"
msgstr ""
"\n"
-"void ExampleWindow::on_printoperation_done(Gtk::PrintOperationResult result, const
Glib::RefPtr<PrintOperation>& op)\n"
+"void ExampleWindow::on_printoperation_done(Gtk::PrintOperationResult result,\n"
+" const Glib::RefPtr<PrintOperation>& op)\n"
"{\n"
-" if (result == Gtk::PRINT_OPERATION_RESULT_ERROR)\n"
+" if (result == Gtk::PrintOperation::Result::ERROR)\n"
" //notify user\n"
-" else if (result == Gtk::PRINT_OPERATION_RESULT_APPLY)\n"
+" else if (result == Gtk::PrintOperation::Result::APPLY)\n"
" //Update PrintSettings with the ones used in this PrintOperation\n"
"\n"
" if (! op->is_finished())\n"
-" op->signal_status_changed().connect(sigc::bind(sigc::mem_fun(*this,
&ExampleWindow::on_printoperation_status_changed), op));\n"
+" op->signal_status_changed().connect(sigc::bind(sigc::mem_fun(\n"
+" *this, &ExampleWindow::on_printoperation_status_changed), op));\n"
"}\n"
-#: C/index-in.docbook:5121
-msgid ""
-"Second, check for an error and connect to the <literal>status_changed</"
-"literal> signal. For instance: <_:programlisting-1/>"
-msgstr ""
-"然åŽï¼Œæ£€æŸ¥é”™è¯¯å¹¶è¿žæŽ¥åˆ°<literal>status_changed</literal>ä¿¡å·ï¼Œä¾‹å¦‚:<_:"
-"programlisting-1/>"
+#: C/index-in.docbook:5145
+msgid "Finally, check the status. For instance,"
+msgstr "最åŽæ£€æŸ¥çŠ¶æ€ã€‚例如:"
-#: C/index-in.docbook:5137
+#: C/index-in.docbook:5146
#, no-wrap
msgid ""
"\n"
@@ -8997,43 +8999,39 @@ msgstr ""
" //update UI\n"
"}\n"
-#: C/index-in.docbook:5136
-msgid "Finally, check the status. For instance, <_:programlisting-1/>"
-msgstr "最åŽæ£€æŸ¥çŠ¶æ€ã€‚例如:<_:programlisting-1/>"
-
-#: C/index-in.docbook:5153
+#: C/index-in.docbook:5161
msgid "Export to PDF"
msgstr "导出为PDF"
-#: C/index-in.docbook:5157
+#: C/index-in.docbook:5162
+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,"
+msgstr ""
+"\"打å°åˆ°æ–‡ä»¶\"选项在打å°å¯¹è¯æ¡†å¯ç”¨ï¼Œä¸éœ€è¦é¢å¤–实现。但是有时候从代ç 直接生æˆ"
+"PDF文件会很有用。例如:"
+
+#: C/index-in.docbook:5165
#, no-wrap
msgid ""
"\n"
"auto op = Gtk::PrintOperation::create();\n"
"// ...set up op...\n"
"op->set_export_filename(\"test.pdf\");\n"
-"auto res = op->run(Gtk::PRINT_OPERATION_ACTION_EXPORT);\n"
+"auto res = op->run(Gtk::PrintOperation::Action::EXPORT);\n"
msgstr ""
"\n"
"auto op = Gtk::PrintOperation::create();\n"
"// ...set up op...\n"
"op->set_export_filename(\"test.pdf\");\n"
-"auto res = op->run(Gtk::PRINT_OPERATION_ACTION_EXPORT);\n"
-
-#: C/index-in.docbook:5154
-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, <_:programlisting-1/>"
-msgstr ""
-"\"打å°åˆ°æ–‡ä»¶\"选项在打å°å¯¹è¯æ¡†å¯ç”¨ï¼Œä¸éœ€è¦é¢å¤–实现。但是有时候从代ç 直接生æˆ"
-"PDF文件会很有用。例如:<_:programlisting-1/>"
+"auto res = op->run(Gtk::PrintOperation::Action::EXPORT);\n"
-#: C/index-in.docbook:5169
+#: C/index-in.docbook:5175
msgid "Extending the print dialog"
msgstr "扩展打å°å¯¹è¯æ¡†"
-#: C/index-in.docbook:5176
+#: C/index-in.docbook:5182
msgid ""
"Set the title of the tab via <methodname>PrintOperation::"
"set_custom_tab_label()</methodname>, create a new widget and return it from "
@@ -9044,18 +9042,32 @@ msgstr ""
"æ ‡é¢˜ï¼Œåˆ›å»ºä¸€ä¸ªæ–°çš„éƒ¨ä»¶ç„¶åŽä»Ž<literal>create_custom_widget</literal>çš„ä¿¡å·å¤„ç†"
"函数ä¸è¿”å›žå®ƒã€‚ä½ å¯èƒ½å¸Œæœ›å®ƒæ˜¯ä¸€ä¸ªå®¹å™¨éƒ¨ä»¶ï¼Œåœ¨å…¶ä¸åŒ…å«ä¸€äº›å…¶ä»–部件。"
-#: C/index-in.docbook:5186
+#: C/index-in.docbook:5192
msgid ""
"Get the data from the widgets in the <literal>custom_widget_apply</literal> "
"signal handler."
msgstr ""
"从部件的<literal>custom_widget_apply</literal>çš„ä¿¡å·å¤„ç†å‡½æ•°ä¸èŽ·å–æ•°æ®ã€‚"
-#: C/index-in.docbook:5171
+#: C/index-in.docbook:5177
msgid "You may add a custom tab to the print dialog: <_:itemizedlist-1/>"
msgstr "ä½ å¯ä»¥åœ¨æ‰“å°å¯¹è¯æ¡†ä¸æ·»åŠ è‡ªå®šä¹‰æ ‡ç¾ï¼š <_:itemizedlist-1/>"
-#: C/index-in.docbook:5201
+#: C/index-in.docbook:5200
+msgid ""
+"Although the <literal>custom_widget_apply</literal> signal provides the "
+"widget you previously created, to simplify things you can keep the widgets "
+"you expect to contain some user input as class members. For example, let's "
+"say you have a <classname>Gtk::Entry</classname> called <literal>m_Entry</"
+"literal> as a member of your <classname>CustomPrintOperation</classname> "
+"class:"
+msgstr ""
+"尽管<literal>custom_widget_apply</literal>ä¿¡å·æä¾›äº†ä½ ä¹‹å‰åˆ›å»ºçš„部件,但是为"
+"了简化æ“ä½œï¼Œä½ å¯ä»¥ä¿å˜ä¸€äº›ç”¨æˆ·è¾“入作为部件类的æˆå‘˜ã€‚ä¾‹å¦‚ï¼Œä½ å¯èƒ½å¸Œæœ›ä½ 有一个"
+"å«åš<literal>m_Entry</literal>çš„<classname>Gtk::Entry</classname>拥有"
+"<classname>CustomPrintOperation</classname>作为类æˆå‘˜ï¼š"
+
+#: C/index-in.docbook:5207
#, no-wrap
msgid ""
"\n"
@@ -9102,52 +9114,37 @@ msgstr ""
" //...\n"
"}\n"
-#: C/index-in.docbook:5194
-msgid ""
-"Although the <literal>custom_widget_apply</literal> signal provides the "
-"widget you previously created, to simplify things you can keep the widgets "
-"you expect to contain some user input as class members. For example, let's "
-"say you have a <classname>Gtk::Entry</classname> called <literal>m_Entry</"
-"literal> as a member of your <classname>CustomPrintOperation</classname> "
-"class: <_:programlisting-1/>"
-msgstr ""
-"尽管<literal>custom_widget_apply</literal>ä¿¡å·æä¾›äº†ä½ ä¹‹å‰åˆ›å»ºçš„部件,但是为"
-"了简化æ“ä½œï¼Œä½ å¯ä»¥ä¿å˜ä¸€äº›ç”¨æˆ·è¾“入作为部件类的æˆå‘˜ã€‚ä¾‹å¦‚ï¼Œä½ å¯èƒ½å¸Œæœ›ä½ 有一个"
-"å«åš<literal>m_Entry</literal>çš„<classname>Gtk::Entry</classname>拥有"
-"<classname>CustomPrintOperation</classname>作为类æˆå‘˜ï¼š<_:programlisting-1/>"
-
-#: C/index-in.docbook:5226
+#: C/index-in.docbook:5230
msgid "The example in examples/book/printing/advanced demonstrates this."
msgstr "examples/book/printing/advanced示例对æ¤è¿›è¡Œäº†æ¼”示。"
-#: C/index-in.docbook:5233
+#: C/index-in.docbook:5237
msgid "Preview"
msgstr "预览"
#: C/index-in.docbook:5239
+msgid ""
+"The native GTK print dialog has a preview button, but you may also start a "
+"preview directly from an application:"
+msgstr ""
+"原生的GTK打å°å¯¹è¯æ¡†æœ‰ä¸€ä¸ªé¢„è§ˆæŒ‰é’®ï¼Œä½†æ˜¯ä½ ä¹Ÿå¯ä»¥è‡ªå·±ä»Žåº”用程åºå¼€å§‹é¢„览:"
+
+#: C/index-in.docbook:5243
#, no-wrap
msgid ""
"\n"
"// in a class that inherits from Gtk::Window...\n"
"auto op = PrintOperation::create();\n"
"// ...set up op...\n"
-"op->run(Gtk::PRINT_OPERATION_ACTION_PREVIEW, *this);\n"
+"op->run(Gtk::PrintOperation::Action::PREVIEW, *this);\n"
msgstr ""
"\n"
"// in a class that inherits from Gtk::Window...\n"
"auto op = PrintOperation::create();\n"
"// ...set up op...\n"
-"op->run(Gtk::PRINT_OPERATION_ACTION_PREVIEW, *this);\n"
-
-#: C/index-in.docbook:5235
-msgid ""
-"The native GTK print dialog has a preview button, but you may also start a "
-"preview directly from an application: <_:programlisting-1/>"
-msgstr ""
-"原生的GTK打å°å¯¹è¯æ¡†æœ‰ä¸€ä¸ªé¢„è§ˆæŒ‰é’®ï¼Œä½†æ˜¯ä½ ä¹Ÿå¯ä»¥è‡ªå·±ä»Žåº”用程åºå¼€å§‹é¢„览:<_:"
-"programlisting-1/>"
+"op->run(Gtk::PrintOperation::Action::PREVIEW, *this);\n"
-#: C/index-in.docbook:5247
+#: C/index-in.docbook:5250
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 "
@@ -9158,7 +9155,7 @@ msgstr ""
"è¯æ¡†ã€‚如果有必è¦ï¼Œä½ å¯ä»¥è¦†ç›–æ¤é»˜è®¤è¡Œä¸ºå¹¶ä¸ºæ¤æ供一个自定义的预览对è¯æ¡†ã€‚请å‚"
"阅ä½äºŽ/examples/book/printing/advanced的示例。"
-#: C/index-in.docbook:5262
+#: C/index-in.docbook:5265
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 "
@@ -9169,11 +9166,11 @@ msgstr ""
"<literal>on_begin_print</literal>å’Œ<literal>on_draw_page</literal>,以åŠå¦‚何"
"跟踪打å°çŠ¶æ€å’Œæ›´æ–°æ‰“å°è®¾ç½®ã€‚"
-#: C/index-in.docbook:5270
+#: C/index-in.docbook:5273
msgid "Printing - Simple"
msgstr "æ‰“å° - 简å•"
-#: C/index-in.docbook:5276
+#: C/index-in.docbook:5279
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/printing/simple/\">Source Code</ulink>"
@@ -9181,11 +9178,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/printing/simple/\">æºä»£ç </ulink>"
-#: C/index-in.docbook:5285
+#: C/index-in.docbook:5288
msgid "Recently Used Documents"
msgstr "最近使用过的文件"
-#: C/index-in.docbook:5287
+#: C/index-in.docbook:5290
msgid ""
"<application>gtkmm</application> provides an easy way to manage recently "
"used documents. This functionality is implemented in the <classname>Gtk::"
@@ -9194,7 +9191,7 @@ msgstr ""
"<application>gtkmm</application>æ供了一ç§ç®¡ç†æœ€è¿‘使用文件的简便方法。该功能"
"在<classname>Gtk::RecentManager</classname>ç±»ä¸å®žçŽ°ã€‚"
-#: C/index-in.docbook:5291
+#: C/index-in.docbook:5294
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 "
@@ -9206,11 +9203,11 @@ msgstr ""
"以用于指定如何显示文件ã€å¦‚何æ述文件ã€åŠå…¶å®ƒçš„MIME类型ã€å“ªä¸ªåº”用程åºæ³¨å†Œäº†"
"它ã€å¯¹äºŽæ³¨å†Œçš„应用程åºæ˜¯ä¸æ˜¯ç§æœ‰çš„ç‰ã€‚"
-#: C/index-in.docbook:5299
+#: C/index-in.docbook:5302
msgid "RecentManager"
msgstr "最近管ç†å™¨(RecentManager)"
-#: C/index-in.docbook:5300
+#: C/index-in.docbook:5303
msgid ""
"<classname>RecentManager</classname> acts as a database of recently used "
"files. You use this class to register new files, remove files from the list, "
@@ -9221,7 +9218,7 @@ msgstr ""
"注册新文件ã€ä»Žåˆ—表ä¸åˆ 除文件ã€æŸ¥æ‰¾æœ€è¿‘使用文件。æ¯ä¸ªç”¨æˆ·éƒ½æ‹¥æœ‰ä¸€ä¸ªæœ€è¿‘使用的"
"文件列表。"
-#: C/index-in.docbook:5306
+#: C/index-in.docbook:5309
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 "
@@ -9232,18 +9229,18 @@ msgstr ""
"é‚£ä¸ªã€‚ä½ å¯ä»¥é€šè¿‡<methodname>get_default()</methodname>获å–默认"
"<classname>RecentManager</classname>的引用。"
-#: C/index-in.docbook:5313
+#: C/index-in.docbook:5316
msgid "Adding Items to the List of Recent Files"
msgstr "å°†é¡¹ç›®æ·»åŠ åˆ°æœ€è¿‘æ–‡ä»¶åˆ—è¡¨"
-#: C/index-in.docbook:5314
+#: C/index-in.docbook:5317
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 ""
"在最简å•çš„情况下,è¦æ·»åŠ 项目到最近文件列表åªéœ€è¦æ供一个URIå³å¯ã€‚例如:"
-#: C/index-in.docbook:5318
+#: C/index-in.docbook:5321
#, no-wrap
msgid ""
"auto recent_manager = Gtk::RecentManager::get_default();\n"
@@ -9252,7 +9249,7 @@ msgstr ""
"auto recent_manager = Gtk::RecentManager::get_default();\n"
"recent_manager->add_item(uri);"
-#: C/index-in.docbook:5320
+#: C/index-in.docbook:5323
msgid ""
"If you want to register a file with metadata, you can pass a "
"<classname>RecentManager::Data</classname> parameter to "
@@ -9263,7 +9260,7 @@ msgstr ""
"classname>å‚æ•°ä¼ é€’ç»™<methodname>add_item()</methodname>。å¯ä»¥åœ¨ç‰¹å®šçš„文件项上"
"设置的元数æ®å¦‚下所示:"
-#: C/index-in.docbook:5328
+#: C/index-in.docbook:5331
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 "
@@ -9272,25 +9269,25 @@ msgstr ""
"<varname>app_exec</varname>:用于å¯åŠ¨æ¤èµ„æºçš„命令行。æ¤å—符串å¯ä»¥åŒ…å«\"f\"å’Œ"
"\"u\"转义å—符,它们将分别扩展为资æºæ–‡ä»¶è·¯å¾„å’ŒURI"
-#: C/index-in.docbook:5334
+#: C/index-in.docbook:5337
msgid ""
"<varname>app_name</varname>: The name of the application that registered the "
"resource"
msgstr "<varname>app_name</varname>:æ¤èµ„æºæ³¨å†Œçš„应用程åºå"
-#: C/index-in.docbook:5338
+#: C/index-in.docbook:5341
msgid ""
"<varname>description</varname>: A short description of the resource as a "
"UTF-8 encoded string"
msgstr "<varname>description</varname>:资æºçš„简å•æ述(UTF-8ç¼–ç å—符串)"
-#: C/index-in.docbook:5342
+#: C/index-in.docbook:5345
msgid ""
"<varname>display_name</varname>: The name of the resource to be used for "
"display as a UTF-8 encoded string"
msgstr "<varname>display_name</varname>:用于显示的资æºå(UTF-8ç¼–ç å—符串)"
-#: C/index-in.docbook:5346
+#: C/index-in.docbook:5349
msgid ""
"<varname>groups</varname>: A list of groups associated with this item. "
"Groups are essentially arbitrary strings associated with a particular "
@@ -9300,28 +9297,28 @@ msgstr ""
"<varname>groups</varname>:与该项相关è”的组列表。组本质上是与特定资æºç›¸å…³è”çš„"
"ä»»æ„å—符串。å¯ä»¥å°†å®ƒä»¬è§†ä¸ºèµ„æºçš„类别(例如:电å邮件ã€å›¾å½¢ç‰ï¼‰æˆ–æ ‡ç¾"
-#: C/index-in.docbook:5352
+#: C/index-in.docbook:5355
msgid ""
"<varname>is_private</varname>: Whether this resource should be visible only "
"to applications that have registered it or not"
msgstr ""
"<varname>is_private</varname>:æ¤èµ„æºæ˜¯å¦ä»…对已注册该资æºçš„应用程åºå¯è§"
-#: C/index-in.docbook:5356
+#: C/index-in.docbook:5359
msgid "<varname>mime_type</varname>: The MIME type of the resource"
msgstr "<varname>mime_type</varname>:æ¤èµ„æºçš„MIME类型"
-#: C/index-in.docbook:5359
+#: C/index-in.docbook:5362
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/index-in.docbook:5365
+#: C/index-in.docbook:5368
msgid "Looking up Items in the List of Recent Files"
msgstr "在最近文件列表ä¸æŸ¥æ‰¾é¡¹ç›®"
-#: C/index-in.docbook:5366
+#: C/index-in.docbook:5369
msgid ""
"To look up recently used files, <classname>RecentManager</classname> "
"provides several functions. To look up a specific item by its URI, you can "
@@ -9336,7 +9333,7 @@ msgstr ""
"件列表ä¸ä¸å˜åœ¨ï¼Œåˆ™<methodname>lookup_item()</methodname>将抛出一个"
"<classname>RecentManagerError</classname>异常。例如:"
-#: C/index-in.docbook:5375
+#: C/index-in.docbook:5378
#, no-wrap
msgid ""
"Glib::RefPtr<Gtk::RecentInfo> info;\n"
@@ -9367,7 +9364,7 @@ msgstr ""
" // item was found\n"
"}"
-#: C/index-in.docbook:5388
+#: C/index-in.docbook:5391
msgid ""
"A <classname>RecentInfo</classname> object is essentially an object "
"containing all of the metadata about a single recently-used file. You can "
@@ -9378,7 +9375,7 @@ msgstr ""
"æ®çš„å¯¹è±¡ã€‚ä½ å¯ä»¥ä½¿ç”¨è¯¥å¯¹è±¡æŸ¥æ‰¾<link linkend=\"list-file-metadata\">这里</"
"link>所列出的任何属性。"
-#: C/index-in.docbook:5394
+#: C/index-in.docbook:5397
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 "
@@ -9392,12 +9389,12 @@ msgstr ""
"methodname>函数。这个函数返回值是一个<classname>std::vector</classname>,其包"
"å«äº†æ‰€æœ‰æœ€è¿‘使用的文件。以下代ç æ¼”ç¤ºäº†ä½ è¯¥å¦‚ä½•èŽ·å–最近使用文件列表:"
-#: C/index-in.docbook:5402
+#: C/index-in.docbook:5405
#, no-wrap
msgid "auto info_list = recent_manager->get_items();"
msgstr "auto info_list = recent_manager->get_items();"
-#: C/index-in.docbook:5403
+#: C/index-in.docbook:5406
msgid ""
"The maximum age of items in the recently used files list can be set with "
"<methodname>Gtk::Settings::property_gtk_recent_files_max_age()</methodname>. "
@@ -9406,11 +9403,11 @@ msgstr ""
"å¯ä»¥ä½¿ç”¨<methodname>Gtk::Settings::property_gtk_recent_files_max_age()</"
"methodname>设置最近使用文件列表ä¸é¡¹ç›®çš„最长使用期é™ã€‚默认时长是:30天。"
-#: C/index-in.docbook:5410
+#: C/index-in.docbook:5413
msgid "Modifying the List of Recent Files"
msgstr "修改最近使用文件列表"
-#: C/index-in.docbook:5411
+#: C/index-in.docbook:5414
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 "
@@ -9422,7 +9419,7 @@ msgstr ""
"新该文件在最近使用文件列表ä¸çš„ä½ç½®ï¼Œä»¥ä½¿å…¶ä¸ä¼šæŒ‡å‘错误的ä½ç½®ã€‚ä½ å¯ä»¥ä½¿ç”¨"
"<methodname>move_item()</methodname>æ¥æ›´æ–°é¡¹ç›®çš„ä½ç½®ã€‚"
-#: C/index-in.docbook:5418
+#: C/index-in.docbook:5421
msgid ""
"In addition to changing a file's URI, you can also remove items from the "
"list, either one at a time or by clearing them all at once. The former is "
@@ -9433,7 +9430,7 @@ msgstr ""
"用<methodname>remove_item()</methodname>,åŽè€…使用<methodname>purge_items()</"
"methodname>。"
-#: C/index-in.docbook:5425
+#: C/index-in.docbook:5428
msgid ""
"The functions <methodname>move_item()</methodname>, "
"<methodname>remove_item()</methodname> and <methodname>purge_items()</"
@@ -9444,7 +9441,7 @@ msgstr ""
"å’Œ<methodname>purge_items()</methodname>并ä¸å½±å“URI所引用的真实文件,它们åªæ˜¯"
"对最近文件列表进行修改。"
-#: C/index-in.docbook:5438
+#: C/index-in.docbook:5441
msgid ""
"<classname>FileChooser</classname> is an interface that can be implemented "
"by widgets displaying a list of files. <application>gtkmm</application> "
@@ -9459,7 +9456,7 @@ msgstr ""
"<classname>FileChooserDialog</classname>ã€<classname>FileChooserNative</"
"classname>。"
-#: C/index-in.docbook:5447
+#: C/index-in.docbook:5450
msgid ""
"<classname>FileChooserWidget</classname> is a simple widget for displaying a "
"list of recently used files or other files. <classname>FileChooserWidget</"
@@ -9471,11 +9468,11 @@ msgstr ""
"<classname>FileChooserDialog</classname>的基本构建å—ï¼Œä½†æ˜¯ä½ æ ¹æ®éœ€è¦å¯ä»¥å°†å…¶"
"嵌入到用户界é¢ä¸ã€‚"
-#: C/index-in.docbook:5455
+#: C/index-in.docbook:5458
msgid "Simple FileChooserDialog example"
msgstr "简å•çš„文件选择对è¯æ¡†ç¤ºä¾‹"
-#: C/index-in.docbook:5456
+#: C/index-in.docbook:5459
msgid ""
"Shown below is a simple example of how to use the "
"<classname>FileChooserDialog</classname> class in a program. This simple "
@@ -9490,7 +9487,7 @@ msgstr ""
"å¦‚æžœä½ é€‰ä¸ä¾§è¾¹æ çš„<guimenuitem>Recent</guimenuitem>,则对è¯æ¡†å°†æ˜¾ç¤ºæœ€è¿‘使用文"
"件列表。"
-#: C/index-in.docbook:5466
+#: C/index-in.docbook:5469
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 "
@@ -9499,7 +9496,7 @@ msgstr ""
"å¦‚æžœè¿™æ˜¯ä½ ç¬¬ä¸€æ¬¡ä½¿ç”¨ä½¿ç”¨äº†æœ€è¿‘æ–‡ä»¶æ¡†æž¶çš„åº”ç”¨ç¨‹åºï¼Œé‚£ä¹ˆå¯¹è¯æ¡†æœ€åˆå¯èƒ½æ˜¯ç©ºçš„。"
"å¦åˆ™å®ƒåº”该显示其他应用程åºæ³¨å†Œçš„最近使用文件列表。"
-#: C/index-in.docbook:5473
+#: C/index-in.docbook:5476
msgid ""
"After selecting the <guimenuitem>File Chooser Dialog</guimenuitem> menu item "
"and the <guimenuitem>Recent</guimenuitem> sidebar item, you should see "
@@ -9508,7 +9505,7 @@ msgstr ""
"选择<guimenuitem>File Chooser Dialog</guimenuitem>èœå•é¡¹å’Œ"
"<guimenuitem>Recent</guimenuitem>侧边项åŽï¼Œä½ 将看到与下方窗å£ç±»ä¼¼çš„内容。"
-#: C/index-in.docbook:5481
+#: C/index-in.docbook:5484
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/recent_files\">Source Code</ulink>"
@@ -9516,7 +9513,7 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/recent_files\">æºä»£ç </ulink>"
-#: C/index-in.docbook:5482
+#: C/index-in.docbook:5485
msgid ""
"The constructor for <classname>ExampleWindow</classname> creates the menu "
"and the toolbar using <classname>Builder</classname> (see <xref linkend="
@@ -9527,11 +9524,11 @@ msgstr ""
"classname>创建èœå•å’Œå·¥å…·æ (更多有关信æ¯è¯·å‚阅<xref linkend=\"chapter-menus-"
"and-toolbars\"/>)。然åŽå°†èœå•å’Œå·¥å…·æ æ·»åŠ åˆ°çª—å£ä¸ã€‚"
-#: C/index-in.docbook:5490
+#: C/index-in.docbook:5493
msgid "Filtering Files"
msgstr "ç›é€‰æ–‡ä»¶"
-#: C/index-in.docbook:5491
+#: C/index-in.docbook:5494
msgid ""
"For any of the <classname>FileChooser</classname> classes, if you don't wish "
"to display all of the items in the list of files, you can filter the list to "
@@ -9546,7 +9543,7 @@ msgstr ""
"(<methodname>add_pattern()</methodname>)或MIME类型"
"(<methodname>add_mime_type()</methodname>)ç›é€‰æ–‡ä»¶ã€‚"
-#: C/index-in.docbook:5500
+#: C/index-in.docbook:5503
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>FileChooser::"
@@ -9556,11 +9553,11 @@ msgstr ""
"<methodname>FileChooser::add_filter()</methodname>函数将ç›é€‰å™¨åº”ç”¨äºŽä½ æ‰€é€‰çš„"
"部件。"
-#: C/index-in.docbook:5510
+#: C/index-in.docbook:5513
msgid "Keyboard Events"
msgstr "键盘事件"
-#: C/index-in.docbook:5511
+#: C/index-in.docbook:5514
msgid ""
"X events differ in some ways from other signals. These differences are "
"described in the <link linkend=\"sec-xeventsignals\">X Event signals</link> "
@@ -9571,11 +9568,11 @@ msgstr ""
"xeventsignals\">X事件信å·</link>å°èŠ‚ä¸è¯´æ˜Žã€‚在这,我们将使用键盘事件说明如何"
"在程åºä¸ä½¿ç”¨X事件。"
-#: C/index-in.docbook:5518
+#: C/index-in.docbook:5521
msgid "Overview"
msgstr "总览"
-#: C/index-in.docbook:5519
+#: C/index-in.docbook:5522
msgid ""
"Whenever you press or release a key, an event is emitted. You can connect a "
"signal handler to handle such events."
@@ -9583,7 +9580,7 @@ msgstr ""
"æ¯å½“ä½ æŒ‰ä¸‹æˆ–æ”¾å¼€ä¸€ä¸ªæŒ‰é”®ï¼Œå°±ä¼šå‘å‡ºä¸€ä¸ªäº‹ä»¶ã€‚ä½ å¯ä»¥è¿žæŽ¥åˆ°ä¿¡å·å¤„ç†å‡½æ•°æ¥å¤„ç†æ¤"
"类事件。"
-#: C/index-in.docbook:5523
+#: C/index-in.docbook:5526
msgid ""
"The event signal handler will receive an argument that depends on the type "
"of event. For keyboard events it's a <type>GdkEventKey*</type>. As discribed "
@@ -9597,7 +9594,7 @@ msgstr ""
"link>ä¸æ‰€è¿°ï¼Œäº‹ä»¶å¤„ç†å‡½æ•°è¿”回一个<type>bool</type>值,以表示信å·å·²ç»è¢«å®Œå…¨å¤„"
"ç†ï¼ˆè¿”回<literal>true</literal>)或å…è®¸äº‹ä»¶ä¼ æ’(<literal>false</literal>)。"
-#: C/index-in.docbook:5532
+#: C/index-in.docbook:5535
msgid ""
"To determine which key was pressed or released, you read the value of "
"<varname>GdkEventKey::keyval</varname> and compare it with a constant in the "
@@ -9610,7 +9607,11 @@ msgstr ""
"较。<varname>GdkEventKey::state</varname>çš„ä½æ ‡å¿—å¯ä»¥ç”¨ä½œè¡¨ç¤ºä¿®é¥°é”®ï¼ˆshiftã€"
"ctrlç‰ï¼‰çš„状æ€ã€‚"
-#: C/index-in.docbook:5541
+#: C/index-in.docbook:5542 C/index-in.docbook:8400
+msgid "Here's a simple example:"
+msgstr "这是一个简å•çš„例å:"
+
+#: C/index-in.docbook:5545
#, no-wrap
msgid ""
"\n"
@@ -9651,11 +9652,7 @@ msgstr ""
"m_entry.signal_key_press_event().connect( sigc::ptr_fun(&on_key_press_or_release_event) );\n"
"m_entry.signal_key_release_event().connect( sigc::ptr_fun(&on_key_press_or_release_event) );\n"
-#: C/index-in.docbook:5539 C/index-in.docbook:8443
-msgid "Here's a simple example: <_:programlisting-1/>"
-msgstr "这是一个简å•çš„例å:<_:programlisting-1/>"
-
-#: C/index-in.docbook:5564
+#: C/index-in.docbook:5567
msgid ""
"In this example there are three keyboard shortcuts: <keycap>Alt</keycap>"
"+<keycap>1</keycap> selects the first radio button, <keycap>Alt</keycap>"
@@ -9670,11 +9667,11 @@ msgstr ""
"linkend=\"sec-overriding-default-signal-handlers\">覆盖默认信å·å¤„ç†ç¨‹åº</"
"link>å°èŠ‚所述。"
-#: C/index-in.docbook:5575
+#: C/index-in.docbook:5578
msgid "Keyboard Events - Simple"
msgstr "键盘事件 - 简å•"
-#: C/index-in.docbook:5581
+#: C/index-in.docbook:5584
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/keyboard_events/simple/\">Source Code</ulink>"
@@ -9682,11 +9679,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/keyboard_events/simple/\">æºä»£ç </ulink>"
-#: C/index-in.docbook:5586
+#: C/index-in.docbook:5589
msgid "Event Propagation"
msgstr "äº‹ä»¶ä¼ æ’"
-#: C/index-in.docbook:5587
+#: C/index-in.docbook:5590
msgid ""
"Event propagation means that, when an event is emitted on a particular "
"widget, it can be passed to its parent widget (and that widget can pass it "
@@ -9697,7 +9694,7 @@ msgstr ""
"个部件åˆå¯ä»¥å°†ä¿¡å·ä¼ 递给它的父部件,以æ¤ç±»æŽ¨ï¼‰ï¼Œå¦‚果父部件有对该事件的事件处"
"ç†ç¨‹åºï¼Œè¯¥å¤„ç†ç¨‹åºå°†è¢«è°ƒç”¨ã€‚"
-#: C/index-in.docbook:5593
+#: C/index-in.docbook:5596
msgid ""
"Contrary to other events, keyboard events are first sent to the toplevel "
"window (<classname>Gtk::Window</classname>), where it will be checked for "
@@ -9711,7 +9708,7 @@ msgstr ""
"é”®ã€åŠ©è®°ç¬¦ï¼‰ã€‚然åŽï¼ˆå‡è®¾äº‹ä»¶æ²¡æœ‰è¢«å¤„ç†ï¼‰å°†å…¶å‘é€åˆ°ç„¦ç‚¹éƒ¨ä»¶ï¼Œç„¶åŽä»Žæ¤éƒ¨ä»¶å¼€å§‹"
"ä¼ æ’。"
-#: C/index-in.docbook:5601
+#: C/index-in.docbook:5604
msgid ""
"The event will propagate until it reaches the top-level widget, or until you "
"stop the propagation by returning <literal>true</literal> from an event "
@@ -9720,13 +9717,13 @@ msgstr ""
"äº‹ä»¶å°†ä¸€ç›´ä¼ æ’直到顶级窗å£ä¸ºæ¢æˆ–ç›´åˆ°ä½ é€šè¿‡äº‹ä»¶å¤„ç†ç¨‹åºè¿”回<literal>true</"
"literal>为æ¢ã€‚"
-#: C/index-in.docbook:5606
+#: C/index-in.docbook:5609
msgid ""
"Notice, that after canceling an event, no other function will be called "
"(even if it is from the same widget)."
msgstr "请注æ„,å–消事件之åŽï¼Œä¸å†ä¼šè°ƒç”¨å…¶ä»–函数(哪怕它æ¥è‡ªåŒä¸€ä¸ªéƒ¨ä»¶ï¼‰ã€‚"
-#: C/index-in.docbook:5613
+#: C/index-in.docbook:5616
msgid ""
"In this example there are three event handlers that are called after "
"<classname>Gtk::Window</classname>'s default event handler, one in the "
@@ -9738,7 +9735,7 @@ msgstr ""
"<classname>Gtk::Grid</classname>ä¸ã€ä¸€ä¸ªåœ¨<classname>Gtk::Window</classname>"
"ä¸ã€‚"
-#: C/index-in.docbook:5619
+#: C/index-in.docbook:5622
msgid ""
"In the <classname>Gtk::Window</classname>, we have also the default handler "
"overridden (<methodname>on_key_release_event()</methodname>), and another "
@@ -9749,13 +9746,13 @@ msgstr ""
"(<methodname>on_key_release_event()</methodname>),并在调用默认处ç†ç¨‹åºä¹‹å‰"
"调用了å¦ä¸€ä¸ªå¤„ç†ç¨‹åºï¼ˆ<methodname>windowKeyReleaseBefore()</methodname>)。"
-#: C/index-in.docbook:5625
+#: C/index-in.docbook:5628
msgid ""
"The purpose of this example is to show the steps the event takes when it is "
"emitted."
msgstr "本示例的目的是显示事件å‘出时进行的æ¥éª¤ã€‚"
-#: C/index-in.docbook:5628
+#: C/index-in.docbook:5631
msgid ""
"When you write in the entry, a key release event will be emitted, which will "
"go first to the toplevel window (<classname>Gtk::Window</classname>), since "
@@ -9777,11 +9774,11 @@ msgstr ""
"æ’ï¼Œä½ å†™å…¥çš„æ–‡æœ¬å°†å‡ºçŽ°åœ¨<classname>Entry</classname>上方的<classname>Label</"
"classname>ä¸ã€‚"
-#: C/index-in.docbook:5643
+#: C/index-in.docbook:5646
msgid "Keyboard Events - Event Propagation"
msgstr "键盘事件 - äº‹ä»¶ä¼ æ’"
-#: C/index-in.docbook:5649
+#: C/index-in.docbook:5652
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/keyboard_events/propagation/\">Source Code</ulink>"
@@ -9789,15 +9786,15 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/keyboard_events/propagation/\">æºä»£ç </ulink>"
-#: C/index-in.docbook:5655
+#: C/index-in.docbook:5658
msgid "Timeouts, I/O and Idle Functions"
msgstr "超时,I/O和空闲函数"
-#: C/index-in.docbook:5658
+#: C/index-in.docbook:5661
msgid "Timeouts"
msgstr "超时"
-#: C/index-in.docbook:5660
+#: C/index-in.docbook:5663
msgid ""
"You may be wondering how to make <application>gtkmm</application> do useful "
"work while it's idling along. Happily, you have several options. Using the "
@@ -9807,7 +9804,7 @@ msgstr ""
"ä½ å¯èƒ½æƒ³çŸ¥é“如何使<application>gtkmm</application>在空闲的时候åšä¸€äº›æœ‰ç”¨çš„å·¥"
"作。幸è¿çš„æ˜¯ä½ æœ‰å‡ ç§é€‰æ‹©ã€‚ä½ å¯ä»¥åˆ›å»ºä¸€ä¸ªæ¯å‡ 毫秒就调用的超时方法。"
-#: C/index-in.docbook:5667
+#: C/index-in.docbook:5669
#, no-wrap
msgid ""
"\n"
@@ -9818,7 +9815,7 @@ msgstr ""
"sigc::connection Glib::SignalTimeout::connect(const sigc::slot<bool()>& slot,\n"
" unsigned int interval, int priority = Glib::PRIORITY_DEFAULT);\n"
-#: C/index-in.docbook:5673
+#: C/index-in.docbook:5674
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 "
@@ -9831,7 +9828,7 @@ msgstr ""
"classname>对象,å¯ä»¥åœ¨è¯¥å¯¹è±¡ä¸Šè°ƒç”¨<methodname>disconnect()</methodname>方法æ–"
"开连接。"
-#: C/index-in.docbook:5683
+#: C/index-in.docbook:5682
#, no-wrap
msgid ""
"\n"
@@ -9840,29 +9837,28 @@ msgstr ""
"\n"
"my_connection.disconnect();\n"
-#: C/index-in.docbook:5695
-#, no-wrap
-msgid ""
-"\n"
-"bool MyCallback() { std::cout << \"Hello World!\\n\" << std::endl; return true; }\n"
-msgstr ""
-"\n"
-"bool MyCallback() { std::cout << \"Hello World!\\n\" << std::endl; return true; }\n"
-
-#: C/index-in.docbook:5688
+#: C/index-in.docbook:5686
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 "
"from the definition your signal handler has to return a value of the type "
"<literal>bool</literal>. A definition of a sample method might look like "
-"this: <_:programlisting-1/>"
+"this:"
msgstr ""
"ç ´å连接的å¦ä¸€ç§æ–¹æ³•æ˜¯é€šè¿‡ä½ çš„ä¿¡å·å¤„ç†å‡½æ•°çš„返回值。其类型必须是"
"<classname>sigc::slot<bool()></classname>。从定义å¯ä»¥çœ‹å‡ºä¿¡å·å¤„ç†å‡½æ•°å¿…"
-"须返回一个<literal>bool</literal>类型的值。示例方法的定义å¯èƒ½å¦‚下所示:<_:"
-"programlisting-1/>"
+"须返回一个<literal>bool</literal>类型的值。示例方法的定义å¯èƒ½å¦‚下所示:"
+
+#: C/index-in.docbook:5694
+#, no-wrap
+msgid ""
+"\n"
+"bool MyCallback() { std::cout << \"Hello World!\\n\" << std::endl; return true; }\n"
+msgstr ""
+"\n"
+"bool MyCallback() { std::cout << \"Hello World!\\n\" << std::endl; return true; }\n"
-#: C/index-in.docbook:5701
+#: C/index-in.docbook:5698
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 "
@@ -9872,11 +9868,11 @@ msgstr ""
"æ¤ï¼Œå¦‚æžœä½ è¿˜æƒ³é‡å¤è°ƒç”¨æ¤æ–¹æ³•ï¼Œåˆ™ä½ 需è¦è®©ä¿¡å·å¤„ç†å‡½æ•°è¿”回<literal>true</"
"literal>。"
-#: C/index-in.docbook:5707
+#: C/index-in.docbook:5704
msgid "Here's an example of this technique:"
msgstr "这是æ¤æŠ€æœ¯çš„示例:"
-#: C/index-in.docbook:5711
+#: C/index-in.docbook:5708
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/timeout/\">Source Code</ulink>"
@@ -9884,11 +9880,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/timeout/\">æºä»£ç </ulink>"
-#: C/index-in.docbook:5716
+#: C/index-in.docbook:5713
msgid "Monitoring I/O"
msgstr "监视I/O"
-#: C/index-in.docbook:5718
+#: C/index-in.docbook:5715
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 "
@@ -9899,7 +9895,7 @@ msgstr ""
"å¸®ä½ æ£€æŸ¥æ–‡ä»¶æ述符ä¸çš„æ•°æ®çš„能力。这对于需è¦è”网的应用程åºå分的有用。使用以"
"下方法æ¥æ‰§è¡Œæ¤æ“作:"
-#: C/index-in.docbook:5726
+#: C/index-in.docbook:5722
#, no-wrap
msgid ""
"\n"
@@ -9912,7 +9908,7 @@ msgstr ""
" Glib::PollFD::fd_t fd, Glib::IOCondition condition,\n"
" int priority = Glib::PRIORITY_DEFAULT);\n"
-#: C/index-in.docbook:5733
+#: C/index-in.docbook:5728
msgid ""
"The first argument is a slot you wish to have called when the specified "
"event (see argument 3) occurs on the file descriptor you specify using "
@@ -9924,37 +9920,37 @@ msgstr ""
"使用<literal>|</literal>,例如:<literal>Glib::IO_IN | Glib::IO_OUT | Glib::"
"IO_PRI</literal>):"
-#: C/index-in.docbook:5743
+#: C/index-in.docbook:5738
msgid ""
"Glib::IO_IN - Call your method when there is data ready for reading on your "
"file descriptor."
msgstr "Glib::IO_IN - å½“ä½ æ供的文件æ述符有数æ®å‡†å¤‡å¥½è¢«è¯»å–æ—¶è°ƒç”¨ä½ çš„æ–¹æ³•ã€‚"
-#: C/index-in.docbook:5751
+#: C/index-in.docbook:5746
msgid ""
"Glib::IO_OUT - Call your method when the file descriptor is ready for "
"writing."
msgstr "Glib::IO_OUT - 当æ供的文件æè¿°ç¬¦å‡†å¤‡å¥½è¢«å†™å…¥æ—¶è°ƒç”¨ä½ çš„æ–¹æ³•ã€‚"
-#: C/index-in.docbook:5759
+#: C/index-in.docbook:5754
msgid ""
"Glib::IO_PRI - Call your method when the file descriptor has urgent data to "
"be read."
msgstr "Glib::IO_PRI - 当æ供的文件æ述符有紧急数æ®è¦è¯»å–æ—¶è°ƒç”¨ä½ çš„æ–¹æ³•ã€‚"
-#: C/index-in.docbook:5766
+#: C/index-in.docbook:5761
msgid ""
"Glib::IO_ERR - Call your method when an error has occurred on the file "
"descriptor."
msgstr "Glib::IO_ERR - 当æ供的文件æ述符上å‘ç”Ÿé”™è¯¯çš„æ—¶å€™è°ƒç”¨ä½ çš„æ–¹æ³•ã€‚"
-#: C/index-in.docbook:5773
+#: C/index-in.docbook:5768
msgid ""
"Glib::IO_HUP - Call your method when hung up (the connection has been broken "
"usually for pipes and sockets)."
msgstr "Glib::IO_HUP - 挂起时(常è§äºŽç®¡é“和套接å—的连接被æ–å¼€ï¼‰è°ƒç”¨ä½ çš„æ–¹æ³•ã€‚"
-#: C/index-in.docbook:5780
+#: C/index-in.docbook:5775
msgid ""
"The return value is a <classname>sigc::connection</classname> that may be "
"used to stop monitoring this file descriptor using its "
@@ -9965,7 +9961,7 @@ msgstr ""
"<methodname>disconnect()</methodname>方法以åœæ¢å¯¹è¯¥æ–‡ä»¶æ述符的监视。信å·å¤„ç†"
"函数<parameter>slot</parameter>应声明如下:"
-#: C/index-in.docbook:5787
+#: C/index-in.docbook:5781
#, no-wrap
msgid ""
"\n"
@@ -9974,7 +9970,7 @@ msgstr ""
"\n"
"bool input_callback(Glib::IOCondition condition);\n"
-#: C/index-in.docbook:5792
+#: C/index-in.docbook:5785
msgid ""
"where <parameter>condition</parameter> is as specified above. As usual the "
"slot is created with <function>sigc::mem_fun()</function> (for a member "
@@ -9985,7 +9981,7 @@ msgstr ""
"mem_fun()</function>(通过一个对象的æˆå‘˜å‡½æ•°åˆ›å»ºï¼‰æˆ–<function>sigc::"
"ptr_fun()</function>(通过一个普通函数创建)函数创建槽。"
-#: C/index-in.docbook:5799
+#: C/index-in.docbook:5792
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 "
@@ -9999,7 +9995,7 @@ msgstr ""
"shell并执行<literal>echo \"Hello\" > testfifo</literal>。该示例将打å°ä½ 输"
"入的æ¯ä¸€è¡Œç›´åˆ°ä½ 执行<literal>echo \"Q\" > testfifo</literal>"
-#: C/index-in.docbook:5808
+#: C/index-in.docbook:5801
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/input/\">Source Code</ulink>"
@@ -10007,17 +10003,17 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/input/\">æºä»£ç </ulink>"
-#: C/index-in.docbook:5813
+#: C/index-in.docbook:5806
msgid "Idle Functions"
msgstr "空闲函数"
-#: C/index-in.docbook:5815
+#: C/index-in.docbook:5808
msgid ""
"If you want to specify a method that gets called when nothing else is "
"happening, use the following:"
msgstr "å¦‚æžœä½ æƒ³è¦æŒ‡å®šä¸€ä¸ªåœ¨æ— 事å‘生时调用的方法,请使用以下函数:"
-#: C/index-in.docbook:5820
+#: C/index-in.docbook:5812
#, no-wrap
msgid ""
"\n"
@@ -10028,7 +10024,7 @@ msgstr ""
"sigc::connection Glib::SignalIdle::connect(const sigc::slot<bool()>& slot,\n"
" int priority = Glib::PRIORITY_DEFAULT_IDLE);\n"
-#: C/index-in.docbook:5826
+#: C/index-in.docbook:5817
msgid ""
"This causes <application>gtkmm</application> to call the specified method "
"whenever nothing else is happening. You can add a priority (lower numbers "
@@ -10043,7 +10039,7 @@ msgstr ""
"methodname>ã€åœ¨ä¿¡å·å¤„ç†ç¨‹åºä¸è¿”回<literal>false</literal>,信å·å¤„ç†ç¨‹åºçš„声明"
"应如下所示:"
-#: C/index-in.docbook:5836
+#: C/index-in.docbook:5826
#, no-wrap
msgid ""
"\n"
@@ -10052,14 +10048,14 @@ msgstr ""
"\n"
"bool idleFunc();\n"
-#: C/index-in.docbook:5841
+#: C/index-in.docbook:5830
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/index-in.docbook:5846
+#: C/index-in.docbook:5835
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/idle/\">Source Code</ulink>"
@@ -10067,7 +10063,7 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/idle/\">æºä»£ç </ulink>"
-#: C/index-in.docbook:5848
+#: C/index-in.docbook:5837
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 "
@@ -10079,7 +10075,7 @@ msgstr ""
"åˆ™ä½ åº”è¯¥ä½¿ç”¨è¶…æ—¶æ–¹æ³•ã€‚å¦‚æžœä½ éœ€è¦å°½å¯èƒ½å¤šçš„调用方法(例如在åŽå°è®¡ç®—åˆ†å½¢ï¼‰é‚£ä½ "
"应该使用空闲方法。"
-#: C/index-in.docbook:5856
+#: C/index-in.docbook:5845
msgid ""
"Try executing the example and increasing the system load. The upper progress "
"bar will increase steadily; the lower one will slow down."
@@ -10087,15 +10083,15 @@ msgstr ""
"å°è¯•æ‰§è¡Œæ¤ç¤ºä¾‹å¹¶é€æ¸å¢žåŠ 系统的负载。上方的进度æ¡å°†ç¨³å®šçš„é€æ¸å¢žåŠ ;下方的则会"
"å¢žåŠ çš„è¶Šæ¥è¶Šæ…¢ã€‚"
-#: C/index-in.docbook:5866
+#: C/index-in.docbook:5855
msgid "Memory management"
msgstr "内å˜ç®¡ç†"
-#: C/index-in.docbook:5872
+#: C/index-in.docbook:5861
msgid "Normal C++ memory management"
msgstr "æ ‡å‡†C++内å˜ç®¡ç†"
-#: C/index-in.docbook:5874
+#: C/index-in.docbook:5863
msgid ""
"<application>gtkmm</application> allows the programmer to control the "
"lifetime (that is, the construction and destruction) of any widget in the "
@@ -10114,15 +10110,15 @@ msgstr ""
"çµæ´»æ€§åœ¨æŸäº›C++ GUI工具包ä¸ä¸å˜åœ¨ï¼Œè¿™äº›å·¥å…·åŒ…é™åˆ¶ç¨‹åºå‘˜åªèƒ½ä½¿ç”¨C++内å˜ç®¡ç†ç‰¹"
"性ä¸çš„一部分。"
-#: C/index-in.docbook:5886
+#: C/index-in.docbook:5875
msgid "Here are some examples of normal C++ memory management:"
msgstr "ä»¥ä¸‹æ˜¯ä¸€äº›ä½¿ç”¨æ ‡å‡†C++进行内å˜ç®¡ç†çš„示例:"
-#: C/index-in.docbook:5889
+#: C/index-in.docbook:5878
msgid "Class Scope widgets"
msgstr "类作用域部件"
-#: C/index-in.docbook:5891
+#: C/index-in.docbook:5880
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 "
@@ -10133,7 +10129,7 @@ msgstr ""
"类作用域ä¸ä½¿ç”¨è‡ªåŠ¨å‚¨å˜æœŸçš„部件的优点之一是内å˜ç®¡ç†è¢«é›†ä¸åœ¨ä¸€ä¸ªåœ°æ–¹ã€‚程åºå‘˜ä¸"
"需è¦æ‰¿æ‹…å› <literal>delete</literal>部件出现差错而导致内å˜æ³„æ¼çš„风险。"
-#: C/index-in.docbook:5898
+#: C/index-in.docbook:5887
msgid ""
"The primary disadvantage of using class scope widgets is revealing the class "
"implementation rather than the class interface in the class header."
@@ -10141,7 +10137,7 @@ msgstr ""
"使用类作用域部件的主è¦ç¼ºç‚¹æ˜¯åœ¨åŒ…å«ç±»å£°æ˜Žçš„头文件ä¸å±•ç¤ºäº†ç±»çš„实现而ä¸åªæ˜¯ç±»çš„"
"接å£ã€‚"
-#: C/index-in.docbook:5904
+#: C/index-in.docbook:5892
#, no-wrap
msgid ""
"\n"
@@ -10164,11 +10160,20 @@ msgstr ""
" // will be destroyed when the Foo object is destroyed\n"
"};\n"
-#: C/index-in.docbook:5918
+#: C/index-in.docbook:5905
msgid "Function scope widgets"
msgstr "函数作用域部件"
-#: C/index-in.docbook:5924
+#: C/index-in.docbook:5907
+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."
+msgstr ""
+"如果程åºå‘˜ä¸éœ€è¦ç±»ä½œç”¨åŸŸéƒ¨ä»¶ï¼Œé‚£ä¹ˆä¹Ÿå¯ä»¥ä½¿ç”¨å‡½æ•°ä½œç”¨åŸŸéƒ¨ä»¶ã€‚函数作用域相比于"
+"ç±»ä½œç”¨åŸŸçš„ä¼˜ç‚¹æ˜¯å¢žåŠ äº†æ•°æ®çš„éšè”½æ€§å’Œéšè—了ä¾èµ–。"
+
+#: C/index-in.docbook:5912
#, no-wrap
msgid ""
"\n"
@@ -10187,20 +10192,11 @@ msgstr ""
" app->run();\n"
"}\n"
-#: C/index-in.docbook:5920
-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. <_:programlisting-1/>"
-msgstr ""
-"如果程åºå‘˜ä¸éœ€è¦ç±»ä½œç”¨åŸŸéƒ¨ä»¶ï¼Œé‚£ä¹ˆä¹Ÿå¯ä»¥ä½¿ç”¨å‡½æ•°ä½œç”¨åŸŸéƒ¨ä»¶ã€‚函数作用域相比于"
-"ç±»ä½œç”¨åŸŸçš„ä¼˜ç‚¹æ˜¯å¢žåŠ äº†æ•°æ®çš„éšè”½æ€§å’Œéšè—了ä¾èµ–。<_:programlisting-1/>"
-
-#: C/index-in.docbook:5936
+#: C/index-in.docbook:5923
msgid "Dynamic allocation with new and delete"
msgstr "使用newå’Œdelete进行动æ€åˆ†é…"
-#: C/index-in.docbook:5946
+#: C/index-in.docbook:5933
#, no-wrap
msgid ""
"\n"
@@ -10217,7 +10213,7 @@ msgstr ""
"\n"
"delete pButton;\n"
-#: C/index-in.docbook:5938
+#: C/index-in.docbook:5925
msgid ""
"Usually, the programmer will prefer to allow containers to automatically "
"destroy their children by creating them using <function>Gtk::make_managed()</"
@@ -10236,11 +10232,11 @@ msgstr ""
"让他们的父部件销æ¯å®ƒä»¬ï¼Œè€Œä¸æ˜¯æ‰‹åŠ¨æ‰§è¡ŒåŠ¨æ€å†…å˜åˆ†é…。<_:programlisting-1/> 在"
"这,程åºå‘˜åˆ 除<varname>pButton</varname>以防æ¢å†…å˜æ³„æ¼ã€‚"
-#: C/index-in.docbook:5960
+#: C/index-in.docbook:5947
msgid "Managed Widgets"
msgstr "托管部件"
-#: C/index-in.docbook:5962
+#: C/index-in.docbook:5949
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 "
@@ -10256,11 +10252,11 @@ msgstr ""
"<methodname>Gtk::Box::append()</methodname>这类的方法将其装入容器ä¸ã€‚è¿™æ ·éƒ¨ä»¶"
"就会éšç€å®¹å™¨ä¸€å¹¶é”€æ¯ã€‚"
-#: C/index-in.docbook:5972
+#: C/index-in.docbook:5959
msgid "Dynamic allocation with make_managed() and append()"
msgstr "使用make_managed()å’Œappend()进行动æ€åˆ†é…"
-#: C/index-in.docbook:5974
+#: C/index-in.docbook:5961
msgid ""
"<application>gtkmm</application> provides ways including the "
"<function>make_managed()</function> function and <methodname>Gtk::Box::"
@@ -10271,7 +10267,7 @@ msgstr ""
"函数和<methodname>Gtk::Box::append()</methodname>方法在内的用于简化创建和销æ¯"
"部件的很多方法。这些部件的生命周期å¯ä»¥ç”±å…¶çˆ¶éƒ¨ä»¶è¿›è¡Œç®¡ç†ã€‚"
-#: C/index-in.docbook:5980
+#: C/index-in.docbook:5967
msgid ""
"Every widget except a top-level window must be added to a parent container "
"in order to be displayed. The <function>manage()</function> function marks a "
@@ -10288,7 +10284,7 @@ msgstr ""
"行管ç†çš„部件的原始方法是调用<function>manage()</function>,并将å‘å…¶ä¼ å…¥ä½¿ç”¨"
"<literal>new</literal>表达å¼åˆ›å»ºçš„动æ€åˆ†é…的部件。"
-#: C/index-in.docbook:5990
+#: C/index-in.docbook:5977
msgid ""
"However, usually, when you create such a widget, you will already know that "
"its parent container should be responsible for destroying it, In addition, "
@@ -10307,7 +10303,7 @@ msgstr ""
"数,这个函数将两个æ¥éª¤åˆå¹¶åˆ°äº†ä¸€èµ·ã€‚è¿™é¿å…äº†è®©ä½ ç¼–å†™çŽ°ä»£C++é£Žæ ¼ä¸å»ºè®®çš„带有"
"<literal>new</literal>的代ç ,并更清楚的表达了创建托管部件的æ„图。"
-#: C/index-in.docbook:6002
+#: C/index-in.docbook:5988
#, no-wrap
msgid ""
"\n"
@@ -10324,20 +10320,19 @@ msgstr ""
" append(*pButton); //add *pButton to MyContainer\n"
"}\n"
-#: C/index-in.docbook:6001
+#: C/index-in.docbook:5995
msgid ""
-"<_:programlisting-1/> Now, when objects of type <classname>MyContainer</"
-"classname> are destroyed, the button will also be deleted. It is no longer "
-"necessary to delete <varname>pButton</varname> to free the button's memory; "
-"its deletion has been delegated to the <classname>MyContainer</classname> "
-"object."
+"Now, when objects of type <classname>MyContainer</classname> are destroyed, "
+"the button will also be deleted. It is no longer necessary to delete "
+"<varname>pButton</varname> to free the button's memory; its deletion has "
+"been delegated to the <classname>MyContainer</classname> object."
msgstr ""
-"<_:programlisting-1/> çŽ°åœ¨ï¼Œå½“ä½ é”€æ¯<classname>MyContainer</classname>类型对"
+"çŽ°åœ¨ï¼Œå½“ä½ é”€æ¯<classname>MyContainer</classname>类型对"
"象时,该按钮也被销æ¯ã€‚ä¸å†éœ€è¦ä¸»åŠ¨<literal>delete</literal><varname>pButton</"
"varname>以释放其内å˜ï¼›å¯¹å…¶çš„åˆ é™¤æ“作委托给了<classname>MyContainer</"
"classname>对象。"
-#: C/index-in.docbook:6015
+#: C/index-in.docbook:6002
msgid ""
"Note that if you never added the widget to any parent container, or you did "
"but later <methodname>Gtk::Container::remove()</methodname>d it from said "
@@ -10352,7 +10347,7 @@ msgstr ""
"<function>manage()</function>之å‰çš„状æ€ï¼Œè¿™é€šå¸¸æ„味ç€åˆ 除部件的责任被归还给了"
"用户。"
-#: C/index-in.docbook:6023
+#: C/index-in.docbook:6010
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 "
@@ -10363,11 +10358,11 @@ msgstr ""
"çº§å®¹å™¨ã€‚ä¾‹å¦‚ï¼Œä½ çš„é¡¶çº§çª—å£å¯èƒ½åªæ˜¯<function>main()</function>函数ä¸çš„一个实"
"例。"
-#: C/index-in.docbook:6035
+#: C/index-in.docbook:6022
msgid "Shared resources"
msgstr "共享资æº"
-#: C/index-in.docbook:6037
+#: C/index-in.docbook:6024
msgid ""
"Some objects, such as <classname>Gdk::Pixbuf</classname>s and "
"<classname>Pango::Font</classname>s, are obtained from a shared store. "
@@ -10383,7 +10378,15 @@ msgstr ""
"智能指针<classname>Glib::RefPtr<></classname>而ä¸æ˜¯è¦æ±‚ä½ å¼•ç”¨å’Œè§£å¼•ç”¨è¿™"
"些对象。开罗有自己的智能指针:<classname>Cairo::RefPtr<></classname>。"
-#: C/index-in.docbook:6050
+#: C/index-in.docbook:6034
+msgid ""
+"Objects such as <classname>Gdk::Pixbuf</classname> can only be instantiated "
+"with a <methodname>create()</methodname> function. For instance,"
+msgstr ""
+"诸如<classname>Gdk::Pixbuf</classname>之类的对象åªèƒ½é€šè¿‡"
+"<methodname>create()</methodname>函数进行实例化。例如:"
+
+#: C/index-in.docbook:6038
#, no-wrap
msgid ""
"\n"
@@ -10392,16 +10395,16 @@ msgstr ""
"\n"
"auto pixbuf = Gdk::Pixbuf::create_from_file(filename);\n"
-#: C/index-in.docbook:6047
+#: C/index-in.docbook:6042
msgid ""
-"Objects such as <classname>Gdk::Pixbuf</classname> can only be instantiated "
-"with a <methodname>create()</methodname> function. For instance, <_:"
-"programlisting-1/>"
+"You have no way of getting a bare <classname>Gdk::Pixbuf</classname>. In the "
+"example, <varname>pixbuf</varname> is a smart pointer, so you can do this, "
+"much like a normal pointer:"
msgstr ""
-"诸如<classname>Gdk::Pixbuf</classname>之类的对象åªèƒ½é€šè¿‡"
-"<methodname>create()</methodname>函数进行实例化。例如:<_:programlisting-1/>"
+"ä½ æ— æ³•æš´éœ²<classname>Gdk::Pixbuf</classname>对象。在示例ä¸ï¼Œ<varname>pixbuf</"
+"varname>æ˜¯ä¸€ä¸ªæ™ºèƒ½æŒ‡é’ˆï¼Œå› æ¤å¯ä»¥åƒæ£å¸¸æŒ‡é’ˆä¸€æ ·æ‰§è¡Œæ¤æ“作:"
-#: C/index-in.docbook:6059
+#: C/index-in.docbook:6047
#, no-wrap
msgid ""
"\n"
@@ -10420,16 +10423,6 @@ msgstr ""
#: C/index-in.docbook:6055
msgid ""
-"You have no way of getting a bare <classname>Gdk::Pixbuf</classname>. In the "
-"example, <varname>pixbuf</varname> is a smart pointer, so you can do this, "
-"much like a normal pointer: <_:programlisting-1/>"
-msgstr ""
-"ä½ æ— æ³•æš´éœ²<classname>Gdk::Pixbuf</classname>对象。在示例ä¸ï¼Œ<varname>pixbuf</"
-"varname>æ˜¯ä¸€ä¸ªæ™ºèƒ½æŒ‡é’ˆï¼Œå› æ¤å¯ä»¥åƒæ£å¸¸æŒ‡é’ˆä¸€æ ·æ‰§è¡Œæ¤æ“作:<_:"
-"programlisting-1/>"
-
-#: C/index-in.docbook:6068
-msgid ""
"When <varname>pixbuf</varname> goes out of scope an <methodname>unref()</"
"methodname> will happen in the background and you don't need to worry about "
"it anymore. There's no <literal>new</literal> so there's no <literal>delete</"
@@ -10439,7 +10432,7 @@ msgstr ""
"methodname>ï¼Œä½ æ— éœ€ä¸ºå®ƒæ‹…å¿ƒã€‚æ²¡æœ‰è¿›è¡Œ<literal>new</literal>å› æ¤ä¹Ÿä¸éœ€è¦è¿›è¡Œ"
"<literal>delete</literal>。"
-#: C/index-in.docbook:6076
+#: C/index-in.docbook:6063
#, no-wrap
msgid ""
"\n"
@@ -10448,7 +10441,7 @@ msgstr ""
"\n"
"auto pixbuf2 = pixbuf;\n"
-#: C/index-in.docbook:6074
+#: C/index-in.docbook:6061
msgid ""
"If you copy a <classname>RefPtr</classname>, for instance <_:"
"programlisting-1/> , or if you pass it as a method argument or a return "
@@ -10461,35 +10454,35 @@ msgstr ""
"åšå¿…è¦çš„引用以确ä¿åœ¨æœ€åŽä¸€ä¸ª<classname>RefPtr</classname>超出作用域之å‰è¯¥å®žä¾‹"
"ä¸ä¼šè¢«é”€æ¯ã€‚"
-#: C/index-in.docbook:6084
+#: C/index-in.docbook:6071
msgid ""
"See the <link linkend=\"chapter-refptr\">appendix</link> for detailed "
"information about RefPtr."
msgstr ""
"更多与RefPtr有关的信æ¯ï¼Œè¯·å‚è§<link linkend=\"chapter-refptr\">附录</link>。"
-#: C/index-in.docbook:6089
+#: C/index-in.docbook:6076
msgid ""
"Bjarne Stroustrup, \"The C++ Programming Language\" Forth Edition - section "
"34.3"
msgstr "Bjarne Stroustrup,《C++编程è¯è¨€ã€‹ç¬¬å››ç‰ˆ 第34ç« ç¬¬3å°èŠ‚"
-#: C/index-in.docbook:6092
+#: C/index-in.docbook:6079
msgid "Nicolai M. Josuttis, \"The C++ Standard Library\" - section 4.2"
msgstr "Nicolai M. Josuttis,《C++æ ‡å‡†åº“ã€‹ç¬¬4ç« ç¬¬2节"
-#: C/index-in.docbook:6085
+#: C/index-in.docbook:6072
msgid ""
"If you wish to learn more about smartpointers, you might look in these "
"books: <_:itemizedlist-1/>"
msgstr ""
"å¦‚æžœä½ æƒ³äº†è§£ä¸Žæ™ºèƒ½æŒ‡é’ˆæ›´å¤šçš„æœ‰å…³ä¿¡æ¯ï¼Œè¯·é˜…读以下书ç±ï¼š<_:itemizedlist-1/>"
-#: C/index-in.docbook:6103
+#: C/index-in.docbook:6090
msgid "Glade and Gtk::Builder"
msgstr "Gladeå’ŒGtk::Builder"
-#: C/index-in.docbook:6104
+#: C/index-in.docbook:6091
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 "
@@ -10505,23 +10498,23 @@ msgstr ""
"<application>Gtk::Builder</application>API在è¿è¡Œæ—¶åŠ 载该XML文件,并获å–特定å"
"称部件实例的指针。"
-#: C/index-in.docbook:6117
+#: C/index-in.docbook:6104
msgid "Less C++ code is required."
msgstr "需è¦çš„C++代ç 更少。"
-#: C/index-in.docbook:6118
+#: C/index-in.docbook:6105
msgid "UI changes can be seen more quickly, so UIs are able to improve."
msgstr "å¯ä»¥æ›´å¿«çš„看到UI的更改,更便于改进UI。"
-#: C/index-in.docbook:6119
+#: C/index-in.docbook:6106
msgid "Designers without programming skills can create and edit UIs."
msgstr "没有编程技能的设计人员å¯ä»¥åˆ›å»ºå’Œç¼–辑UI。"
-#: C/index-in.docbook:6114
+#: C/index-in.docbook:6101
msgid "This has the following advantages: <_:orderedlist-1/>"
msgstr "这具有以下优点:<_:orderedlist-1/>"
-#: C/index-in.docbook:6123
+#: C/index-in.docbook:6110
msgid ""
"You still need C++ code to deal with User Interface changes triggered by "
"user actions, but using <application>Gtk::Builder</application> for the "
@@ -10530,11 +10523,11 @@ msgstr ""
"ä½ ä»ç„¶éœ€è¦ç¼–写C++代ç 以处ç†ç”±ç”¨æˆ·æ“作触å‘çš„UI更改,但是将<application>Gtk::"
"Builder</application>用于部件布局å…è®¸ä½ æ›´ä¸“æ³¨çš„å®žçŽ°è¯¥åŠŸèƒ½ã€‚"
-#: C/index-in.docbook:6130
+#: C/index-in.docbook:6117
msgid "Loading the .glade file"
msgstr "åŠ è½½.glade文件"
-#: C/index-in.docbook:6135
+#: C/index-in.docbook:6122
#, no-wrap
msgid ""
"\n"
@@ -10543,7 +10536,7 @@ msgstr ""
"\n"
"auto builder = Gtk::Builder::create_from_file(\"basic.glade\");\n"
-#: C/index-in.docbook:6131
+#: C/index-in.docbook:6118
msgid ""
"<classname>Gtk::Builder</classname> must be used via a <classname>Glib::"
"RefPtr</classname>. Like all such classes, you need to use a "
@@ -10556,52 +10549,50 @@ msgstr ""
"methodname>方法实例化它。例如:<_:programlisting-1/>这将实例化<filename>."
"glade</filename>文件ä¸å®šä¹‰çš„窗å£ã€‚"
-#: C/index-in.docbook:6142
-#, no-wrap
+#: C/index-in.docbook:6128
msgid ""
-"\n"
-"auto builder = Gtk::Builder::create_from_file(\"basic.glade\", \"treeview_products\");\n"
-msgstr ""
-"\n"
-"auto builder = Gtk::Builder::create_from_file(\"basic.glade\", \"treeview_products\");\n"
-
-#: C/index-in.docbook:6141
-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, <_:"
-"programlisting-1/>"
+"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,"
msgstr ""
"如果åªæƒ³å®žä¾‹åŒ–一个窗å£æˆ–实例化一个åéƒ¨ä»¶ï¼Œä½ å¯ä»¥å°†éƒ¨ä»¶çš„å称指定为第二个å‚"
-"数。例如:<_:programlisting-1/>"
-
-#: C/index-in.docbook:6150
-msgid "Accessing widgets"
-msgstr "访问部件"
+"数。例如:"
-#: C/index-in.docbook:6158
+#: C/index-in.docbook:6130
#, no-wrap
msgid ""
"\n"
-"auto pDialog = builder->get_widget<Gtk::Dialog>(\"DialogBasic\");\n"
+"auto builder = Gtk::Builder::create_from_file(\"basic.glade\", \"treeview_products\");\n"
msgstr ""
"\n"
-"auto pDialog = builder->get_widget<Gtk::Dialog>(\"DialogBasic\");\n"
+"auto builder = Gtk::Builder::create_from_file(\"basic.glade\", \"treeview_products\");\n"
+
+#: C/index-in.docbook:6137
+msgid "Accessing widgets"
+msgstr "访问部件"
-#: C/index-in.docbook:6152
+#: C/index-in.docbook:6139
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</"
"application> Properties window. If the widget could not be found, or is of "
-"the wrong type, then the pointer will be set to nullptr. <_:programlisting-1/"
-">"
+"the wrong type, then the pointer will be set to nullptr."
msgstr ""
"è¦è®¿é—®éƒ¨ä»¶ï¼Œä¾‹å¦‚<methodname>show()</methodname>一个对è¯æ¡†ï¼Œè¯·ä½¿ç”¨"
"<methodname>get_widget()</methodname>方法,并å‘å…¶æ供一个部件å。这个å称应该"
"在<application>Glade</application>的窗å£å±žæ€§ä¸æŒ‡å®šã€‚如果找ä¸åˆ°è¯¥éƒ¨ä»¶æˆ–是部件"
-"的类型ä¸å¯¹ï¼Œåˆ™æŒ‡é’ˆå°†è¢«è®¾ä¸º<literal>nullptr</literal>。<_:programlisting-1/>"
+"的类型ä¸å¯¹ï¼Œåˆ™æŒ‡é’ˆå°†è¢«è®¾ä¸º<literal>nullptr</literal>。"
+
+#: C/index-in.docbook:6146
+#, no-wrap
+msgid ""
+"\n"
+"auto pDialog = builder->get_widget<Gtk::Dialog>(\"DialogBasic\");\n"
+msgstr ""
+"\n"
+"auto pDialog = builder->get_widget<Gtk::Dialog>(\"DialogBasic\");\n"
-#: C/index-in.docbook:6163
+#: C/index-in.docbook:6150
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 "
@@ -10610,7 +10601,7 @@ msgstr ""
"<application>Gtk::Builder</application>会进行空指针和部件类型检查,并在命令行"
"上显示相关的è¦å‘Šã€‚"
-#: C/index-in.docbook:6169
+#: C/index-in.docbook:6156
msgid ""
"Remember that you are not instantiating a widget with "
"<methodname>get_widget()</methodname>, you are just obtaining a pointer to "
@@ -10626,7 +10617,7 @@ msgstr ""
"例的指针。部件在函数<methodname>Gtk::Builder::create_from_file()</methodname>"
"执行期间被实例化。"
-#: C/index-in.docbook:6178
+#: C/index-in.docbook:6165
msgid ""
"<methodname>get_widget()</methodname> returns child widgets that are "
"<function>manage()</function>ed (see the <link linkend=\"chapter-memory"
@@ -10644,7 +10635,7 @@ msgstr ""
"须在æŸä¸ªæ—¶å€™åˆ 除它们。<classname>Gtk::Builder</classname>的文档ä¸æœ‰æ›´å¤šå…³äºŽå¯¹"
"ä¸åŒç±»åž‹çš„对象如何进行内å˜ç®¡ç†çš„介ç»ã€‚"
-#: C/index-in.docbook:6188
+#: C/index-in.docbook:6175
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1Builder.";
"html\">Reference</ulink>"
@@ -10652,7 +10643,7 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/classGtk_1_1Builder.";
"html\">å‚考</ulink>"
-#: C/index-in.docbook:6192
+#: C/index-in.docbook:6179
msgid ""
"This simple example shows how to load a <application>Glade</application> "
"file at runtime and access the widgets with <application>Gtk::Builder</"
@@ -10661,7 +10652,7 @@ msgstr ""
"这个简å•ç¤ºä¾‹å±•ç¤ºäº†å¦‚何在è¿è¡Œæ—¶åŠ è½½<application>Glade</application>文件并使用"
"<application>Gtk::Builder</application>访问部件。"
-#: C/index-in.docbook:6197
+#: C/index-in.docbook:6184
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/builder/basic\">Source Code</ulink>"
@@ -10669,11 +10660,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/builder/basic\">æºä»£ç </ulink>"
-#: C/index-in.docbook:6204
+#: C/index-in.docbook:6191
msgid "Using derived widgets"
msgstr "使用派生部件"
-#: C/index-in.docbook:6205
+#: C/index-in.docbook:6192
msgid ""
"You can use <classname>Gtk::Builder</classname> and <application>Glade</"
"application> to layout your own custom widgets derived from "
@@ -10687,7 +10678,13 @@ msgstr ""
"è¿™ä½¿å¾—ä½ çš„ä»£ç ä¿æŒæœ‰åºå’Œå°è£…性,将声明å¼è¡¨è¿°ä¸Žä¸šåŠ¡é€»è¾‘分离开æ¥ï¼Œé¿å…ä½ çš„å¤§å¤š"
"æ•°æºä»£ç 都是在设置属性和装填容器。"
-#: C/index-in.docbook:6214
+#: C/index-in.docbook:6200
+msgid ""
+"Use <methodname>Gtk::Builder::get_widget_derived()</methodname> like so:"
+msgstr ""
+"åƒè¿™æ ·ç”¨<methodname>Gtk::Builder::get_widget_derived()</methodname>:"
+
+#: C/index-in.docbook:6202
#, no-wrap
msgid ""
"\n"
@@ -10696,15 +10693,7 @@ msgstr ""
"\n"
"auto pDialog = Gtk::Builder::get_widget_derived<DerivedDialog>(builder, \"DialogDerived\");\n"
-#: C/index-in.docbook:6213
-msgid ""
-"Use <methodname>Gtk::Builder::get_widget_derived()</methodname> like so: <_:"
-"programlisting-1/>"
-msgstr ""
-"åƒè¿™æ ·ç”¨<methodname>Gtk::Builder::get_widget_derived()</methodname>:<_:"
-"programlisting-1/>"
-
-#: C/index-in.docbook:6219
+#: C/index-in.docbook:6206
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 "
@@ -10719,7 +10708,14 @@ msgstr ""
"classname>(例如:<classname>Gtk::Dialog</classname>将<type>GtkDialog</type>"
"别å为<classname>BaseObjectType</classname>)。"
-#: C/index-in.docbook:6229
+#: C/index-in.docbook:6213
+msgid ""
+"You must call the base class's constructor in the initialization list, "
+"providing the C pointer. For instance,"
+msgstr ""
+"ä½ å¿…é¡»åœ¨åˆå§‹åŒ–列表ä¸è°ƒç”¨åŸºç±»çš„æž„é€ å‡½æ•°ï¼Œå¹¶æä¾›C指针。例如:"
+
+#: C/index-in.docbook:6217
#, no-wrap
msgid ""
"\n"
@@ -10734,15 +10730,18 @@ msgstr ""
"{\n"
"}\n"
-#: C/index-in.docbook:6226
+#: C/index-in.docbook:6224
msgid ""
-"You must call the base class's constructor in the initialization list, "
-"providing the C pointer. For instance, <_:programlisting-1/>"
+"You could then encapsulate the manipulation of the child widgets in the "
+"constructor of the derived class, maybe using <methodname>get_widget()</"
+"methodname> or <methodname>get_widget_derived()</methodname> again. For "
+"instance,"
msgstr ""
-"ä½ å¿…é¡»åœ¨åˆå§‹åŒ–列表ä¸è°ƒç”¨åŸºç±»çš„æž„é€ å‡½æ•°ï¼Œå¹¶æä¾›C指针。例如:<_:"
-"programlisting-1/>"
+"然åŽä½ å¯ä»¥å°†å¯¹å部件的æ“作å°è£…äºŽæ´¾ç”Ÿç±»çš„æž„é€ å‡½æ•°ä¸ï¼Œå¯ä»¥åœ¨æž„é€ å‡½æ•°ä¸å†æ¬¡ä½¿ç”¨"
+"<methodname>get_widget()</methodname>或<methodname>get_widget_derived()</"
+"methodname>。例如:"
-#: C/index-in.docbook:6241
+#: C/index-in.docbook:6229
#, no-wrap
msgid ""
"\n"
@@ -10771,18 +10770,7 @@ msgstr ""
" }\n"
"}\n"
-#: C/index-in.docbook:6237
-msgid ""
-"You could then encapsulate the manipulation of the child widgets in the "
-"constructor of the derived class, maybe using <methodname>get_widget()</"
-"methodname> or <methodname>get_widget_derived()</methodname> again. For "
-"instance, <_:programlisting-1/>"
-msgstr ""
-"然åŽä½ å¯ä»¥å°†å¯¹å部件的æ“作å°è£…äºŽæ´¾ç”Ÿç±»çš„æž„é€ å‡½æ•°ä¸ï¼Œå¯ä»¥åœ¨æž„é€ å‡½æ•°ä¸å†æ¬¡ä½¿ç”¨"
-"<methodname>get_widget()</methodname>或<methodname>get_widget_derived()</"
-"methodname>。例如:<_:programlisting-1/>"
-
-#: C/index-in.docbook:6260
+#: C/index-in.docbook:6247
#, no-wrap
msgid ""
"\n"
@@ -10791,7 +10779,7 @@ msgstr ""
"\n"
"auto pDialog = Gtk::Builder::get_widget_derived<DerivedDialog>(builder, \"DialogDerived\", true);\n"
-#: C/index-in.docbook:6264
+#: C/index-in.docbook:6251
#, no-wrap
msgid ""
"\n"
@@ -10812,7 +10800,7 @@ msgstr ""
" // ....\n"
"}\n"
-#: C/index-in.docbook:6256
+#: C/index-in.docbook:6243
msgid ""
"It's possible to pass additional arguments from "
"<methodname>get_widget_derived()</methodname> to the constructor of the "
@@ -10824,11 +10812,33 @@ msgstr ""
"å‘ç»™æ´¾ç”Ÿéƒ¨ä»¶çš„æž„é€ å‡½æ•°ã€‚ä¾‹å¦‚è¿™æ ·è°ƒç”¨<methodname>get_widget_derived()</"
"methodname>:<_:programlisting-1/>å¯ä»¥è°ƒç”¨æ¤æž„é€ å‡½æ•°ï¼š<_:programlisting-2/>"
-#: C/index-in.docbook:6276
+#: C/index-in.docbook:6263
msgid "Gtk::Builder and Glib::Property"
msgstr "Gtk::Builderå’ŒGlib::Property"
-#: C/index-in.docbook:6287
+#: C/index-in.docbook:6264
+msgid ""
+"If your derived widget uses <classname>Glib::Property</classname>, it "
+"becomes slightly more complicated. A derived widget that contains "
+"<classname>Glib::Property</classname> members must be registered with its "
+"own name in the <type>GType</type> system. It must be registered before any "
+"of the <methodname>create_from_*()</methodname> or <methodname>add_from_*()</"
+"methodname> methods are called, meaning that you may have to create an "
+"instance of your derived widget just to have its class registered. Your "
+"derived widget must have a constructor that has the parameters required by "
+"<methodname>get_widget_derived()</methodname> and calls the <classname>Glib::"
+"ObjectBase</classname> constructor to register the <type>GType</type>."
+msgstr ""
+"å¦‚æžœä½ æ´¾ç”Ÿçš„éƒ¨ä»¶ä½¿ç”¨äº†<classname>Glib::Property</classname>,它将å˜å¾—æ›´å¤æ‚了"
+"一些。包涵<classname>Glib::Property</classname>æˆå‘˜çš„派生部件必须在"
+"<type>GType</type>系统ä¸ç”¨è‡ªå·±çš„å称进行注册。必须在调用任何"
+"<methodname>create_from_*()</methodname>或<methodname>add_from_*()</"
+"methodname>方法之å‰è¿›è¡Œæ³¨å†Œï¼Œè¿™æ„味ç€ä½ å¯èƒ½éœ€è¦å®Œæˆå¯¹è¯¥ç±»çš„注册æ‰èƒ½åˆ›å»ºæ´¾ç”Ÿéƒ¨"
+"ä»¶çš„å®žä¾‹ã€‚ä½ æ´¾ç”Ÿçš„éƒ¨ä»¶å¿…é¡»æœ‰ä¸€ä¸ªå…·æœ‰<methodname>get_widget_derived()</"
+"methodname>所需的所有å‚数以åŠè°ƒç”¨<classname>Glib::ObjectBase</classname>æž„é€ "
+"函数以注册<type>GType</type>çš„æž„é€ å‡½æ•°ã€‚"
+
+#: C/index-in.docbook:6275
#, no-wrap
msgid ""
"\n"
@@ -10851,30 +10861,7 @@ msgstr ""
" // ....\n"
"}\n"
-#: C/index-in.docbook:6277
-msgid ""
-"If your derived widget uses <classname>Glib::Property</classname>, it "
-"becomes slightly more complicated. A derived widget that contains "
-"<classname>Glib::Property</classname> members must be registered with its "
-"own name in the <type>GType</type> system. It must be registered before any "
-"of the <methodname>create_from_*()</methodname> or <methodname>add_from_*()</"
-"methodname> methods are called, meaning that you may have to create an "
-"instance of your derived widget just to have its class registered. Your "
-"derived widget must have a constructor that has the parameters required by "
-"<methodname>get_widget_derived()</methodname> and calls the <classname>Glib::"
-"ObjectBase</classname> constructor to register the <type>GType</type>. <_:"
-"programlisting-1/>"
-msgstr ""
-"å¦‚æžœä½ æ´¾ç”Ÿçš„éƒ¨ä»¶ä½¿ç”¨äº†<classname>Glib::Property</classname>,它将å˜å¾—æ›´å¤æ‚了"
-"一些。包涵<classname>Glib::Property</classname>æˆå‘˜çš„派生部件必须在"
-"<type>GType</type>系统ä¸ç”¨è‡ªå·±çš„å称进行注册。必须在调用任何"
-"<methodname>create_from_*()</methodname>或<methodname>add_from_*()</"
-"methodname>方法之å‰è¿›è¡Œæ³¨å†Œï¼Œè¿™æ„味ç€ä½ å¯èƒ½éœ€è¦å®Œæˆå¯¹è¯¥ç±»çš„注册æ‰èƒ½åˆ›å»ºæ´¾ç”Ÿéƒ¨"
-"ä»¶çš„å®žä¾‹ã€‚ä½ æ´¾ç”Ÿçš„éƒ¨ä»¶å¿…é¡»æœ‰ä¸€ä¸ªå…·æœ‰<methodname>get_widget_derived()</"
-"methodname>所需的所有å‚数以åŠè°ƒç”¨<classname>Glib::ObjectBase</classname>æž„é€ "
-"函数以注册<type>GType</type>çš„æž„é€ å‡½æ•°ã€‚<_:programlisting-1/>"
-
-#: C/index-in.docbook:6298
+#: C/index-in.docbook:6285
msgid ""
"When using <application>gtkmm</application> with a version of "
"<application>glibmm</application> from 2.62 onwards, it is possible also to "
@@ -10895,7 +10882,7 @@ msgstr ""
"性,但这应该能通过使用<ulink url=\"https://developer.gnome.org/gladeui/";
"stable/properties.html\">属性类定义</ulink>和声明一个新属性目录æ¥å®žçŽ°ã€‚"
-#: C/index-in.docbook:6312
+#: C/index-in.docbook:6299
msgid ""
"This example shows how to load a <application>Glade</application> file at "
"runtime and access the widgets via derived classes."
@@ -10903,7 +10890,7 @@ msgstr ""
"本示例展示了如何在è¿è¡Œæ—¶åŠ è½½<application>Glade</application>文件以åŠå¦‚何通过"
"派生类访问部件。"
-#: C/index-in.docbook:6316
+#: C/index-in.docbook:6303
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/builder/derived\">Source Code</ulink>"
@@ -10911,11 +10898,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/builder/derived\">æºä»£ç </ulink>"
-#: C/index-in.docbook:6325
+#: C/index-in.docbook:6312
msgid "Internationalization and Localization"
msgstr "国际化和本地化"
-#: C/index-in.docbook:6327
+#: C/index-in.docbook:6314
msgid ""
"<application>gtkmm</application> applications can easily support multiple "
"languages, including non-European languages such as Chinese and right-to-"
@@ -10928,7 +10915,7 @@ msgstr ""
"<application>gtkmm</application>应用程åºå¯ä»¥åœ¨è¿è¡Œæ—¶æ ¹æ®ç”¨æˆ·çŽ¯å¢ƒä½¿ç”¨åˆé€‚çš„è¯"
"言。"
-#: C/index-in.docbook:6333
+#: C/index-in.docbook:6320
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 "
@@ -10937,7 +10924,7 @@ msgstr ""
"ä½ å¯èƒ½æ²¡æœ‰é¢„料到需è¦æ”¯æŒå…¶ä»–è¯è¨€ï¼Œä½†ä½ 永远ä¸èƒ½æŽ’除这ç§å¯èƒ½æ€§ã€‚而且事先准备好"
"支æŒå¤šè¯è¨€æ¯”åŽæ¥æ”¹è¿›è¦å®¹æ˜“的多。"
-#: C/index-in.docbook:6339
+#: C/index-in.docbook:6326
msgid ""
"The process of writing source code that allows for translation is called "
"<literal>internationalization</literal>, often abbreviated to <literal>i18n</"
@@ -10949,7 +10936,7 @@ msgstr ""
"通常被缩写为<literal>i18n</literal>ã€‚è€Œæ ¹æ®è¯¥æºä»£ç æ供其他è¯è¨€çš„翻译文本的过"
"程<literal>Localization</literal>通常被简写为<literal>l10n</literal>。"
-#: C/index-in.docbook:6347
+#: C/index-in.docbook:6334
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 "
@@ -10961,7 +10948,7 @@ msgstr ""
"è¦ä¸€æ¬¡æ€§å®Œæˆæ‰€æœ‰çš„æ“作 - åªè¦ä½ çš„é¡¹ç›®å‡†å¤‡å¥½äº†è¿›è¡Œå›½é™…åŒ–æ— è®ºä½ æœ‰å¤šå°‘ä¸ªå—符串被"
"æ ‡è®°ä¸ºå¯ç¿»è¯‘都ä¸ä¼šå½±å“程åºçš„æ£å¸¸è¿è¡Œã€‚"
-#: C/index-in.docbook:6355
+#: C/index-in.docbook:6342
msgid ""
"String literals should be typed in the source code in English, but "
"surrounded by a macro. The <application>gettext</application> (or intltool) "
@@ -10972,11 +10959,11 @@ msgstr ""
"application>(或intltool)实用程åºå¯ä»¥æå–è¢«æ ‡è®°çš„å—符串进行翻译,并在è¿è¡Œæ—¶"
"将其替æ¢ä¸ºç¿»è¯‘åŽçš„文本。"
-#: C/index-in.docbook:6363
+#: C/index-in.docbook:6350
msgid "Preparing your project"
msgstr "å‡†å¤‡ä½ çš„é¡¹ç›®"
-#: C/index-in.docbook:6366
+#: C/index-in.docbook:6353
msgid ""
"In the instructions below we will assume that you will not be using "
"<application>gettext</application> directly, but <application>intltool</"
@@ -10995,7 +10982,7 @@ msgstr ""
"å•è¯¦æƒ…ã€gladeçš„GUI资æºæ–‡ä»¶ï¼‰ä¸æå–å—ç¬¦ä¸²å†™å…¥åˆ°æ ‡å‡†çš„<application>gettext</"
"application><filename>.pot/.po</filename>文件ä¸ã€‚"
-#: C/index-in.docbook:6377
+#: C/index-in.docbook:6364
msgid ""
"We also assume that you are using autotools (e.g. <application>automake</"
"application> and <application>autoconf</application>) to build your project, "
@@ -11012,7 +10999,7 @@ msgstr ""
"ulink>或与之类似的<literal>autogen.sh</literal>文件,在这里它负责åˆå§‹åŒ–"
"<application>intltool</application>。"
-#: C/index-in.docbook:6391
+#: C/index-in.docbook:6378
msgid ""
"An alternative to <application>gnome-common</application>'s <literal>autogen."
"sh</literal> may look like this:"
@@ -11020,7 +11007,7 @@ msgstr ""
"<application>gnome-common</application>的<literal>autogen.sh</literal>的替代"
"方案å¯èƒ½å¦‚下所示:"
-#: C/index-in.docbook:6395
+#: C/index-in.docbook:6382
#, no-wrap
msgid ""
"#! /bin/sh -e\n"
@@ -11041,7 +11028,7 @@ msgstr ""
"intltoolize --copy --force --automake\n"
"test -n \"$NOCONFIGURE\" || \"$srcdir/configure\" \"$@\""
-#: C/index-in.docbook:6404
+#: C/index-in.docbook:6391
msgid ""
"Create a sub-directory named <literal>po</literal> in your project's root "
"directory. This directory will eventually contain all of your translations. "
@@ -11055,7 +11042,7 @@ msgstr ""
"<literal>POTFILES.in</literal>的文件。通常åšæ³•æ˜¯åœ¨<literal>po</literal>文件夹"
"å†åˆ›å»ºä¸€ä¸ª<literal>ChangeLog</literal>文件以便翻译人员跟踪翻译更改。"
-#: C/index-in.docbook:6414
+#: C/index-in.docbook:6401
msgid ""
"<literal>LINGUAS</literal> contains an alphabetically sorted list of codes "
"identifying the languages for which your program is translated (comment "
@@ -11070,7 +11057,7 @@ msgstr ""
"æ–‡ä»¶ã€‚å› æ¤å¦‚æžœä½ çš„ç¨‹åºæœ‰å¾·è¯å’Œæ—¥è¯ç¿»è¯‘ï¼Œä½ çš„<literal>LINGUAS</literal>应如下"
"所示:"
-#: C/index-in.docbook:6423
+#: C/index-in.docbook:6410
#, no-wrap
msgid ""
"# keep this file sorted alphabetically, one language code per line\n"
@@ -11081,7 +11068,7 @@ msgstr ""
"de\n"
"ja"
-#: C/index-in.docbook:6426
+#: C/index-in.docbook:6413
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 "
@@ -11090,7 +11077,7 @@ msgstr ""
"(æ¤å¤–ï¼Œä½ çš„<literal>po</literal>文件夹必须有包å«å¾·è¯å’Œæ—¥è¯ç¿»è¯‘çš„<literal>ja."
"po</literal>和<literal>de.po</literal>文件)"
-#: C/index-in.docbook:6433
+#: C/index-in.docbook:6420
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. "
@@ -11104,7 +11091,7 @@ msgstr ""
"ä¸ï¼Œå…¶ä¸æœ‰ä¸¤ä¸ªæ–‡ä»¶åŒ…å«æœ‰éœ€è¦è¢«ç¿»è¯‘çš„å—ç¬¦ä¸²ï¼Œåˆ™ä½ çš„<literal>POTFILES.in</"
"literal>å¯èƒ½å¦‚下所示:"
-#: C/index-in.docbook:6442
+#: C/index-in.docbook:6429
#, no-wrap
msgid ""
"src/main.cc\n"
@@ -11113,7 +11100,7 @@ msgstr ""
"src/main.cc\n"
"src/other.cc"
-#: C/index-in.docbook:6445
+#: C/index-in.docbook:6432
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 "
@@ -11133,7 +11120,7 @@ msgstr ""
"了应用程åºUIï¼Œåˆ™ä½ è¿˜éœ€è¦å°†<filename>.glade</filename>æ·»åŠ åˆ°ä½ çš„"
"<literal>POTFILES.in</literal>列表ä¸ã€‚"
-#: C/index-in.docbook:6458
+#: C/index-in.docbook:6445
msgid ""
"Now that there is a place to put your translations, you need to initialize "
"<application>intltool</application> and <application>gettext</application>. "
@@ -11144,7 +11131,7 @@ msgstr ""
"<application>gettext</application>。将一下代ç æ·»åŠ åˆ°ä½ çš„<literal>configure."
"ac</literal>,将\"programname\"替æ¢ä¸ºä½ 的程åºçš„å称:"
-#: C/index-in.docbook:6465
+#: C/index-in.docbook:6452
#, no-wrap
msgid ""
"IT_PROG_INTLTOOL([0.35.0])\n"
@@ -11171,7 +11158,7 @@ msgstr ""
"PROGRAMNAME_LOCALEDIR=[${datadir}/locale]\n"
"AC_SUBST(PROGRAMNAME_LOCALEDIR)"
-#: C/index-in.docbook:6477
+#: C/index-in.docbook:6464
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 "
@@ -11181,7 +11168,7 @@ msgstr ""
"literal>文件使用。以定义在æºä»£ç ä¸åˆå§‹åŒ–<application>gettext</application>æ—¶"
"将用到的å®ã€‚"
-#: C/index-in.docbook:6484
+#: C/index-in.docbook:6471
msgid ""
"<literal>AM_GLIB_GNU_GETTEXT</literal> has been an alternative to "
"<literal>AM_GNU_GETTEXT</literal> and <literal>AM_GNU_GETTEXT_VERSION</"
@@ -11192,7 +11179,7 @@ msgstr ""
"<literal>AM_GNU_GETTEXT_VERSION</literal>替代,且"
"<literal>AM_GLIB_GNU_GETTEXT</literal>已被弃用,ä¸åº”在任何新代ç ä¸ä½¿ç”¨ã€‚"
-#: C/index-in.docbook:6495
+#: C/index-in.docbook:6482
msgid ""
"Add <literal>po</literal> to the <literal>SUBDIRS</literal> variable. "
"Without this, your translations won't get built and installed when you build "
@@ -11201,7 +11188,7 @@ msgstr ""
"å°†<literal>po</literal>æ·»åŠ åˆ°<literal>SUBDIRS</literal>å˜é‡ä¸ã€‚如果没有这个,"
"在构建程åºæ—¶ä¸ä¼šç”Ÿæˆå’Œå®‰è£…翻译。"
-#: C/index-in.docbook:6502
+#: C/index-in.docbook:6489
#, no-wrap
msgid ""
"INTLTOOL_FILES = intltool-extract.in \\\n"
@@ -11212,11 +11199,11 @@ msgstr ""
" intltool-merge.in \\\n"
" intltool-update.in"
-#: C/index-in.docbook:6500
+#: C/index-in.docbook:6487
msgid "Define <literal>INTLTOOL_FILES</literal> as: <_:programlisting-1/>"
msgstr "定义<literal>INTLTOOL_FILES</literal>为:<_:programlisting-1/>"
-#: C/index-in.docbook:6508
+#: C/index-in.docbook:6495
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>, "
@@ -11225,7 +11212,7 @@ msgstr ""
"å°†<literal>INTLTOOL_FILES</literal>æ·»åŠ åˆ°<literal>EXTRA_DIST</literal>文件列"
"è¡¨ã€‚è¿™æ ·å¯ä»¥ç¡®ä¿æ‰§è¡Œ<command>make dist</command>时这些文件包å«åœ¨æºåŽ‹ç¼©åŒ…ä¸ã€‚"
-#: C/index-in.docbook:6518
+#: C/index-in.docbook:6505
#, no-wrap
msgid ""
"DISTCLEANFILES = ... intltool-extract \\\n"
@@ -11238,11 +11225,11 @@ msgstr ""
" intltool-update \\\n"
" po/.intltool-merge-cache"
-#: C/index-in.docbook:6516
+#: C/index-in.docbook:6503
msgid "Update your <literal>DISTCLEANFILES</literal>: <_:programlisting-1/>"
msgstr "æ›´æ–°ä½ çš„<literal>DISTCLEANFILES</literal>:<_:programlisting-1/>"
-#: C/index-in.docbook:6528
+#: C/index-in.docbook:6515
#, no-wrap
msgid ""
"desktopdir = $(datadir)/applications\n"
@@ -11255,17 +11242,17 @@ msgstr ""
"desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)\n"
"@INTLTOOL_DESKTOP_RULE@"
-#: C/index-in.docbook:6525
+#: C/index-in.docbook:6512
msgid ""
"Depending on the types of files that contain translatable strings, add code "
"such as <_:programlisting-1/>"
msgstr "æ ¹æ®åŒ…å«å¯ç¿»è¯‘å—ç¬¦ä¸²çš„æ–‡ä»¶ç±»åž‹ï¼Œæ·»åŠ ä»¥ä¸‹ä»£ç :<_:programlisting-1/>"
-#: C/index-in.docbook:6491
+#: C/index-in.docbook:6478
msgid "In the top-level Makefile.am: <_:itemizedlist-1/>"
msgstr "在顶层<literal>Makefile.am</literal>ä¸ï¼š<_:itemizedlist-1/>"
-#: C/index-in.docbook:6537
+#: C/index-in.docbook:6524
msgid ""
"In your <literal>src/Makefile.am</literal>, update your "
"<literal>AM_CPPFLAGS</literal> to add the following preprocessor macro "
@@ -11274,22 +11261,22 @@ msgstr ""
"åœ¨ä½ çš„<literal>src/Makefile.am</literal>ä¸ï¼Œæ›´æ–°ä½ çš„<literal>AM_CPPFLAGS</"
"literal>ä»¥æ·»åŠ ä»¥ä¸‹é¢„å¤„ç†å®å®šä¹‰ï¼š"
-#: C/index-in.docbook:6542
+#: C/index-in.docbook:6529
#, no-wrap
msgid "AM_CPPFLAGS = ... -DPROGRAMNAME_LOCALEDIR=\\\"${PROGRAMNAME_LOCALEDIR}\\\""
msgstr "AM_CPPFLAGS = ... -DPROGRAMNAME_LOCALEDIR=\\\"${PROGRAMNAME_LOCALEDIR}\\\""
-#: C/index-in.docbook:6543
+#: C/index-in.docbook:6530
msgid ""
"This macro will be used when you initialize <literal>gettext</literal> in "
"your source code."
msgstr "åœ¨ä½ çš„æºä»£ç ä¸åˆå§‹åŒ–<literal>gettext</literal>时将使用这个å®ã€‚"
-#: C/index-in.docbook:6550
+#: C/index-in.docbook:6537
msgid "Marking strings for translation"
msgstr "æ ‡è®°è¦ç¿»è¯‘çš„å—符串"
-#: C/index-in.docbook:6552
+#: C/index-in.docbook:6539
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> "
@@ -11300,7 +11287,7 @@ msgstr ""
"function>函数的调用ä¸ã€‚这些å—符串将被æå–以进行翻译,并且在è¿è¡Œæ—¶ç¿»è¯‘å¯ä»¥æ›¿ä»£"
"原始的英文å—符串。"
-#: C/index-in.docbook:6560
+#: C/index-in.docbook:6547
msgid ""
"The <application>GNU gettext</application> package allows you to mark "
"strings in source code, extract those strings for translation, and use the "
@@ -11309,17 +11296,17 @@ msgstr ""
"<application>GNU gettext</application>å…è®¸ä½ æ ‡è®°æºä»£ç ä¸çš„å—符串,æå–这些å—"
"ç¬¦ä¸²è¿›è¡Œç¿»è¯‘ï¼Œå¹¶åœ¨ä½ çš„åº”ç”¨ç¨‹åºä¸ä½¿ç”¨ç¿»è¯‘好的å—符串。"
-#: C/index-in.docbook:6572
+#: C/index-in.docbook:6559
#, no-wrap
msgid "display_message(\"Getting ready for i18n.\");"
msgstr "display_message(\"Getting ready for i18n.\");"
-#: C/index-in.docbook:6574
+#: C/index-in.docbook:6561
#, no-wrap
msgid "display_message(_(\"Getting ready for i18n.\"));"
msgstr "display_message(_(\"Getting ready for i18n.\"));"
-#: C/index-in.docbook:6566
+#: C/index-in.docbook:6553
msgid ""
"However, <application>Glib</application> defines <function>gettext()</"
"function> support macros which are shorter wrappers in an easy-to-use form. "
@@ -11331,24 +11318,33 @@ msgstr ""
"些å®æ›´ä¸ºç®€å•æ˜“用,è¦ä½¿ç”¨è¿™äº›å®è¯·<literal>#include <glibmm/i18n.h></"
"literal>然åŽå°†ï¼š<_:programlisting-1/>替æ¢ä¸ºï¼š<_:programlisting-2/>"
-#: C/index-in.docbook:6585
-#, no-wrap
-msgid "xgettext -a -o my-strings --omit-header *.cc *.h"
-msgstr "xgettext -a -o my-strings --omit-header *.cc *.h"
-
-#: C/index-in.docbook:6577
+#: C/index-in.docbook:6564
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, "
"together with file name and line number references. To generate such a file "
"named <literal>my-strings</literal>, execute the following command, within "
-"the source code directory: <_:programlisting-1/>"
+"the source code directory:"
msgstr ""
"å¯ä»¥ç”Ÿæˆä¸€ä¸ªåŒ…å«ä»£ç ä¸å‡ºçŽ°çš„所有å—符串(å³ä½¿æ²¡æœ‰è¢«æ ‡è®°ä¸ºéœ€è¦ç¿»è¯‘)以åŠå…¶æ–‡ä»¶"
"å与行å·å¼•ç”¨çš„文件作为å‚考。è¦ç”Ÿæˆå为<literal>my-strings</literal>的文件,请"
-"在æºä»£ç 目录执行以下命令:<_:programlisting-1/>"
+"在æºä»£ç 目录执行以下命令:"
+
+#: C/index-in.docbook:6573
+#, no-wrap
+msgid "xgettext -a -o my-strings --omit-header *.cc *.h"
+msgstr "xgettext -a -o my-strings --omit-header *.cc *.h"
-#: C/index-in.docbook:6592
+#: C/index-in.docbook:6575
+msgid ""
+"Finally, to let your program use the translation for the current locale, add "
+"this code to the beginning of your <filename>main.cc</filename> file, to "
+"initialize gettext."
+msgstr ""
+"最åŽï¼Œè¦è®©ä½ 的程åºä½¿ç”¨å½“å‰çŽ¯å¢ƒçš„翻译,请将以下代ç æ·»åŠ åˆ°ä½ çš„<filename>main."
+"cc</filename>文件的开头,以åˆå§‹åŒ–<function>gettext()</function>。"
+
+#: C/index-in.docbook:6580
#, no-wrap
msgid ""
"bindtextdomain(GETTEXT_PACKAGE, PROGRAMNAME_LOCALEDIR);\n"
@@ -11359,21 +11355,11 @@ msgstr ""
"bind_textdomain_codeset(GETTEXT_PACKAGE, \"UTF-8\");\n"
"textdomain(GETTEXT_PACKAGE);"
-#: C/index-in.docbook:6588
-msgid ""
-"Finally, to let your program use the translation for the current locale, add "
-"this code to the beginning of your <filename>main.cc</filename> file, to "
-"initialize gettext. <_:programlisting-1/>"
-msgstr ""
-"最åŽï¼Œè¦è®©ä½ 的程åºä½¿ç”¨å½“å‰çŽ¯å¢ƒçš„翻译,请将以下代ç æ·»åŠ åˆ°ä½ çš„<filename>main."
-"cc</filename>文件的开头,以åˆå§‹åŒ–<function>gettext()</function>。<_:"
-"programlisting-1/>"
-
-#: C/index-in.docbook:6598
+#: C/index-in.docbook:6585
msgid "How gettext works"
msgstr "gettext如何工作"
-#: C/index-in.docbook:6600
+#: C/index-in.docbook:6587
msgid ""
"The <application>intltool-update</application> or <application>xgettext</"
"application> script extracts the strings and puts them in a "
@@ -11395,7 +11381,7 @@ msgstr ""
"application>脚本é‡æ–°ç”Ÿæˆçš„<filename>.pot</filename>文件更新"
"<filename>localename.po</filename>文件。"
-#: C/index-in.docbook:6614
+#: C/index-in.docbook:6601
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 "
@@ -11406,7 +11392,7 @@ msgstr ""
"mo</filename>),并将其放置于系统所有的区域设置文件夹ä¸ï¼Œä¾‹å¦‚<filename>/usr/"
"share/locale/</filename>。"
-#: C/index-in.docbook:6621
+#: C/index-in.docbook:6608
msgid ""
"When the application runs, the <application>gettext</application> library "
"checks the system-wide directory to see if there is a <filename>.mo</"
@@ -11422,26 +11408,25 @@ msgstr ""
"åŽåœ¨ç¨‹åºåˆ°è¾¾<literal>gettext</literal>调用时,它将从ä¸å¯»æ‰¾ç‰¹å®šå—符串的翻译,"
"如果未找到则使用原始å—符串。"
-#: C/index-in.docbook:6633
+#: C/index-in.docbook:6620
msgid "Testing and adding translations"
msgstr "æµ‹è¯•å’Œæ·»åŠ ç¿»è¯‘"
-#: C/index-in.docbook:6640
-#, no-wrap
-msgid "intltool-update --pot"
-msgstr "intltool-update --pot"
-
-#: C/index-in.docbook:6635
+#: C/index-in.docbook:6622
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</"
-"filename> subdirectory of your project and execute the following command: <_:"
-"programlisting-1/>"
+"filename> subdirectory of your project and execute the following command:"
msgstr ""
"为了说æœè‡ªå·±åšå¾—å¾ˆå¥½ï¼Œä½ å¯èƒ½å¸Œæœ›ä¸ºæ–°çš„è¯è¨€çŽ¯å¢ƒæ·»åŠ 翻译。为æ¤è¯·è½¬åˆ°é¡¹ç›®çš„"
-"<filename>po</filename>å文件夹并执行以下命令:<_:programlisting-1/>"
+"<filename>po</filename>å文件夹并执行以下命令:"
-#: C/index-in.docbook:6643
+#: C/index-in.docbook:6628
+#, no-wrap
+msgid "intltool-update --pot"
+msgstr "intltool-update --pot"
+
+#: C/index-in.docbook:6630
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</"
@@ -11459,7 +11444,7 @@ msgstr ""
"留了空间。请确ä¿å°†<filename>.po</filename>文件的编ç è®¾ç½®ï¼ˆåœ¨æ ‡å¤´ä¸æŒ‡å®šï¼Œä½†ä¹Ÿ"
"指定其内容的编ç )为了<literal>UTF-8</literal>。"
-#: C/index-in.docbook:6656
+#: C/index-in.docbook:6643
msgid ""
"It's possible that certain strings will be marked as <literal>fuzzy</"
"literal> in the <filename>.po</filename> file. These translations will not "
@@ -11471,11 +11456,11 @@ msgstr ""
"<literal>fuzzy</literal>æ ‡è®°åˆ é™¤å³å¯ï¼ˆé€šå¸¸è¯¥æ ‡è®°æ„味ç€ç¿»è¯‘需è¦æ›´æ–°ï¼Œä¸æ£€æŸ¥ç¿»"
"è¯‘ç›´æŽ¥åˆ é™¤æ ‡è®°æ˜¯ä¸å¯¹çš„)。"
-#: C/index-in.docbook:6666
+#: C/index-in.docbook:6653
msgid "Resources"
msgstr "资æº"
-#: C/index-in.docbook:6674
+#: C/index-in.docbook:6661
msgid ""
"<ulink url=\"https://wiki.gnome.org/TranslationProject/DevGuidelines\";> L10N "
"Guidelines for Developers</ulink>"
@@ -11483,7 +11468,7 @@ msgstr ""
"<ulink url=\"https://wiki.gnome.org/TranslationProject/DevGuidelines\";>本地化"
"å¼€å‘人员指å—</ulink>"
-#: C/index-in.docbook:6681
+#: C/index-in.docbook:6668
msgid ""
"<ulink url=\"http://bazaar.launchpad.net/~intltool/intltool/trunk/view/head:/";
"README\">Intltool README</ulink>"
@@ -11491,7 +11476,7 @@ msgstr ""
"<ulink url=\"http://bazaar.launchpad.net/~intltool/intltool/trunk/view/head:/";
"README\">Intltool自述文件</ulink>"
-#: C/index-in.docbook:6687
+#: C/index-in.docbook:6674
msgid ""
"<ulink url=\"https://wiki.gnome.org/TranslationProject/GitHowTo\";>How to use "
"Git for GNOME translators</ulink>"
@@ -11499,7 +11484,7 @@ msgstr ""
"<ulink url=\"https://wiki.gnome.org/TranslationProject/GitHowTo\";>GNOME译者如"
"何使用Git</ulink>"
-#: C/index-in.docbook:6693
+#: C/index-in.docbook:6680
msgid ""
"<ulink url=\"http://www.gnu.org/software/gettext/manual/gettext.html";
"\">gettext manual</ulink>"
@@ -11507,7 +11492,7 @@ msgstr ""
"<ulink url=\"http://www.gnu.org/software/gettext/manual/gettext.html";
"\">gettext手册</ulink>"
-#: C/index-in.docbook:6699
+#: C/index-in.docbook:6686
msgid ""
"<ulink url=\"http://ftp.gnome.org/pub/GNOME/sources/gtkmm_hello/";
"\"><literal>gtkmm_hello</literal> example package</ulink>"
@@ -11515,7 +11500,7 @@ msgstr ""
"<ulink url=\"http://ftp.gnome.org/pub/GNOME/sources/gtkmm_hello/";
"\"><literal>gtkmm_hello</literal>示例包</ulink>"
-#: C/index-in.docbook:6705
+#: C/index-in.docbook:6692
msgid ""
"<ulink url=\"http://ftp.gnome.org/pub/GNOME/sources/gnomemm_hello/";
"\"><literal>gnomemm_hello</literal> example package</ulink>"
@@ -11523,17 +11508,17 @@ msgstr ""
"<ulink url=\"http://ftp.gnome.org/pub/GNOME/sources/gnomemm_hello/";
"\"><literal>gnomemm_hello</literal>示例包</ulink>"
-#: C/index-in.docbook:6668
+#: C/index-in.docbook:6655
msgid ""
"More information about what lies behind the internationalization and "
"localization process is presented and demonstrated in: <_:itemizedlist-1/>"
msgstr "更多与国际化与本地化有关的信æ¯ï¼Œè¯·å‚阅以下内容:<_:itemizedlist-1/>"
-#: C/index-in.docbook:6716
+#: C/index-in.docbook:6703
msgid "Expecting UTF8"
msgstr "期望使用UTF8"
-#: C/index-in.docbook:6717
+#: C/index-in.docbook:6704
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 "
@@ -11546,7 +11531,7 @@ msgstr ""
"<function>strlen()</function>è¿™æ ·çš„ä¸Žå—ç¬¦ä¸²æœ‰å…³çš„æ ‡å‡†Cå‡½æ•°ï¼Œå› ä¸ºä»–ä»¬éƒ½å¯¹å—符"
"çš„å—节数åšäº†å‡è®¾ã€‚"
-#: C/index-in.docbook:6724
+#: C/index-in.docbook:6711
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 "
@@ -11559,28 +11544,11 @@ msgstr ""
"æ¢æˆä½¿ç”¨<classname>Glib::ustring</classname>å³å¯ã€‚更多详情请å‚阅<link "
"linkend=\"sec-basics-ustring\">Glib::ustring基础</link>ç« èŠ‚ã€‚"
-#: C/index-in.docbook:6733
+#: C/index-in.docbook:6720
msgid "Glib::ustring and std::iostreams"
msgstr "Glib::ustringå’Œstd::iostreams"
-#: C/index-in.docbook:6750
-#, no-wrap
-msgid ""
-"std::locale::global(std::locale(\"\")); // Set the global locale to the user's preferred locale.\n"
-" // Usually unnecessary here, because Glib::init()\n"
-" // or Gtk::Application::create() does it for you.\n"
-"std::ostringstream output;\n"
-"output << percentage << \" % done\";\n"
-"label->set_text(Glib::locale_to_utf8(output.str()));"
-msgstr ""
-"std::locale::global(std::locale(\"\")); // Set the global locale to the user's preferred locale.\n"
-" // Usually unnecessary here, because Glib::init()\n"
-" // or Gtk::Application::create() does it for you.\n"
-"std::ostringstream output;\n"
-"output << percentage << \" % done\";\n"
-"label->set_text(Glib::locale_to_utf8(output.str()));"
-
-#: C/index-in.docbook:6735
+#: C/index-in.docbook:6722
msgid ""
"Unfortunately, the integration with the standard iostreams is not completely "
"foolproof. <application>gtkmm</application> converts <classname>Glib::"
@@ -11596,8 +11564,7 @@ msgid ""
"characters and the current locale is not UTF-8 encoded, the result is a "
"corrupted <classname>Glib::ustring</classname>. You can work around this "
"with a manual conversion. For instance, to retrieve the <classname>std::"
-"string</classname> from a <classname>ostringstream</classname>: <_:"
-"programlisting-1/>"
+"string</classname> from a <classname>ostringstream</classname>:"
msgstr ""
"ä¸å¹¸çš„æ˜¯ï¼Œä¸Žæ ‡å‡†<classname>iostreams</classname>的集æˆå¹¶éžç»å¯¹å®‰å…¨çš„ã€‚å¦‚æžœä½ "
"将<classname>Glib::ustring</classname>使用<function>operator<<</"
@@ -11611,23 +11578,40 @@ msgstr ""
"言环境ä¸ä½¿ç”¨UTF-8ç¼–ç ,则得到的结果是一个æŸåçš„<classname>Glib::ustring</"
"classname>ã€‚ä½ å¯ä»¥é€šè¿‡æ‰‹åŠ¨è½¬æ¢ç¼–ç 解决æ¤é—®é¢˜ã€‚例如,若è¦ä»Ž"
"<classname>ostringstream</classname>ä¸æŽ¥å—<classname>std::string</"
-"classname>:<_:programlisting-1/>"
+"classname>:"
+
+#: C/index-in.docbook:6738
+#, no-wrap
+msgid ""
+"std::locale::global(std::locale(\"\")); // Set the global locale to the user's preferred locale.\n"
+" // Usually unnecessary here, because Glib::init()\n"
+" // or Gtk::Application::create() does it for you.\n"
+"std::ostringstream output;\n"
+"output << percentage << \" % done\";\n"
+"label->set_text(Glib::locale_to_utf8(output.str()));"
+msgstr ""
+"std::locale::global(std::locale(\"\")); // Set the global locale to the user's preferred locale.\n"
+" // Usually unnecessary here, because Glib::init()\n"
+" // or Gtk::Application::create() does it for you.\n"
+"std::ostringstream output;\n"
+"output << percentage << \" % done\";\n"
+"label->set_text(Glib::locale_to_utf8(output.str()));"
-#: C/index-in.docbook:6762
+#: C/index-in.docbook:6749
msgid "Pitfalls"
msgstr "陷阱"
-#: C/index-in.docbook:6764
+#: C/index-in.docbook:6751
msgid ""
"There are a few common mistakes that you would discover eventually yourself. "
"But this section might help you to avoid them."
msgstr "æœ‰å‡ ä¸ªä½ æœ€ç»ˆä¼šè‡ªå·±å‘现的错误。但本å°èŠ‚å¯èƒ½èƒ½å¸®åŠ©ä½ é¿å…它们。"
-#: C/index-in.docbook:6767
+#: C/index-in.docbook:6754
msgid "Same strings, different semantics"
msgstr "ä¸åŒè¯ä¹‰çš„åŒä¸€å—符串。"
-#: C/index-in.docbook:6769
+#: C/index-in.docbook:6756
msgid ""
"Sometimes two English strings are identical but have different meanings in "
"different contexts, so they would probably not be identical when translated. "
@@ -11636,7 +11620,7 @@ msgstr ""
"有时,两个英文å—符串是相åŒçš„但是在ä¸åŒçš„上下文ä¸æœ‰ä¸åŒçš„å«ä¹‰ï¼Œå› æ¤ä»–们的译文"
"ä¸ä¸€å®šç›¸åŒã€‚æ¤æ—¶ç”¨è‹±æ–‡å—符串作为查找键会引起问题。"
-#: C/index-in.docbook:6773
+#: C/index-in.docbook:6760
msgid ""
"In these cases, you should add extra characters to the strings. For "
"instance, use <literal>\"jumps[noun]\"</literal> and <literal>"
@@ -11652,7 +11636,7 @@ msgstr ""
"ç¦»ã€‚å¦‚æžœä½ æ·»åŠ äº†é¢å¤–çš„å—ç¬¦ï¼Œä½ è¿˜åº”è¯¥åœ¨è°ƒç”¨<function>gettext</function>之å‰ä¸º"
"è¯‘è€…æ·»åŠ æ³¨é‡Šã€‚è¿™æ ·çš„æ³¨é‡Šå°†è¢«æ˜¾ç¤ºäºŽ<filename>.po</filename>ä¸ã€‚例如:"
-#: C/index-in.docbook:6782
+#: C/index-in.docbook:6769
#, no-wrap
msgid ""
"// note to translators: don't translate the \"[noun]\" part - it is\n"
@@ -11663,7 +11647,7 @@ msgstr ""
"// just here to distinguish the string from another \"jumps\" string\n"
"text = strip(gettext(\"jumps[noun]\"), \"[noun]\");"
-#: C/index-in.docbook:6786
+#: C/index-in.docbook:6773
msgid ""
"If you use <application>Glib</application>'s support macros, it's easier. "
"Use <function>C_()</function> instead of <function>_()</function>. For "
@@ -11672,16 +11656,16 @@ msgstr ""
"å¦‚æžœä½ ä½¿ç”¨<application>Glib</application>å®ï¼Œå°†ä¼šæ›´ä¸ºæ–¹ä¾¿ã€‚ä½ åªéœ€è¦ä½¿ç”¨"
"<function>C_()</function>替æ¢<function>_()</function>。例如:"
-#: C/index-in.docbook:6790
+#: C/index-in.docbook:6777
#, no-wrap
msgid "GLib::ustring text(C_(\"noun\", \"jumps\"));"
msgstr "GLib::ustring text(C_(\"noun\", \"jumps\"));"
-#: C/index-in.docbook:6795
+#: C/index-in.docbook:6782
msgid "Composition of strings"
msgstr "åˆæˆå—符串"
-#: C/index-in.docbook:6797
+#: C/index-in.docbook:6784
msgid ""
"C programmers use <function>sprintf()</function> to compose and concatenate "
"strings. C++ favours streams, but unfortunately, this approach makes "
@@ -11693,11 +11677,11 @@ msgstr ""
"的是,使用这ç§æ–¹æ³•ç”Ÿæˆçš„å—符串将给翻译带æ¥å›°éš¾ï¼Œå› 为文本被分æˆäº†å¤šä¸ªç‰‡æ®µï¼Œè¯‘"
"者必须分开翻译多个片段而ä¸èƒ½è¿›è¡Œé‡æ–°æŽ’列,这会导致很多å—ç¬¦ä¸²æ— æ³•è¢«æ£ç¡®ç¿»è¯‘。"
-#: C/index-in.docbook:6804
+#: C/index-in.docbook:6791
msgid "For instance, this code would be problematic:"
msgstr "例如,æ¤ä»£ç 将会出现问题:"
-#: C/index-in.docbook:6806
+#: C/index-in.docbook:6793
#, no-wrap
msgid ""
"std::cout << _(\"Current amount: \") << amount\n"
@@ -11710,7 +11694,18 @@ msgstr ""
"\n"
"label.set_text(_(\"Really delete \") + filename + _(\" now?\"));"
-#: C/index-in.docbook:6815
+#: C/index-in.docbook:6798
+msgid ""
+"So you should either avoid this situation or use <ulink url=\"http://";
+"developer.gnome.org/glibmm/unstable/classGlib_1_1ustring.html"
+"\"><function>Glib::ustring::compose()</function></ulink> which supports "
+"syntax such as:"
+msgstr ""
+"å› æ¤ä½ 应该é¿å…è¿™ç§æƒ…况的出现或者使用<ulink url=\"http://developer.gnome.org/";
+"glibmm/unstable/classGlib_1_1ustring.html\"><function>Glib::ustring::"
+"compose()</function></ulink>以支æŒå¦‚下所示的è¯æ³•ï¼š"
+
+#: C/index-in.docbook:6803
#, no-wrap
msgid ""
"std::cout << Glib::ustring::compose(\n"
@@ -11723,22 +11718,11 @@ msgstr ""
"\n"
"label.set_text(Glib::ustring::compose(_(\"Really delete %1 now?\"), filename));"
-#: C/index-in.docbook:6811
-msgid ""
-"So you should either avoid this situation or use <ulink url=\"http://";
-"developer.gnome.org/glibmm/unstable/classGlib_1_1ustring.html"
-"\"><function>Glib::ustring::compose()</function></ulink> which supports "
-"syntax such as: <_:programlisting-1/>"
-msgstr ""
-"å› æ¤ä½ 应该é¿å…è¿™ç§æƒ…况的出现或者使用<ulink url=\"http://developer.gnome.org/";
-"glibmm/unstable/classGlib_1_1ustring.html\"><function>Glib::ustring::"
-"compose()</function></ulink>以支æŒå¦‚下所示的è¯æ³•ï¼š<_:programlisting-1/>"
-
-#: C/index-in.docbook:6823
+#: C/index-in.docbook:6810
msgid "Assuming the displayed size of strings"
msgstr "å‡è®¾æ˜¾ç¤ºå—符串所需的空间"
-#: C/index-in.docbook:6825
+#: C/index-in.docbook:6812
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. "
@@ -11749,11 +11733,11 @@ msgstr ""
"英文å—符串的两å€ç”šè‡³æ›´å¤šã€‚幸è¿çš„是 <application>gtkmm</application>的多数部件"
"都能在è¿è¡Œæ—¶è‡ªåŠ¨æ‰©å±•åˆ°éœ€è¦çš„尺寸。"
-#: C/index-in.docbook:6829
+#: C/index-in.docbook:6816
msgid "Unusual words"
msgstr "\"黑è¯\""
-#: C/index-in.docbook:6831
+#: C/index-in.docbook:6818
msgid ""
"You should avoid cryptic abbreviations, slang, or jargon. They are usually "
"difficult to translate, and are often difficult for even native speakers to "
@@ -11763,11 +11747,11 @@ msgstr ""
"译,甚至将该è¯è¨€ä½œä¸ºæ¯è¯çš„è¯‘è€…ä¹Ÿæ— æ³•ç†è§£ã€‚例如,最好使用\"application\"而ä¸æ˜¯"
"\"app\""
-#: C/index-in.docbook:6837
+#: C/index-in.docbook:6824
msgid "Using non-ASCII characters in strings"
msgstr "在å—符串ä¸ä½¿ç”¨éžASCIIå—符"
-#: C/index-in.docbook:6839
+#: C/index-in.docbook:6826
msgid ""
"Currently, <application>gettext</application> does not support non-ASCII "
"characters (i.e. any characters with a code above 127) in source code. For "
@@ -11776,7 +11760,7 @@ msgstr ""
"当å‰ï¼Œ<application>gettext</application>并ä¸æ”¯æŒåœ¨æºä»£ç ä¸ä½¿ç”¨éžASCIIå—符。例"
"å¦‚ï¼Œä½ ä¸èƒ½ä½¿ç”¨ç‰ˆæƒæ ‡å¿—(©)"
-#: C/index-in.docbook:6845
+#: C/index-in.docbook:6832
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 "
@@ -11787,11 +11771,11 @@ msgstr ""
"è¦è§£å†³è¿™ä¸ªé—®é¢˜ä½ å¯ä»¥ä½¿ç”¨æ³¨é‡Šæ醒译者å¯ä»¥ä½¿ç”¨ä»–们è¯è¨€ä¸å¯ç”¨çš„特殊å—符。对于英"
"è¯ç”¨æˆ·ä½ å¯ä»¥åœ¨ç¾Žå›½è‹±è¯<filename>en_US.po</filename>翻译ä¸ä½¿ç”¨ç‰¹æ®Šå—符。"
-#: C/index-in.docbook:6853
+#: C/index-in.docbook:6840
msgid "Getting help with translations"
msgstr "获å–翻译帮助"
-#: C/index-in.docbook:6855
+#: C/index-in.docbook:6842
msgid ""
"If your program is free software, there is a whole <literal>GNOME</literal> "
"subproject devoted to helping you make translations, the <ulink url="
@@ -11802,7 +11786,7 @@ msgstr ""
"å项目:<ulink url=\"https://wiki.gnome.org/TranslationProject/";
"\"><literal>GNOME</literal>翻译项目</ulink>。"
-#: C/index-in.docbook:6860
+#: C/index-in.docbook:6847
msgid ""
"The way it works is that you upload your source code to a git repository "
"where translators can access it, then contact the gnome-i18n mailing list "
@@ -11813,7 +11797,7 @@ msgstr ""
"gnome-i18nè¯·æ±‚å°†ä½ çš„ç¨‹åºæ·»åŠ 到<ulink url=\"http://l10n.gnome.org/module/\";>å¾…"
"翻译模å—列表</ulink>ä¸ã€‚"
-#: C/index-in.docbook:6865
+#: C/index-in.docbook:6852
msgid ""
"Then you make sure you update the file <filename>POTFILES.in</filename> in "
"the <filename>po/</filename> subdirectory (<command>intltool-update -m</"
@@ -11831,7 +11815,7 @@ msgstr ""
"以åŠç¨‹åºçš„å—欢迎程度,译者将é€æ¸å‘ä½ æ交<filename>languagename.po</filename>"
"文件。"
-#: C/index-in.docbook:6877
+#: C/index-in.docbook:6864
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 "
@@ -11844,11 +11828,11 @@ msgstr ""
"串,则å¯èƒ½éœ€è¦å¾ˆé•¿æ—¶é—´æ‰æœ‰è¯‘者查看它。æ¤å¤–,大多数译者都ä¸æƒ³æµªè´¹æ—¶é—´ï¼Œå› æ¤å¦‚"
"æžœä»–ä»¬è®¤ä¸ºä½ çš„é¡¹ç›®è´¨é‡å¾ˆä½Žï¼Œä»–们å¯èƒ½ä¸ä¼šæƒ³ä¸ºä½ æ供翻译。"
-#: C/index-in.docbook:6889 C/index-in.docbook:6960
+#: C/index-in.docbook:6876 C/index-in.docbook:6947
msgid "Custom Widgets"
msgstr "自定义部件"
-#: C/index-in.docbook:6891
+#: C/index-in.docbook:6878
msgid ""
"<application>gtkmm</application> makes it very easy to derive new widgets by "
"inheriting from an existing widget class, either by deriving from a "
@@ -11861,11 +11845,11 @@ msgstr ""
"å‘å…¶ä¸æ·»åŠ å部件ã€ä»Žå•é¡¹éƒ¨ä»¶æ´¾ç”Ÿå¹¶ä¿®æ”¹å…¶è¡Œä¸ºç‰æ‰‹æ®µæ´¾ç”Ÿæ–°çš„éƒ¨ä»¶ã€‚ä½†æœ‰æ—¶ä½ ä¼šå‘"
"现找ä¸åˆ°åˆé€‚的起点。在这ç§æƒ…å†µä¸‹ä½ å¯ä»¥ä»Žå¤´å®žçŽ°éƒ¨ä»¶ã€‚"
-#: C/index-in.docbook:6898
+#: C/index-in.docbook:6885
msgid "Custom Containers"
msgstr "自定义容器"
-#: C/index-in.docbook:6902
+#: C/index-in.docbook:6889
msgid ""
"<methodname>get_request_mode_vfunc()</methodname>: Return what <literal>Gtk::"
"SizeRequestMode</literal> is preferred by the container."
@@ -11873,14 +11857,14 @@ msgstr ""
"<methodname>get_request_mode_vfunc()</methodname>:返回容器的<literal>Gtk::"
"SizeRequestMode</literal>å好。"
-#: C/index-in.docbook:6903
+#: C/index-in.docbook:6890
msgid ""
"<methodname>measure_vfunc()</methodname>: Calculate the minimum and natural "
"width or height of the container."
msgstr ""
"<methodname>measure_vfunc()</methodname>:返回容器的最å°è‡ªç„¶å®½åº¦æˆ–高度。"
-#: C/index-in.docbook:6904
+#: C/index-in.docbook:6891
msgid ""
"<methodname>on_size_allocate()</methodname>: Position the child widgets, "
"given the height and width that the container has actually been given."
@@ -11888,7 +11872,7 @@ msgstr ""
"<methodname>on_size_allocate()</methodname>ï¼šæ ¹æ®å®¹å™¨å®žé™…宽度和高度定ä½å部"
"件。"
-#: C/index-in.docbook:6899
+#: C/index-in.docbook:6886
msgid ""
"When deriving a custom container widget directly from <classname>Gtk::"
"Widget</classname>, you should override the following virtual methods: <_:"
@@ -11897,7 +11881,7 @@ msgstr ""
"直接从<classname>Gtk::Widget</classname>派生自定义容器部件时,应é‡å†™ä¸€ä¸‹è™šæ–¹"
"法:<_:itemizedlist-1/>"
-#: C/index-in.docbook:6908
+#: C/index-in.docbook:6895
msgid ""
"The <methodname>get_request_mode_vfunc()</methodname>, "
"<methodname>measure_vfunc()</methodname>, and "
@@ -11924,7 +11908,7 @@ msgstr ""
"这个结果确ä¿éƒ¨ä»¶èŽ·å¾—足够的空间。通过对æ¯ä¸ªéƒ¨ä»¶çš„父部件进行检查最终确认顶级窗"
"å£çš„大å°ã€‚"
-#: C/index-in.docbook:6925
+#: C/index-in.docbook:6912
msgid ""
"You are not guaranteed to get the <literal>Gtk::SizeRequestMode</literal> "
"that you request. Therefore <methodname>measure_vfunc()</methodname> must "
@@ -11939,7 +11923,7 @@ msgstr ""
"<methodname>Gtk::Widget::measure()</methodname>çš„æè¿°å¯èƒ½æ¯”查看"
"<methodname>measure_vfunc()</methodname>的文档更好。"
-#: C/index-in.docbook:6932
+#: C/index-in.docbook:6919
msgid ""
"<methodname>on_size_allocate()</methodname> receives the actual height and "
"width that the parent container has decided to give to your widget. This "
@@ -11954,7 +11938,7 @@ msgstr ""
"以选择忽略多余的空间留出一个空白区域,或者选择扩展å部件以填充该空间,或者是"
"选择扩展部件之间的填充。"
-#: C/index-in.docbook:6943
+#: C/index-in.docbook:6930
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 "
@@ -11964,11 +11948,11 @@ msgstr ""
"使用垂直<classname>Gtk::Box</classname>或<classname>Gtk::Grid</classname>会更"
"简å•ã€‚"
-#: C/index-in.docbook:6948
+#: C/index-in.docbook:6935
msgid "Custom Container"
msgstr "自定义容器"
-#: C/index-in.docbook:6954
+#: C/index-in.docbook:6941
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/custom/custom_container/\">Source Code</ulink>"
@@ -11976,7 +11960,7 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/custom/custom_container/\">æºä»£ç </ulink>"
-#: C/index-in.docbook:6961
+#: C/index-in.docbook:6948
msgid ""
"By deriving directly from <classname>Gtk::Widget</classname> you can do all "
"the drawing for your widget directly, instead of just arranging child "
@@ -11987,7 +11971,7 @@ msgstr ""
"而ä¸ä»…仅是排列å部件。例如:<classname>Gtk::Label</classname>ä¸éœ€è¦ä½¿ç”¨å…¶ä»–部"
"件å³å¯ç»˜åˆ¶æ ‡ç¾æ–‡æœ¬ã€‚"
-#: C/index-in.docbook:6972
+#: C/index-in.docbook:6959
msgid ""
"<methodname>get_request_mode_vfunc()</methodname>: (optional) Return what "
"<literal>Gtk::SizeRequestMode</literal> is preferred by the widget."
@@ -11995,14 +11979,14 @@ msgstr ""
"<methodname>get_request_mode_vfunc()</methodname>:覆写æ¤è™šå‡½æ•°æ˜¯å¯é€‰çš„,返回"
"æ¤éƒ¨ä»¶çš„<literal>Gtk::SizeRequestMode</literal>å好。"
-#: C/index-in.docbook:6973
+#: C/index-in.docbook:6960
msgid ""
"<methodname>measure_vfunc()</methodname>: Calculate the minimum and natural "
"width or height of the widget."
msgstr ""
"<methodname>measure_vfunc()</methodname>:计算æ¤éƒ¨ä»¶çš„最å°è‡ªç„¶é«˜åº¦æˆ–宽度。"
-#: C/index-in.docbook:6974
+#: C/index-in.docbook:6961
msgid ""
"<methodname>on_size_allocate()</methodname>: Position the widget, given the "
"height and width that it has actually been given."
@@ -12010,7 +11994,7 @@ msgstr ""
"<methodname>on_size_allocate()</methodname>:æ供将实际给予部件的宽度和高度以"
"定ä½éƒ¨ä»¶ã€‚"
-#: C/index-in.docbook:6975
+#: C/index-in.docbook:6962
msgid ""
"<methodname>on_realize()</methodname>: Associate a <classname>Gdk::Surface</"
"classname> with the widget."
@@ -12018,7 +12002,7 @@ msgstr ""
"<methodname>on_realize()</methodname>:将一个<classname>Gdk::Surface</"
"classname>与部件相关è”。"
-#: C/index-in.docbook:6976
+#: C/index-in.docbook:6963
msgid ""
"<methodname>on_unrealize()</methodname>: (optional) Break the association "
"with the <classname>Gdk::Surface</classname>."
@@ -12026,15 +12010,15 @@ msgstr ""
"<methodname>on_unrealize()</methodname>:覆写æ¤è™šå‡½æ•°æ˜¯å¯é€‰çš„,æ–å¼€"
"<classname>Gdk::Surface</classname>与部件的关è”。"
-#: C/index-in.docbook:6977
+#: C/index-in.docbook:6964
msgid "<methodname>on_map()</methodname>: (optional)"
msgstr "<methodname>on_map()</methodname>:覆写æ¤è™šå‡½æ•°æ˜¯å¯é€‰çš„。"
-#: C/index-in.docbook:6978
+#: C/index-in.docbook:6965
msgid "<methodname>on_unmap()</methodname>: (optional)"
msgstr "<methodname>on_unmap()</methodname>:覆写æ¤è™šå‡½æ•°æ˜¯å¯é€‰çš„。"
-#: C/index-in.docbook:6979
+#: C/index-in.docbook:6966
msgid ""
"<methodname>snapshot_vfunc()</methodname>: Create a render node, e.g. a "
"<classname>Cairo::Context</classname> node, and draw on it."
@@ -12042,7 +12026,7 @@ msgstr ""
"<methodname>snapshot_vfunc()</methodname>:创建一个渲染节点(例如:一个"
"<classname>Cairo::Context</classname>节点),并在其上进行绘制。"
-#: C/index-in.docbook:6967
+#: C/index-in.docbook:6954
msgid ""
"When deriving from <classname>Gtk::Widget</classname>, you should override "
"the following virtual methods. The methods marked (optional) need not be "
@@ -12053,7 +12037,7 @@ msgstr ""
"ä¸æ ‡è®°ä¸ºå¯é€‰çš„的虚函数ä¸å¿…在所有自定义部件ä¸éƒ½è¿›è¡Œè¦†å†™ã€‚它们的基类方法通常情"
"况下已ç»å¾ˆåˆé€‚。<_:itemizedlist-1/>"
-#: C/index-in.docbook:6983
+#: C/index-in.docbook:6970
msgid ""
"The first 3 methods in the previous table are also overridden in custom "
"containers. They are briefly described in the <link linkend=\"sec-custom-"
@@ -12062,11 +12046,11 @@ msgstr ""
"上述å‰ä¸‰ä¸ªå‡½æ•°åœ¨è‡ªå®šä¹‰å®¹å™¨ä¸ä¹Ÿè¢«è¦†å†™ã€‚它们在<link linkend=\"sec-custom-"
"containers\">自定义容器</link>å°èŠ‚åšäº†ç®€è¦è¯´æ˜Žã€‚"
-#: C/index-in.docbook:6989
+#: C/index-in.docbook:6976
msgid "Class Init and Instance Init Functions"
msgstr "ç±»åˆå§‹åŒ–和实例åˆå§‹åŒ–函数"
-#: C/index-in.docbook:6991
+#: C/index-in.docbook:6978
msgid ""
"Some <application>GTK</application> functions, if called at all, must be "
"called from the class init function. Some other <application>GTK</"
@@ -12082,11 +12066,11 @@ msgstr ""
"ExtraClassInit</classname>æ´¾ç”Ÿä¸€ä¸ªç±»ï¼Œå¹¶ä»Žè¯¥ç±»æ´¾ç”Ÿä½ çš„è‡ªå®šä¹‰ç±»ã€‚ä»¥ä¸‹ç¤ºä¾‹æ¼”ç¤º"
"了如何完æˆè¿™äº›æ“作。"
-#: C/index-in.docbook:7000
+#: C/index-in.docbook:6987
msgid "Custom Style Information"
msgstr "è‡ªå®šä¹‰æ ·å¼ä¿¡æ¯"
-#: C/index-in.docbook:7002
+#: C/index-in.docbook:6989
msgid ""
"Your widget class, whether it's derived directly from <classname>Gtk::"
"Widget</classname> or from another widget class, can read some style "
@@ -12109,15 +12093,15 @@ msgstr ""
"的支æŒæƒ…况。以下是示例演示了<methodname>Gtk::StyleContext::get_padding()</"
"methodname>的简å•ç”¨æ³•ã€‚"
-#: C/index-in.docbook:7016
+#: C/index-in.docbook:7003
msgid "This example implements a widget which draws Penrose triangles."
msgstr "本示例实现了绘制å½ç½—斯三角形的部件"
-#: C/index-in.docbook:7019
+#: C/index-in.docbook:7006
msgid "Custom Widget"
msgstr "自定义部件"
-#: C/index-in.docbook:7025
+#: C/index-in.docbook:7012
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/custom/custom_widget/\">Source Code</ulink>"
@@ -12125,15 +12109,15 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/custom/custom_widget/\">æºä»£ç </ulink>"
-#: C/index-in.docbook:7033
+#: C/index-in.docbook:7020
msgid "Multi-threaded programs"
msgstr "多线程程åº"
-#: C/index-in.docbook:7036
+#: C/index-in.docbook:7023
msgid "The constraints"
msgstr "约æŸæ¡ä»¶"
-#: C/index-in.docbook:7047
+#: C/index-in.docbook:7034
msgid ""
"These interactions arise from the fact that, amongst other things, a class "
"inheriting from <classname>sigc::trackable</classname> will, via that "
@@ -12163,7 +12147,7 @@ msgstr ""
"<methodname>connect()</methodname>方法或任何与该连接有关的<classname>sigc::"
"connection</classname>对象进行更新。"
-#: C/index-in.docbook:7038
+#: C/index-in.docbook:7025
msgid ""
"Care is required when writing programs based on <application>gtkmm</"
"application> using multiple threads of execution, arising from the fact that "
@@ -12178,11 +12162,11 @@ msgstr ""
"多线程程åºæ—¶éœ€è¦æ ¼å¤–å°å¿ƒã€‚è¿™æ˜¯å› ä¸ºä½¿ç”¨<application>libsigc++</application>æ—¶"
"在幕åŽå‘生的å¤æ‚交互ä¸å—互斥é‡æˆ–其他åŒæ¥æ–¹å¼çš„ä¿æŠ¤ã€‚"
-#: C/index-in.docbook:7071
+#: C/index-in.docbook:7058
msgid "The rules"
msgstr "规则"
-#: C/index-in.docbook:7073
+#: C/index-in.docbook:7060
msgid ""
"This requires a number of rules to be observed when writing multi-threaded "
"programs using <application>gtkmm</application>. These are set out below, "
@@ -12194,7 +12178,7 @@ msgstr ""
"规则下下é¢åˆ—出,但è¦æ³¨æ„的一点是从<classname>sigc::trackable</classname>派生"
"类时需è¦æ ¼å¤–å°å¿ƒï¼Œå› 为效果很ä¸ç›´è§‚(特别是下述4ã€5æ¡ï¼‰ã€‚"
-#: C/index-in.docbook:7084
+#: C/index-in.docbook:7071
msgid ""
"Use <classname>Glib::Dispatcher</classname> to invoke <application>gtkmm</"
"application> functions from worker threads (this is dealt with in more "
@@ -12203,7 +12187,7 @@ msgstr ""
"使用<classname>Glib::Dispatcher</classname>在工作线程ä¸è°ƒç”¨"
"<application>gtkmm</application>函数(这点将在下一节详细介ç»ï¼‰"
-#: C/index-in.docbook:7092
+#: C/index-in.docbook:7079
msgid ""
"A <classname>sigc::signal</classname> object should be regarded as owned by "
"the thread which created it. Only that thread should connect a "
@@ -12225,7 +12209,7 @@ msgstr ""
"作,以åŠä»»ä½•ä»Ž<classname>sigc::trackable</classname>派生的对象(其éžé™æ€æ–¹æ³•"
"由连接到信å·å¯¹è±¡çš„槽引用)都应该在该线程ä¸é”€æ¯ã€‚"
-#: C/index-in.docbook:7108
+#: C/index-in.docbook:7095
msgid ""
"Any <classname>sigc::connection</classname> object should be regarded as "
"owned by the thread in which the method returning the <classname>sigc::"
@@ -12236,7 +12220,7 @@ msgstr ""
"了返回<classname>sigc::connection</classname>对象的方法。åªæœ‰è¯¥çº¿ç¨‹æ‰åº”在æ¤å¯¹"
"象上调用<classname>sigc::connection</classname>方法。"
-#: C/index-in.docbook:7118
+#: C/index-in.docbook:7105
msgid ""
"A <classname>sigc::slot</classname> object created by a call to "
"<function>sigc::mem_fun()</function> which references a method of a class "
@@ -12248,7 +12232,7 @@ msgstr ""
"classname>对象具有由<classname>sigc::trackable</classname>所派生类的æˆå‘˜å‡½æ•°"
"的引用,请勿将其å¤åˆ¶åˆ°å¦ä¸€ä¸ªçº¿ç¨‹ä¸ï¼Œä¹Ÿä¸è¦è®©é™¤åˆ›å»ºçº¿ç¨‹ä»¥å¤–的线程销æ¯å®ƒã€‚"
-#: C/index-in.docbook:7128
+#: C/index-in.docbook:7115
msgid ""
"If a particular class object derives from <classname>sigc::trackable</"
"classname>, only one thread should create <classname>sigc::slot</classname> "
@@ -12266,7 +12250,7 @@ msgstr ""
"用该函数以创建槽,或者在<classname>sigc::trackable</classname>对象æ–开连接和"
"被销æ¯æ—¶å°†é‚£äº›æ§½æ— 效化。"
-#: C/index-in.docbook:7142
+#: C/index-in.docbook:7129
msgid ""
"Although <application>glib</application> is itself thread-safe, any "
"<application>glibmm</application> wrappers which use <application>libsigc++</"
@@ -12285,7 +12269,7 @@ msgstr ""
"connect()</methodname>ã€<methodname>Glib::SignalTimeout::connect_seconds</"
"methodname>或是处ç†ç”±å®ƒä»¬è¿”回的<classname>sigc::connection</classname>对象。"
-#: C/index-in.docbook:7154
+#: C/index-in.docbook:7141
msgid ""
"The connect*_once() variants, <methodname>Glib::SignalIdle::connect_once()</"
"methodname>, <methodname>Glib::SignalTimeout::connect_once()</methodname>, "
@@ -12301,11 +12285,11 @@ msgstr ""
"trackable</classname>派生类的æˆå‘˜å‡½æ•°è°ƒç”¨<function>sigc::mem_fun()</function>"
"创建的,那么它们在任何情况下都是线程安全的。"
-#: C/index-in.docbook:7172
+#: C/index-in.docbook:7159
msgid "Using Glib::Dispatcher"
msgstr "使用<classname>Glib::Dispatcher</classname>"
-#: C/index-in.docbook:7174
+#: C/index-in.docbook:7161
msgid ""
"The slots connected to <classname>sigc::signal</classname> objects execute "
"in the thread which calls <methodname>emit()</methodname> or "
@@ -12326,7 +12310,7 @@ msgstr ""
"classname>,任何工作线程都å¯ä»¥åœ¨å…¶ä¸Šè°ƒç”¨<methodname>emit()</methodname>并让槽"
"安全的执行连接的<application>gtkmm</application>函数。"
-#: C/index-in.docbook:7188
+#: C/index-in.docbook:7175
msgid ""
"Some thread safety rules on the use of <classname>Glib::Dispatcher</"
"classname> still apply. As mentioned, a <classname>Glib::Dispatcher</"
@@ -12357,7 +12341,7 @@ msgstr ""
"<methodname>emit()</methodname>,但å‰æ是该对象是在工作线程å¯åŠ¨å‰æž„é€ çš„ï¼Œå¦‚æžœ"
"ä¸æ˜¯åˆ™éœ€è¦è¿›è¡Œé¢å¤–çš„åŒæ¥ä»¥ç¡®ä¿å¯è§æ€§ã€‚"
-#: C/index-in.docbook:7208
+#: C/index-in.docbook:7195
msgid ""
"Aside from the fact that connected slots always execute in the receiver "
"thread, <classname>Glib::Dispatcher</classname> objects are similar to "
@@ -12376,7 +12360,7 @@ msgstr ""
"是编写<application>glibmm</application>时没有(尽管线程安全与强异常安全结åˆæœ‰"
"些微妙,但编写它们相对容易)。"
-#: C/index-in.docbook:7221
+#: C/index-in.docbook:7208
msgid ""
"A <classname>Glib::Dispatcher</classname> object can be emitted on by the "
"receiver thread as well as by a worker thread, although this should be done "
@@ -12401,7 +12385,7 @@ msgstr ""
"收者线程想è¦å‘出信å·å¯ä»¥ä½¿ç”¨æ™®é€šçš„<classname>sigc::signal<void()></"
"classname>对象。"
-#: C/index-in.docbook:7241
+#: C/index-in.docbook:7228
msgid ""
"This is an example program with two threads, one GUI thread, like in all "
"<application>gtkmm</application> programs, and one worker thread. The worker "
@@ -12414,7 +12398,7 @@ msgstr ""
"将创建工作线程,当工作完æˆæˆ–ä½ æŒ‰ä¸‹<literal>Stop work</literal>æŒ‰é’®æˆ–æ˜¯ä½ æŒ‰ä¸‹"
"<literal>Quit</literal>æŒ‰é’®æ—¶è¯¥çº¿ç¨‹å°†è¢«åˆ é™¤ã€‚"
-#: C/index-in.docbook:7249
+#: C/index-in.docbook:7236
msgid ""
"A <classname>Glib::Dispatcher</classname> is used for sending notifications "
"from the worker thread to the GUI thread. The <classname>ExampleWorker</"
@@ -12426,7 +12410,7 @@ msgstr ""
"<classname>ExampleWorker</classname>包å«ä¸¤ä¸ªçº¿ç¨‹éƒ½å¯ä»¥è®¿é—®çš„æ•°æ®ã€‚该数æ®è¢«ä¸€"
"个<classname>std::mutex</classname>ä¿æŠ¤ã€‚åªæœ‰GUI线程对GUI进行更新。"
-#: C/index-in.docbook:7257
+#: C/index-in.docbook:7244
msgid ""
"Compiling and linking a multi-threaded program can require special compiler "
"and linker options. If you use the <application>g++</application> compiler, "
@@ -12441,11 +12425,11 @@ msgstr ""
"æžœä½ åœ¨æž„å»ºè„šæœ¬ä¸æ·»åŠ 了<function>dependency('threads')</function>ï¼Œå®ƒä¼šå¸®ä½ å¤„"
"ç†å¤šçº¿ç¨‹çš„å¤æ‚性。"
-#: C/index-in.docbook:7266
+#: C/index-in.docbook:7253
msgid "Multi-Threaded Program"
msgstr "多线程程åº"
-#: C/index-in.docbook:7272
+#: C/index-in.docbook:7259
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/multithread\">Source Code</ulink>"
@@ -12453,11 +12437,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/multithread\">æºä»£ç </ulink>"
-#: C/index-in.docbook:7279
+#: C/index-in.docbook:7266
msgid "Recommended Techniques"
msgstr "推è技术"
-#: C/index-in.docbook:7281
+#: C/index-in.docbook:7268
msgid ""
"This section is simply a gathering of wisdom, general style guidelines and "
"hints for creating <application>gtkmm</application> applications."
@@ -12465,7 +12449,7 @@ msgstr ""
"本å°èŠ‚å°†å‘ä½ å±•ç¤ºä¸€äº›åˆ›å»º<application>gtkmm</application>应用程åºçš„智慧ã€é£Žæ ¼"
"指å—å’Œæ示。"
-#: C/index-in.docbook:7285
+#: C/index-in.docbook:7272
msgid ""
"Use GNU <application>autoconf</application> and <application>automake</"
"application>! They are your friends :) <application>Automake</application> "
@@ -12481,7 +12465,7 @@ msgstr ""
"<application>Autoconf</application>å…许自动é…置软件的安装,处ç†å¤§é‡æ¥è‡ªç³»ç»Ÿæœ¬"
"身的差异以增强å¯ç§»æ¤æ€§ã€‚"
-#: C/index-in.docbook:7295
+#: C/index-in.docbook:7282
msgid ""
"Subclass Widgets to better organize your code. You should probably subclass "
"your main <classname>Window</classname> at least. Then you can make your "
@@ -12490,7 +12474,7 @@ msgstr ""
"å类部件å¯ä»¥æ›´å¥½çš„ç»„ç»‡ä½ çš„ä»£ç ã€‚è‡³å°‘ä½ çš„ä¸»çª—å£ç±»åº”该继承<classname>Window</"
"classname>ã€‚è¿™æ ·ä½ å¯ä»¥ä½¿ä¸»çª—å£çš„å部件和信å·å¤„ç†å‡½æ•°æˆä¸ºè¯¥ç±»çš„æˆå‘˜ã€‚"
-#: C/index-in.docbook:7300
+#: C/index-in.docbook:7287
msgid ""
"Create your own signals instead of passing pointers around. Objects can "
"communicate with each other via signals and signal handlers. This is much "
@@ -12506,11 +12490,11 @@ msgstr ""
"classname>ï¼Œä½†ä½ åº”è¯¥ä½¿ç”¨<application>libsigc++</application>所述的æ£å¸¸"
"<classname>sigc::signal</classname>。"
-#: C/index-in.docbook:7309
+#: C/index-in.docbook:7296
msgid "Application Lifetime"
msgstr "应用程åºç”Ÿå‘½å‘¨æœŸ"
-#: C/index-in.docbook:7310
+#: C/index-in.docbook:7297
msgid ""
"Most applications will have only one <classname>Window</classname>, or only "
"one main window. These applications can use the <methodname>Gtk::"
@@ -12532,15 +12516,15 @@ msgstr ""
"未ä¿å˜å˜æ›´ä½ å¯èƒ½æƒ³å¼¹å‡ºå¯¹è¯æ¡†è¯¢é—®ç”¨æˆ·æ˜¯å¦ç¡®å®šè¦å…³é—窗å£ï¼Œå†æ ¹æ®ç”¨æˆ·é€‰æ‹©ç¡®å®šæ˜¯"
"å¦è¦å…³é—窗å£ï¼‰ã€‚"
-#: C/index-in.docbook:7319
+#: C/index-in.docbook:7306
msgid "Most of our examples use this technique."
msgstr "我们的大多数示例都是用这ç§æŠ€æœ¯ã€‚"
-#: C/index-in.docbook:7323
+#: C/index-in.docbook:7310
msgid "Using a <application>gtkmm</application> widget"
msgstr "使用<application>gtkmm</application>部件"
-#: C/index-in.docbook:7325
+#: C/index-in.docbook:7312
msgid ""
"Our examples all tend to have the same structure. They follow these steps "
"for using a <classname>Widget</classname>:"
@@ -12548,7 +12532,7 @@ msgstr ""
"我们的示例都倾å‘于使用相åŒçš„结构。它们按以下æ¥éª¤ä½¿ç”¨<classname>Widget</"
"classname>:"
-#: C/index-in.docbook:7334
+#: C/index-in.docbook:7321
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 "
@@ -12562,7 +12546,7 @@ msgstr ""
"<literal>new</literal>创建它。å³ä½¿é€šè¿‡æŒ‡é’ˆä½¿ç”¨éƒ¨ä»¶ï¼Œä¹Ÿåº”该使该指针æˆä¸ºå®¹å™¨ç±»"
"çš„æˆå‘˜å˜é‡ï¼Œä»¥ä¾¿ä½ åŽç»è®¿é—®å®ƒã€‚"
-#: C/index-in.docbook:7345
+#: C/index-in.docbook:7332
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 "
@@ -12571,11 +12555,11 @@ msgstr ""
"è®¾ç½®éƒ¨ä»¶çš„å±žæ€§ã€‚å¦‚æžœéƒ¨ä»¶æ²¡æœ‰é»˜è®¤æž„é€ å‡½æ•°ï¼Œåˆ™ä½ éœ€è¦åœ¨å®¹å™¨ç±»çš„æž„é€ å‡½æ•°çš„åˆå§‹åŒ–"
"列表ä¸åˆå§‹åŒ–部件。"
-#: C/index-in.docbook:7351
+#: C/index-in.docbook:7338
msgid "Connect any signals you wish to use to the appropriate handlers."
msgstr "ä¸ºæ‰€ä»¥ä½ éœ€è¦ä½¿ç”¨çš„ä¿¡å·è¿žæŽ¥åˆé€‚çš„ä¿¡å·å¤„ç†å‡½æ•°ã€‚"
-#: C/index-in.docbook:7357
+#: C/index-in.docbook:7344
msgid ""
"Pack the widget into a container using the appropriate call, e.g. "
"<methodname>Gtk::Box::append()</methodname>."
@@ -12583,7 +12567,7 @@ msgstr ""
"调用适当的函数将部件装入容器ä¸ï¼Œä¾‹å¦‚:<methodname>Gtk::Box::append()</"
"methodname>。"
-#: C/index-in.docbook:7367
+#: C/index-in.docbook:7354
msgid ""
"If you don't want all widgets to be shown, call <methodname>Gtk::Widget::"
"hide()</methodname> on the widgets that you don't want to show. If a "
@@ -12594,11 +12578,11 @@ msgstr ""
"hide()</methodname>å¯ä»¥å°†å…¶éšè—,当一个容器部件被éšè—,它的所有å部件将一并被"
"éšè—,å³ä¾¿ä½ 没有在那些å部件上调用<methodname>hide()</methodname>。"
-#: C/index-in.docbook:7378
+#: C/index-in.docbook:7365
msgid "Building applications"
msgstr "构建应用程åº"
-#: C/index-in.docbook:7380
+#: C/index-in.docbook:7367
msgid ""
"This chapter is similar to the \"Building applications\" chapter in the "
"<ulink url=\"https://developer.gnome.org/gtk4/unstable/\";>GTK4 Reference "
@@ -12608,19 +12592,19 @@ msgstr ""
"æœ¬ç« èŠ‚ä¸Ž<ulink url=\"https://developer.gnome.org/gtk4/unstable/\";>GTK4å‚考文"
"æ¡£</ulink>çš„\"Building applications\"ç« èŠ‚å分类似。"
-#: C/index-in.docbook:7389
+#: C/index-in.docbook:7376
msgid "The binary file"
msgstr "二进制文件"
-#: C/index-in.docbook:7390
+#: C/index-in.docbook:7377
msgid "This gets installed in <filename>/usr/bin</filename>."
msgstr "这将被安装在<filename>/usr/bin</filename>。"
-#: C/index-in.docbook:7393
+#: C/index-in.docbook:7380
msgid "A desktop file"
msgstr "æ¡Œé¢æ–‡ä»¶"
-#: C/index-in.docbook:7394
+#: C/index-in.docbook:7381
msgid ""
"The desktop file provides important information about the application to the "
"desktop shell, such as its name, icon, D-Bus name, commandline to launch it, "
@@ -12630,11 +12614,11 @@ msgstr ""
"Busåã€å¯åŠ¨æ—¶çš„命令行ç‰ã€‚æ¤æ–‡ä»¶å°†å®‰è£…在<filename>/usr/share/applications</"
"filename>。"
-#: C/index-in.docbook:7399
+#: C/index-in.docbook:7386
msgid "An icon"
msgstr "å›¾æ ‡"
-#: C/index-in.docbook:7400
+#: C/index-in.docbook:7387
msgid ""
"The icon gets installed in <filename>/usr/share/icons/hicolor/48x48/apps</"
"filename>, where it will be found regardless of the current theme."
@@ -12642,11 +12626,11 @@ msgstr ""
"å›¾æ ‡å°†è¢«å®‰è£…åœ¨<filename>/usr/share/icons/hicolor/48x48/apps</filename>ï¼Œæ— è®º"
"当å‰ä¸»é¢˜æ˜¯ä»€ä¹ˆä½ 都å¯ä»¥åœ¨å…¶ä¸æ‰¾åˆ°å›¾æ ‡ã€‚"
-#: C/index-in.docbook:7404
+#: C/index-in.docbook:7391
msgid "A settings schema"
msgstr "设置模å¼"
-#: C/index-in.docbook:7405
+#: C/index-in.docbook:7392
msgid ""
"If the application uses <classname>Gio::Settings</classname>, it will "
"install its schema in <filename>/usr/share/glib-2.0/schemas</filename>, so "
@@ -12656,11 +12640,11 @@ msgstr ""
"到<filename>/usr/share/glib-2.0/schemas</filename>,以便dconf-editor之类的工"
"å…·å¯ä»¥æ‰¾åˆ°å®ƒã€‚"
-#: C/index-in.docbook:7410
+#: C/index-in.docbook:7397
msgid "Other resources"
msgstr "其他资æº"
-#: C/index-in.docbook:7411
+#: C/index-in.docbook:7398
msgid ""
"Other files, such as <classname>Gtk::Builder</classname> ui files, are best "
"loaded from resources stored in the application binary itself. This "
@@ -12672,11 +12656,11 @@ msgstr ""
"自身的二进制ä¸åŠ è½½ã€‚è¿™æ ·å°±ä¸éœ€è¦æŒ‰ç…§ä¼ 统将大多数文件安装在<filename>/usr/"
"share</filename>ä¸ç‰¹å®šåº”用程åºçš„ä½ç½®ã€‚"
-#: C/index-in.docbook:7385
+#: C/index-in.docbook:7372
msgid "An application consists of a number of files: <_:variablelist-1/>"
msgstr "一个应用程åºç”±è®¸å¤šæ–‡ä»¶ç»„æˆï¼š<_:variablelist-1/>"
-#: C/index-in.docbook:7419
+#: C/index-in.docbook:7406
msgid ""
"<application>gtkmm</application> includes application support that is built "
"on top of <classname>Gio::Application</classname>. In this chapter we'll "
@@ -12695,7 +12679,7 @@ msgstr ""
"<classname>Gtk::SearchBar</classname>ã€<classname>Gtk::ListBox</classname>ç‰"
"内容。"
-#: C/index-in.docbook:7428
+#: C/index-in.docbook:7415
msgid ""
"The full, buildable sources for these examples can be found in the "
"<filename>examples/book/buildapp</filename> directory of the "
@@ -12719,11 +12703,11 @@ msgstr ""
"一个示例。更多有关信æ¯ï¼Œè¯·å‚è§<filename>buildapp</filename>目录ä¸åŒ…å«çš„"
"<filename>README</filename>文件。"
-#: C/index-in.docbook:7441 C/index-in.docbook:7485
+#: C/index-in.docbook:7428 C/index-in.docbook:7472
msgid "A trivial application"
msgstr "简å•çš„应用程åº"
-#: C/index-in.docbook:7443
+#: C/index-in.docbook:7430
msgid ""
"When using <classname>Gtk::Application</classname>, the <function>main()</"
"function> function can be very simple. We just call <methodname>Gtk::"
@@ -12733,7 +12717,7 @@ msgstr ""
"æ•°å¯ä»¥éžå¸¸ç®€å•ã€‚我们åªæ˜¯åœ¨åº”用程åºç±»å®žä¾‹ä¸Šè°ƒç”¨<methodname>Gtk::Application::"
"run()</methodname>。"
-#: C/index-in.docbook:7449
+#: C/index-in.docbook:7436
msgid ""
"All the application logic is in the application class, which is a subclass "
"of <classname>Gtk::Application</classname>. Our example does not yet have "
@@ -12749,7 +12733,7 @@ msgstr ""
"我们的应用程åºç±»å°è¯•æ‰“开文件,但是应用程åºçš„窗å£å类并没有执行应执行的æ“"
"作)。"
-#: C/index-in.docbook:7458
+#: C/index-in.docbook:7445
msgid ""
"To handle these two cases, we override <methodname>signal_activate()</"
"methodname>'s default handler, which gets called when the application is "
@@ -12761,7 +12745,7 @@ msgstr ""
"<methodname>signal_open()</methodname>的默认处ç†å‡½æ•°ï¼Œåœ¨æ²¡æœ‰å‘½ä»¤è¡Œå‚æ•°æ—¶å‰è€…"
"的处ç†å‡½æ•°è¢«è°ƒç”¨ï¼Œæœ‰å‘½ä»¤è¡Œå‚æ•°æ—¶åŽè€…的处ç†å‡½æ•°è¢«è°ƒç”¨ã€‚"
-#: C/index-in.docbook:7465
+#: C/index-in.docbook:7452
msgid ""
"<ulink url=\"http://developer.gnome.org/glibmm/unstable/";
"classGio_1_1Application.html\">Gio::Application Reference</ulink>"
@@ -12769,7 +12753,7 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/glibmm/unstable/";
"classGio_1_1Application.html\">Gio::Applicationå‚考</ulink>"
-#: C/index-in.docbook:7466
+#: C/index-in.docbook:7453
msgid ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1Application.html\">Gtk::Application Reference</ulink>"
@@ -12777,7 +12761,7 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/gtkmm/unstable/";
"classGtk_1_1Application.html\">Gtk::Applicationå‚考</ulink>"
-#: C/index-in.docbook:7468
+#: C/index-in.docbook:7455
msgid ""
"Another important class that is part of the application support in "
"<application>gtkmm</application> is <classname>Gtk::ApplicationWindow</"
@@ -12788,7 +12772,7 @@ msgstr ""
"<classname>Gtk::ApplicationWindow</classname>。通常我们也会将其å类化。æ¤æ—¶æˆ‘"
"们的å类还没有åšä»»ä½•äº‹ï¼Œæ‰€ä»¥æˆ‘们åªä¼šå¾—到一个空白的窗å£ã€‚"
-#: C/index-in.docbook:7474
+#: C/index-in.docbook:7461
msgid ""
"As part of the initial setup of our application, we also create an icon and "
"a desktop file. Note that @bindir@ in the desktop file needs to be replaced "
@@ -12797,11 +12781,11 @@ msgstr ""
"作为应用程åºåˆå§‹è®¾ç½®çš„ä¸€éƒ¨åˆ†ï¼Œæˆ‘ä»¬è¿˜ä¸ºå…¶åˆ›å»ºäº†ä¸€ä¸ªå›¾æ ‡å’Œæ¡Œé¢æ–‡ä»¶ã€‚请注æ„在使"
"用这个桌é¢æ–‡ä»¶ä¹‹å‰ä½ 还需è¦å°†æ–‡ä»¶ä¸çš„@bindir@替æ¢ä¸ºåº”用程åºäºŒè¿›åˆ¶çš„实际路径。"
-#: C/index-in.docbook:7480
+#: C/index-in.docbook:7467
msgid "Here is what we've achieved so far:"
msgstr "到目å‰ä¸ºæ¢æˆ‘们åšåˆ°äº†ï¼š"
-#: C/index-in.docbook:7491
+#: C/index-in.docbook:7478
msgid ""
"This does not look very impressive yet, but our application is already "
"presenting itself on the session bus, it has single-instance semantics, and "
@@ -12810,7 +12794,7 @@ msgstr ""
"这看起æ¥è¿˜æ— 法让人å°è±¡æ·±åˆ»ï¼Œä½†æ˜¯æˆ‘们的应用程åºå·²ç»åœ¨ä¼šè¯æ€»çº¿ä¸Šå±•ç¤ºäº†è‡ªå·±ã€‚现"
"在它具有å•å®žä¾‹è¯ä¹‰ï¼Œå¹¶ä¸”接å—命令行å‚数作为文件路径。"
-#: C/index-in.docbook:7496
+#: C/index-in.docbook:7483
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/buildapp/step1\">Source Code</ulink>"
@@ -12818,11 +12802,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/buildapp/step1\">æºä»£ç </ulink>"
-#: C/index-in.docbook:7501 C/index-in.docbook:7544
+#: C/index-in.docbook:7488 C/index-in.docbook:7531
msgid "Populating the window"
msgstr "填充窗å£"
-#: C/index-in.docbook:7503
+#: C/index-in.docbook:7490
msgid ""
"In this step, we use a <classname>Gtk::Builder</classname> instance to "
"associate a <classname>Gtk::Builder</classname> ui file with our application "
@@ -12831,7 +12815,7 @@ msgstr ""
"å†æ¬¡æ¥éª¤ä¸ï¼Œæˆ‘们使用<classname>Gtk::Builder</classname>实例将<classname>Gtk::"
"Builder</classname> UI文件和我们的应用程åºçª—å£ç±»ç›¸å…³è”。"
-#: C/index-in.docbook:7508
+#: C/index-in.docbook:7495
msgid ""
"Our simple ui file gives the window a title, and puts a <classname>Gtk::"
"Stack</classname> widget as the main content."
@@ -12839,7 +12823,7 @@ msgstr ""
"我们的简å•UI文件为窗å£è®¾å®šäº†ä¸€ä¸ªæ ‡é¢˜ï¼Œå¹¶å°†ä¸€ä¸ª<classname>Gtk::Stack</"
"classname>文件放入了窗å£ä¸ã€‚"
-#: C/index-in.docbook:7513
+#: C/index-in.docbook:7500
msgid ""
"To make use of this file in our application, we revisit our <classname>Gtk::"
"ApplicationWindow</classname> subclass, and call <methodname>Gtk::Builder::"
@@ -12859,12 +12843,12 @@ msgstr ""
"<methodname>get_widget_derived()</methodname>çš„ä¿¡æ¯ï¼Œè¯·å‚è§<link linkend="
"\"sec-builder-using-derived-widgets\">使用派生部件</link>å°èŠ‚。"
-#: C/index-in.docbook:7532
+#: C/index-in.docbook:7519
#, no-wrap
msgid "$ glib-compile-resources --target=resources.c --generate-source exampleapp.gresource.xml"
msgstr "$ glib-compile-resources --target=resources.c --generate-source exampleapp.gresource.xml"
-#: C/index-in.docbook:7524
+#: C/index-in.docbook:7511
msgid ""
"You may have noticed that we use the <methodname>_from_resource()</"
"methodname> variant of the method that reads the ui file. Now we need to use "
@@ -12889,11 +12873,11 @@ msgstr ""
"用Meson <ulink url=\"https://mesonbuild.com/Gnome-module.html\";>GNOME模å—</"
"ulink>ä¸çš„<function>compile_resources()</function>函数。"
-#: C/index-in.docbook:7539
+#: C/index-in.docbook:7526
msgid "Our application now looks like this:"
msgstr "我们的应用程åºçŽ°åœ¨çœ‹èµ·æ¥åƒè¿™æ ·ï¼š"
-#: C/index-in.docbook:7550
+#: C/index-in.docbook:7537
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/buildapp/step2\">Source Code</ulink>"
@@ -12901,17 +12885,17 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/buildapp/step2\">æºä»£ç </ulink>"
-#: C/index-in.docbook:7555 C/index-in.docbook:7591
+#: C/index-in.docbook:7542 C/index-in.docbook:7578
msgid "Opening files"
msgstr "打开文件"
-#: C/index-in.docbook:7557
+#: C/index-in.docbook:7544
msgid ""
"In this step, we make our application show the contents of all the files "
"that it is given on the commandline."
msgstr "在这一æ¥ä¸ï¼Œæˆ‘们使我们的应用程åºæ˜¾ç¤ºç”±å‘½ä»¤è¡Œå‚数给定的文件的所有内容。"
-#: C/index-in.docbook:7562
+#: C/index-in.docbook:7549
msgid ""
"To this end, we add a data member to our application window and keep a "
"pointer to the <classname>Gtk::Stack</classname> there. We get the pointer "
@@ -12922,7 +12906,7 @@ msgstr ""
"<classname>Gtk::Stack</classname>的指针。我们通过在应用程åºçª—å£çš„æž„é€ å‡½æ•°ä¸è°ƒ"
"用<methodname>Gtk::Builder::get_widget()</methodname>获得指å‘该å部件的指针。"
-#: C/index-in.docbook:7568
+#: C/index-in.docbook:7555
msgid ""
"Now we revisit the <methodname>ExampleAppWindow::open_file_view()</"
"methodname> method that is called for each commandline argument, and "
@@ -12933,7 +12917,7 @@ msgstr ""
"open_file_view()</methodname>æˆå‘˜å‡½æ•°ï¼Œå¹¶æž„é€ ä¸€ä¸ª<classname>Gtk::TextView</"
"classname>然åŽå°†å…¶ä½œä¸ºé¡µé¢æ·»åŠ 到<classname>Gtk::Stack</classname>ä¸ã€‚"
-#: C/index-in.docbook:7574
+#: C/index-in.docbook:7561
msgid ""
"Lastly, we add a <classname>Gtk::StackSwitcher</classname> to the titlebar "
"area in the ui file, and we tell it to display information about our stack."
@@ -12941,7 +12925,7 @@ msgstr ""
"最åŽï¼Œæˆ‘们将<classname>Gtk::StackSwitcher</classname>æ·»åŠ åˆ°UIæ–‡ä»¶çš„æ ‡é¢˜æ 区"
"域,并告诉它如何显示<classname>Gtk::Stack</classname>的相关信æ¯ã€‚"
-#: C/index-in.docbook:7579
+#: C/index-in.docbook:7566
msgid ""
"The stack switcher gets all its information it needs to display tabs from "
"the stack that it belongs to. Here, we are passing the label to show for "
@@ -12952,11 +12936,11 @@ msgstr ""
"ä¿¡æ¯ã€‚在这,作为<methodname>Gtk::Stack::add()</methodname>方法的最åŽä¸€ä¸ªå‚"
"数,我们为æ¯ä¸ªæ˜¾ç¤ºçš„æ–‡ä»¶ä¼ é€’ä¸€ä¸ªæ ‡ç¾ã€‚"
-#: C/index-in.docbook:7586
+#: C/index-in.docbook:7573
msgid "Our application is beginning to take shape:"
msgstr "我们的应用程åºå¼€å§‹æˆå½¢ï¼š"
-#: C/index-in.docbook:7597
+#: C/index-in.docbook:7584
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/buildapp/step3\">Source Code</ulink>"
@@ -12964,17 +12948,17 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/buildapp/step3\">æºä»£ç </ulink>"
-#: C/index-in.docbook:7602 C/index-in.docbook:7637
+#: C/index-in.docbook:7589 C/index-in.docbook:7624
msgid "A menu"
msgstr "èœå•"
-#: C/index-in.docbook:7604
+#: C/index-in.docbook:7591
msgid ""
"The menu is shown at the right side of the headerbar. It is meant to collect "
"infrequently used actions that affect the whole application."
msgstr "èœå•æ˜¾ç¤ºåœ¨æ ‡é¢˜æ çš„å³ä¾§ã€‚它旨在放置所有应用程åºä¸å¸¸ç”¨çš„动作。"
-#: C/index-in.docbook:7609
+#: C/index-in.docbook:7596
msgid ""
"Just like the application window, we specify our menu in a ui file, and add "
"it as a resource to our binary."
@@ -12982,7 +12966,7 @@ msgstr ""
"å°±åƒåº”用程åºçª—å£ä¸€æ ·ï¼Œæˆ‘们在UI文件ä¸æŒ‡å®šä¸€ä¸ªèœå•ï¼Œå¹¶å°†å…¶ä½œä¸ºèµ„æºæ·»åŠ 到二进制"
"ä¸ã€‚"
-#: C/index-in.docbook:7614
+#: C/index-in.docbook:7601
msgid ""
"To make the menu appear, we have to load the ui file and associate the "
"resulting menu model with the menu button that we've added to the headerbar. "
@@ -12993,7 +12977,7 @@ msgstr ""
"å•æŒ‰é’®ç›¸å…³è”。由于èœå•é€šè¿‡æ¿€æ´»<classname>Gio::Action</classname>工作,我们还"
"需è¦å‘应用程åºä¸æ·»åŠ 一组åˆé€‚的动作。"
-#: C/index-in.docbook:7621
+#: C/index-in.docbook:7608
msgid ""
"Adding the actions is best done in the <methodname>on_startup()</methodname> "
"default signal handler, which is guaranteed to be called once for each "
@@ -13002,7 +12986,7 @@ msgstr ""
"最好在<methodname>on_startup()</methodname>的默认信å·å¤„ç†å‡½æ•°ä¸å®Œæˆæ·»åŠ 动作,"
"并确ä¿æ¯ä¸ªåº”用程åºå®žä¾‹éƒ½åªè°ƒç”¨ä¸€æ¬¡ã€‚"
-#: C/index-in.docbook:7626
+#: C/index-in.docbook:7613
msgid ""
"Our preferences menu item does not do anything yet, but the Quit menu item "
"is fully functional. It can also be activated by the usual Ctrl-Q shortcut. "
@@ -13013,11 +12997,11 @@ msgstr ""
"Qå¿«æ·é”®æ¿€æ´»å®ƒã€‚å¿«æ·é”®é€šè¿‡<methodname>Gtk::Application::"
"set_accel_for_action()</methodname>æ·»åŠ ã€‚"
-#: C/index-in.docbook:7632
+#: C/index-in.docbook:7619
msgid "The menu looks like this:"
msgstr "èœå•å¦‚下所示"
-#: C/index-in.docbook:7643
+#: C/index-in.docbook:7630
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/buildapp/step4\">Source Code</ulink>"
@@ -13025,11 +13009,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/buildapp/step4\">æºä»£ç </ulink>"
-#: C/index-in.docbook:7648
+#: C/index-in.docbook:7635
msgid "A preference dialog"
msgstr "首选项对è¯æ¡†"
-#: C/index-in.docbook:7650
+#: C/index-in.docbook:7637
msgid ""
"A typical application will have some preferences that should be remembered "
"from one run to the next. Even for our simple example application, we may "
@@ -13038,7 +13022,7 @@ msgstr ""
"ç»å…¸çš„应用程åºä¼šæœ‰ä¸€äº›é¦–选项,它们应该被记ä½è€Œä¸éœ€è¦åœ¨ä¸‹æ¬¡è¿è¡Œæ—¶åœ¨è¿›è¡Œè®¾ç½®ã€‚"
"å³ä½¿å¯¹äºŽæˆ‘们这个简å•çš„应用程åºç¤ºä¾‹ï¼Œæˆ‘们å¯èƒ½ä¹Ÿæƒ³æ”¹å˜ç”¨äºŽæ–‡æœ¬å†…容的å—体。"
-#: C/index-in.docbook:7656
+#: C/index-in.docbook:7643
msgid ""
"We are going to use <classname>Gio::Settings</classname> to store our "
"preferences. <classname>Gio::Settings</classname> requires a schema that "
@@ -13049,7 +13033,7 @@ msgstr ""
"<classname>Gio::Settings</classname>需è¦ä¸€ä¸ªç”¨äºŽæ述我们的设置的模å¼ï¼Œåœ¨æœ¬ä¾‹"
"ä¸ä¸º<filename>org.gtkmm.exampleapp.gschema.xml</filename>文件。"
-#: C/index-in.docbook:7662
+#: C/index-in.docbook:7649
msgid ""
"Before we can make use of this schema in our application, we need to compile "
"it into the binary form that <classname>Gio::Settings</classname> expects. "
@@ -13066,55 +13050,55 @@ msgstr ""
"com/Gnome-module.html\">GNOME模å—</ulink>ä¸æ供了"
"<function>compile_schemas()</function>执行æ¤æ“作。"
-#: C/index-in.docbook:7676
-#, no-wrap
-msgid ""
-"\n"
-"m_settings = Gio::Settings::create(\"org.gtkmm.exampleapp\");\n"
-"m_settings->bind(\"transition\", m_stack->property_transition_type());\n"
-msgstr ""
-"\n"
-"m_settings = Gio::Settings::create(\"org.gtkmm.exampleapp\");\n"
-"m_settings->bind(\"transition\", m_stack->property_transition_type());\n"
-
-#: C/index-in.docbook:7671
+#: C/index-in.docbook:7658
msgid ""
"Next, we need to connect our settings to the widgets that they are supposed "
"to control. One convenient way to do this is to use <methodname>Gio::"
"Settings::bind()</methodname> to bind settings keys to object properties, as "
"we do for the transition setting in <classname>ExampleAppWindow</"
-"classname>'s constructor. <_:programlisting-1/>"
+"classname>'s constructor."
msgstr ""
"接下æ¥ï¼Œæˆ‘们需è¦å°†è®¾ç½®è¿žæŽ¥åˆ°åº”该被控制的部件上。一ç§å¾ˆæ–¹ä¾¿çš„方法是使用"
"<methodname>Gio::Settings::bind()</methodname>将对象的属性和设置键相互绑定,"
"å°±åƒæˆ‘们在<classname>ExampleAppWindow</classname>çš„æž„é€ å‡½æ•°ä¸åšçš„过渡设置一"
-"æ ·ã€‚<_:programlisting-1/>"
+"æ ·ã€‚"
-#: C/index-in.docbook:7686
+#: C/index-in.docbook:7664
#, no-wrap
msgid ""
"\n"
-"auto tag = buffer->create_tag();\n"
-"m_settings->bind(\"font\", tag->property_font());\n"
-"buffer->apply_tag(tag, buffer->begin(), buffer->end());\n"
+"m_settings = Gio::Settings::create(\"org.gtkmm.exampleapp\");\n"
+"m_settings->bind(\"transition\", m_stack->property_transition_type());\n"
msgstr ""
"\n"
-"auto tag = buffer->create_tag();\n"
-"m_settings->bind(\"font\", tag->property_font());\n"
-"buffer->apply_tag(tag, buffer->begin(), buffer->end());\n"
-
-#: C/index-in.docbook:7682
+"m_settings = Gio::Settings::create(\"org.gtkmm.exampleapp\");\n"
+"m_settings->bind(\"transition\", m_stack->property_transition_type());\n"
+
+#: C/index-in.docbook:7669
msgid ""
"The code to connect the font setting is a little more involved, since it "
"corresponds to an object property in a <classname>Gtk::TextTag</classname> "
"that we must first create. The code is in <methodname>ExampleAppWindow::"
-"open_file_view()</methodname>. <_:programlisting-1/>"
+"open_file_view()</methodname>."
msgstr ""
"å—体设置的连接è¦éº»çƒ¦çš„å¤šï¼Œå› ä¸ºæˆ‘ä»¬éœ€è¦å…ˆåˆ›å»ºå¯¹åº”的对象属性的<classname>Gtk::"
"TextTag</classname>。以下代ç 在<methodname>ExampleAppWindow::"
-"open_file_view()</methodname>函数ä¸ã€‚<_:programlisting-1/>"
+"open_file_view()</methodname>函数ä¸ã€‚"
+
+#: C/index-in.docbook:7674
+#, no-wrap
+msgid ""
+"\n"
+"auto tag = buffer->create_tag();\n"
+"m_settings->bind(\"font\", tag->property_font());\n"
+"buffer->apply_tag(tag, buffer->begin(), buffer->end());\n"
+msgstr ""
+"\n"
+"auto tag = buffer->create_tag();\n"
+"m_settings->bind(\"font\", tag->property_font());\n"
+"buffer->apply_tag(tag, buffer->begin(), buffer->end());\n"
-#: C/index-in.docbook:7693
+#: C/index-in.docbook:7680
msgid ""
"At this point, the application will already react if you change one of the "
"settings, e.g. using the <command>gsettings</command> commandline tool. Of "
@@ -13131,7 +13115,19 @@ msgstr ""
"classname>ä¸çœ‹åˆ°çš„技术:<classname>Gtk::Builder</classname> UI文件和设置绑"
"定。"
-#: C/index-in.docbook:7706
+#: C/index-in.docbook:7689
+msgid ""
+"When we've created the <filename>prefs.ui</filename> file and the "
+"<classname>ExampleAppPrefs</classname> class, we revisit the "
+"<methodname>ExampleApplication::on_action_preferences()</methodname> method "
+"in our application class, and make it open a new preference dialog."
+msgstr ""
+"我们创建<filename>prefs.ui</filename>文件和<classname>ExampleAppPrefs</"
+"classname>å类之åŽï¼Œæˆ‘们é‡è®¿<methodname>ExampleApplication::"
+"on_action_preferences()</methodname>æˆå‘˜å‡½æ•°ï¼Œå¹¶ä½¿å…¶æ‰“开一个新的首选项对è¯"
+"框。"
+
+#: C/index-in.docbook:7694
#, no-wrap
msgid ""
"\n"
@@ -13142,30 +13138,17 @@ msgstr ""
"auto prefs_dialog = ExampleAppPrefs::create(*get_active_window());\n"
"prefs_dialog->present();\n"
-#: C/index-in.docbook:7702
-msgid ""
-"When we've created the <filename>prefs.ui</filename> file and the "
-"<classname>ExampleAppPrefs</classname> class, we revisit the "
-"<methodname>ExampleApplication::on_action_preferences()</methodname> method "
-"in our application class, and make it open a new preference dialog. <_:"
-"programlisting-1/>"
-msgstr ""
-"我们创建<filename>prefs.ui</filename>文件和<classname>ExampleAppPrefs</"
-"classname>å类之åŽï¼Œæˆ‘们é‡è®¿<methodname>ExampleApplication::"
-"on_action_preferences()</methodname>æˆå‘˜å‡½æ•°ï¼Œå¹¶ä½¿å…¶æ‰“开一个新的首选项对è¯"
-"框。<_:programlisting-1/>"
-
-#: C/index-in.docbook:7712
+#: C/index-in.docbook:7699
msgid ""
"After all this work, our application can now show a preference dialog like "
"this:"
msgstr "完æˆæ‰€æœ‰å·¥ä½œåŽï¼Œæˆ‘们的应用程åºçŽ°åœ¨å¯ä»¥æ˜¾ç¤ºå¦‚下所示的首选项对è¯æ¡†ï¼š"
-#: C/index-in.docbook:7717
+#: C/index-in.docbook:7704
msgid "An preference dialog"
msgstr "首选项对è¯æ¡†"
-#: C/index-in.docbook:7723
+#: C/index-in.docbook:7710
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/buildapp/step5\">Source Code</ulink>"
@@ -13173,11 +13156,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/buildapp/step5\">æºä»£ç </ulink>"
-#: C/index-in.docbook:7728 C/index-in.docbook:7771
+#: C/index-in.docbook:7715 C/index-in.docbook:7758
msgid "Adding a search bar"
msgstr "æ·»åŠ æœç´¢æ "
-#: C/index-in.docbook:7730
+#: C/index-in.docbook:7717
msgid ""
"We continue to flesh out the functionality of our application. For now, we "
"add search. <application>gtkmm</application> supports this with "
@@ -13190,7 +13173,7 @@ msgstr ""
"<classname>Gtk::SearchBar</classname>对æ¤æ供了支æŒã€‚æœç´¢æ 是一个部件,å¯ä»¥ä»Ž"
"从顶部滑入以显示æœç´¢æ¡ç›®ã€‚"
-#: C/index-in.docbook:7736
+#: C/index-in.docbook:7723
msgid ""
"We add a toggle button to the header bar, which can be used to slide out the "
"search bar below the header bar. The new widgets are added in the "
@@ -13199,7 +13182,18 @@ msgstr ""
"我们å‘æ ‡é¢˜æ æ·»åŠ äº†ä¸€ä¸ªå¼€å…³æŒ‰é’®ï¼Œå¯ä»¥ç”¨äºŽæ»‘出ä½äºŽæ ‡é¢˜æ 下方的æœç´¢æ 。新的部件"
"å°†æ·»åŠ åˆ°<filename>window.ui</filename>文件ä¸ã€‚"
-#: C/index-in.docbook:7745
+#: C/index-in.docbook:7728
+msgid ""
+"Implementing the search needs quite a few code changes that we are not going "
+"to completely go over here. The central piece of the search implementation "
+"is a signal handler that listens for text changes in the search entry, shown "
+"here without error handling."
+msgstr ""
+"实现æœç´¢éœ€è¦è¿›è¡Œå¤§é‡çš„代ç 更改,在æ¤æˆ‘们ä¸å¯¹å…¶è¿›è¡Œè¯¦ç»†çš„介ç»ã€‚实现æœç´¢çš„æ ¸å¿ƒ"
+"部分是一个信å·å¤„ç†å‡½æ•°ï¼Œå®ƒç›‘å¬æœç´¢æ¡ç›®çš„å˜æ›´ï¼Œæ¤å¤„显示的示例没有进行错误处"
+"ç†ã€‚"
+
+#: C/index-in.docbook:7733
#, no-wrap
msgid ""
"\n"
@@ -13240,22 +13234,11 @@ msgstr ""
" }\n"
"}\n"
-#: C/index-in.docbook:7741
-msgid ""
-"Implementing the search needs quite a few code changes that we are not going "
-"to completely go over here. The central piece of the search implementation "
-"is a signal handler that listens for text changes in the search entry, shown "
-"here without error handling. <_:programlisting-1/>"
-msgstr ""
-"实现æœç´¢éœ€è¦è¿›è¡Œå¤§é‡çš„代ç 更改,在æ¤æˆ‘们ä¸å¯¹å…¶è¿›è¡Œè¯¦ç»†çš„介ç»ã€‚实现æœç´¢çš„æ ¸å¿ƒ"
-"部分是一个信å·å¤„ç†å‡½æ•°ï¼Œå®ƒç›‘å¬æœç´¢æ¡ç›®çš„å˜æ›´ï¼Œæ¤å¤„显示的示例没有进行错误处"
-"ç†ã€‚<_:programlisting-1/>"
-
-#: C/index-in.docbook:7766
+#: C/index-in.docbook:7753
msgid "With the search bar, our application now looks like this:"
msgstr "有了æœç´¢æ åŽï¼Œæˆ‘们的应用程åºçœ‹èµ·æ¥åƒè¿™æ ·ï¼š"
-#: C/index-in.docbook:7777
+#: C/index-in.docbook:7764
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/buildapp/step6\">Source Code</ulink>"
@@ -13263,11 +13246,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/buildapp/step6\">æºä»£ç </ulink>"
-#: C/index-in.docbook:7782 C/index-in.docbook:7817
+#: C/index-in.docbook:7769 C/index-in.docbook:7804
msgid "Adding a side bar"
msgstr "æ·»åŠ ä¾§è¾¹æ "
-#: C/index-in.docbook:7784
+#: C/index-in.docbook:7771
msgid ""
"As another piece of functionality, we are adding a sidebar, which "
"demonstrates <classname>Gtk::Revealer</classname> and <classname>Gtk::"
@@ -13278,7 +13261,7 @@ msgstr ""
"Revealer</classname>å’Œ<classname>Gtk::ListBox</classname>ã€‚æ–°çš„éƒ¨ä»¶å°†è¢«æ·»åŠ åˆ°"
"<filename>window.ui</filename>文件ä¸ã€‚"
-#: C/index-in.docbook:7790
+#: C/index-in.docbook:7777
msgid ""
"The code to populate the sidebar with buttons for the words found in each "
"file is a little too involved to go into here. But we'll look at the code to "
@@ -13289,7 +13272,18 @@ msgstr ""
"我们将对为èœå•ä¸æ·»åŠ 新功能的多选按钮的代ç 进行介ç»ã€‚èœå•é¡¹å°†è¢«æ·»åŠ 到"
"<filename>gears_menu.ui</filename> UI文件ä¸ã€‚"
-#: C/index-in.docbook:7801
+#: C/index-in.docbook:7784
+msgid ""
+"To connect the menu item to the new <literal>show-words</literal> setting, "
+"we use a <classname>Gio::Action</classname> corresponding to the given "
+"<classname>Gio::Settings</classname> key. In <classname>ExampleAppWindow</"
+"classname>'s constructor:"
+msgstr ""
+"我们使用<classname>Gio::Action</classname>与给定的<classname>Gio::Settings</"
+"classname>键相关è”,以使èœå•é¡¹ä¸Žæ–°çš„<literal>show-words</literal>设置å‘连接。"
+"在<classname>ExampleAppWindow</classname>æž„é€ å‡½æ•°ä¸ï¼š"
+
+#: C/index-in.docbook:7789
#, no-wrap
msgid ""
"\n"
@@ -13310,22 +13304,11 @@ msgstr ""
"m_gears->set_menu_model(menu);\n"
"add_action(m_settings->create_action(\"show-words\"));\n"
-#: C/index-in.docbook:7797
-msgid ""
-"To connect the menu item to the new <literal>show-words</literal> setting, "
-"we use a <classname>Gio::Action</classname> corresponding to the given "
-"<classname>Gio::Settings</classname> key. In <classname>ExampleAppWindow</"
-"classname>'s constructor: <_:programlisting-1/>"
-msgstr ""
-"我们使用<classname>Gio::Action</classname>与给定的<classname>Gio::Settings</"
-"classname>键相关è”,以使èœå•é¡¹ä¸Žæ–°çš„<literal>show-words</literal>设置å‘连接。"
-"在<classname>ExampleAppWindow</classname>æž„é€ å‡½æ•°ä¸ï¼š<_:programlisting-1/>"
-
-#: C/index-in.docbook:7812
+#: C/index-in.docbook:7799
msgid "What our application looks like now:"
msgstr "现在我们的应用程åºçœ‹èµ·æ¥åƒè¿™æ ·ï¼š"
-#: C/index-in.docbook:7823
+#: C/index-in.docbook:7810
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/buildapp/step7\">Source Code</ulink>"
@@ -13333,11 +13316,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/buildapp/step7\">æºä»£ç </ulink>"
-#: C/index-in.docbook:7829 C/index-in.docbook:7871
+#: C/index-in.docbook:7816 C/index-in.docbook:7858
msgid "Properties"
msgstr "属性"
-#: C/index-in.docbook:7831
+#: C/index-in.docbook:7818
msgid ""
"Widgets and other objects have many useful properties. Here we show some "
"ways to use them in new and flexible ways, by wrapping them in actions with "
@@ -13348,7 +13331,7 @@ msgstr ""
"它们的方法。例如,将它们包装在<classname>Gio::PropertyAction</classname>动作"
"ä¸æˆ–将它们与<classname>Glib::Binding</classname>绑定。"
-#: C/index-in.docbook:7837
+#: C/index-in.docbook:7824
msgid ""
"To set this up, we add two labels to the header bar in our <filename>window."
"ui</filename> file, named <literal>lines_label</literal> and <literal>lines</"
@@ -13361,20 +13344,7 @@ msgstr ""
"çš„æž„é€ å‡½æ•°ä¸èŽ·å–指å‘它们的指针。接ç€æˆ‘们å‘齿轮èœå•ä¸æ·»åŠ 了一个新的\"Lines\"èœ"
"å•é¡¹ï¼Œè¯¥èœå•é¡¹ä¼šè§¦å‘<literal>show-lines</literal>动作。"
-#: C/index-in.docbook:7854
-#, no-wrap
-msgid ""
-"add_action(Gio::PropertyAction::create(\"show-lines\", m_lines->property_visible()));\n"
-"m_binding_lines_visible = Glib::Binding::bind_property(m_lines->property_visible(),\n"
-" m_lines_label->property_visible());\n"
-"\n"
-msgstr ""
-"add_action(Gio::PropertyAction::create(\"show-lines\", m_lines->property_visible()));\n"
-"m_binding_lines_visible = Glib::Binding::bind_property(m_lines->property_visible(),\n"
-" m_lines_label->property_visible());\n"
-"\n"
-
-#: C/index-in.docbook:7845
+#: C/index-in.docbook:7832
msgid ""
"To make this menu item do something, we create a property action for the "
"<literal>visible</literal> property of the <literal>lines</literal> label, "
@@ -13383,16 +13353,29 @@ msgid ""
"Since we want both labels to appear and disappear together, we bind the "
"<literal>visible</literal> property of the <literal>lines_label</literal> "
"widget to the same property of the <literal>lines</literal> widget. In "
-"<classname>ExampleAppWindow</classname>'s constructor: <_:programlisting-1/>"
+"<classname>ExampleAppWindow</classname>'s constructor:"
msgstr ""
"为了使æ¤èœå•é¡¹èƒ½æ‰§è¡ŒæŸäº›æ“作,我们为<literal>lines</literal>æ ‡ç¾çš„"
"<literal>visible</literal>å±žæ€§åˆ›å»ºäº†ä¸€ä¸ªå±žæ€§åŠ¨ä½œï¼Œå¹¶å°†å…¶æ·»åŠ åˆ°çª—å£åŠ¨ä½œä¸ã€‚è¿™"
"æ ·åšçš„效果是,æ¯å½“åŠ¨ä½œè¢«æ¿€æ´»ï¼Œæ ‡ç¾çš„å¯è§æ€§å°±ä¼šæ”¹å˜ã€‚ç”±äºŽæˆ‘ä»¬å¸Œæœ›ä¸¤ä¸ªæ ‡ç¾çš„å¯"
"è§æ€§ä¸€è‡´ï¼Œå› æ¤æˆ‘们将<literal>lines_label</literal>部件的<literal>visible</"
"literal>属性绑定到<literal>lines</literal>部件的相åŒå±žæ€§ä¸Šã€‚在"
-"<classname>ExampleAppWindow</classname>çš„æž„é€ å‡½æ•°ä¸ï¼š<_:programlisting-1/>"
+"<classname>ExampleAppWindow</classname>çš„æž„é€ å‡½æ•°ä¸ï¼š"
+
+#: C/index-in.docbook:7842
+#, no-wrap
+msgid ""
+"add_action(Gio::PropertyAction::create(\"show-lines\", m_lines->property_visible()));\n"
+"m_binding_lines_visible = Glib::Binding::bind_property(m_lines->property_visible(),\n"
+" m_lines_label->property_visible());\n"
+"\n"
+msgstr ""
+"add_action(Gio::PropertyAction::create(\"show-lines\", m_lines->property_visible()));\n"
+"m_binding_lines_visible = Glib::Binding::bind_property(m_lines->property_visible(),\n"
+" m_lines_label->property_visible());\n"
+"\n"
-#: C/index-in.docbook:7861
+#: C/index-in.docbook:7848
msgid ""
"We also need a function that counts the lines of the currently active tab, "
"and updates the <literal>lines</literal> label. See the full source if you "
@@ -13401,11 +13384,11 @@ msgstr ""
"我们还需è¦ä¸€ä¸ªå‡½æ•°å¯¹å½“å‰æ ‡ç¾é¡µçš„行进行计数,并更新<literal>lines</literal>æ ‡"
"ç¾ã€‚å¦‚æžœä½ å¯¹æ¤æ„Ÿå…´è¶£è¯·é˜…读完整æºä»£ç 。"
-#: C/index-in.docbook:7866
+#: C/index-in.docbook:7853
msgid "This brings our example application to this appearance:"
msgstr "现在我们的示例应用程åºçœ‹èµ·æ¥å¦‚下:"
-#: C/index-in.docbook:7877
+#: C/index-in.docbook:7864
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/buildapp/step8\">Source Code</ulink>"
@@ -13413,11 +13396,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/buildapp/step8\">æºä»£ç </ulink>"
-#: C/index-in.docbook:7882 C/index-in.docbook:7908
+#: C/index-in.docbook:7869 C/index-in.docbook:7895
msgid "Header bar"
msgstr "æ ‡é¢˜æ "
-#: C/index-in.docbook:7884
+#: C/index-in.docbook:7871
msgid ""
"Our application already uses a <classname>Gtk::HeaderBar</classname> instead "
"of a 'normal' window titlebar. The header bar is a direct child of the "
@@ -13428,36 +13411,36 @@ msgstr ""
"æ ã€‚æ ‡é¢˜æ 是窗å£çš„直接å项,其类型为<literal>titlebar</literal>。这些由"
"<filename>window.ui</filename>文件进行设置。"
-#: C/index-in.docbook:7897
-#, no-wrap
-msgid ""
-"Gtk::IconTheme::get_for_display(get_display())->add_resource_path(\"/org/gtkmm/exampleapp\");\n"
-"set_icon_name(\"exampleapp\");\n"
-"\n"
-msgstr ""
-"Gtk::IconTheme::get_for_display(get_display())->add_resource_path(\"/org/gtkmm/exampleapp\");\n"
-"set_icon_name(\"exampleapp\");\n"
-"\n"
-
-#: C/index-in.docbook:7891
+#: C/index-in.docbook:7878
msgid ""
"Here we'll just make two small changes to the header bar. The "
"<literal>decoration-layout</literal> property is set in the <filename>window."
"ui</filename> file, to show only the close button, and hide the minimize and "
"maximize buttons. We also include an icon in the resource file, and set up "
"this icon as the window icon. In <classname>ExampleAppWindow</classname>'s "
-"constructor: <_:programlisting-1/>"
+"constructor:"
msgstr ""
"åœ¨è¿™é‡Œæˆ‘ä»¬å¯¹æ ‡é¢˜æ 进行了两个å°çš„更改。<literal>decoration-layout</literal>属"
"性在<filename>window.ui</filename>文件ä¸è®¾ç½®ï¼Œä½¿æ ‡é¢˜æ åªæ˜¾ç¤ºå…³é—按钮,并éšè—"
"最å°åŒ–和最大化按钮。我们还在资æºæ–‡ä»¶ä¸åŒ…å«äº†ä¸€ä¸ªå›¾æ ‡ï¼Œå¹¶å°†å…¶è®¾ç½®ä¸ºçª—å£å›¾æ ‡ã€‚"
-"在<classname>ExampleAppWindow</classname>çš„æž„é€ å‡½æ•°ä¸ï¼š<_:programlisting-1/>"
+"在<classname>ExampleAppWindow</classname>çš„æž„é€ å‡½æ•°ä¸ï¼š"
+
+#: C/index-in.docbook:7885
+#, no-wrap
+msgid ""
+"Gtk::IconTheme::get_for_display(get_display())->add_resource_path(\"/org/gtkmm/exampleapp\");\n"
+"set_icon_name(\"exampleapp\");\n"
+"\n"
+msgstr ""
+"Gtk::IconTheme::get_for_display(get_display())->add_resource_path(\"/org/gtkmm/exampleapp\");\n"
+"set_icon_name(\"exampleapp\");\n"
+"\n"
-#: C/index-in.docbook:7903
+#: C/index-in.docbook:7890
msgid "Here is how the application now looks:"
msgstr "现在应用程åºçœ‹èµ·æ¥å¦‚下所示:"
-#: C/index-in.docbook:7914
+#: C/index-in.docbook:7901
msgid ""
"The <filename>window.ui</filename> file sets a header bar title, but this "
"title is not shown. That's because the stack switcher is a child of type "
@@ -13468,7 +13451,7 @@ msgstr ""
"ä¸ºå †åˆ‡æ¢å™¨æ˜¯<literal>title</literal>çš„å类型。æ¤æ—¶å †åˆ‡æ¢å™¨æˆä¸ºäº†è‡ªå®šä¹‰æ ‡é¢˜å¹¶"
"å°†æ£å¸¸çš„æ ‡é¢˜æ ‡ç¾éšè—。"
-#: C/index-in.docbook:7920
+#: C/index-in.docbook:7907
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/buildapp/step9\">Source Code</ulink>"
@@ -13476,11 +13459,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/buildapp/step9\">æºä»£ç </ulink>"
-#: C/index-in.docbook:7927
+#: C/index-in.docbook:7914
msgid "Contributing"
msgstr "贡献"
-#: C/index-in.docbook:7929
+#: C/index-in.docbook:7916
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 "
@@ -13491,7 +13474,7 @@ msgstr ""
"<application>gtkmm</application>没有文档的部分有所了解,请考虑帮助编写/翻译本"
"文档。"
-#: C/index-in.docbook:7935
+#: C/index-in.docbook:7922
msgid ""
"Ideally, we would like you to <ulink url=\"https://gitlab.gnome.org/GNOME/";
"gtkmm-documentation/-/merge_requests\"> provide a merge request</ulink> to "
@@ -13503,7 +13486,7 @@ msgstr ""
"C/index-in.docbook</filename>æä¾›MR。该文件ä½äºŽGNOMEçš„gitlab <literal>gtkmm-"
"documentation</literal>模å—ä¸ã€‚"
-#: C/index-in.docbook:7941
+#: C/index-in.docbook:7928
msgid ""
"If you do decide to contribute, please post your contribution to the "
"<application>gtkmm</application> mailing list at <ulink url=\"mailto:gtkmm-";
@@ -13522,11 +13505,11 @@ msgstr ""
"å…è´¹çš„ï¼Œä½ æ·»åŠ æ‰€æœ‰å†…å®¹ä¹Ÿéœ€è¦æ˜¯å…费的。也就是说人们必须能够在程åºä¸ä½¿ç”¨ç¤ºä¾‹çš„"
"任何部分,以åŠè‡ªç”±åˆ†å‘本文档的副本。"
-#: C/index-in.docbook:7954
+#: C/index-in.docbook:7941
msgid "The RefPtr smartpointer"
msgstr "RefPtr智能指针"
-#: C/index-in.docbook:7955
+#: C/index-in.docbook:7942
msgid ""
"<classname>Glib::RefPtr</classname> is a smartpointer. Specifically, it is a "
"reference-counting smartpointer. You might be familiar with <classname>std::"
@@ -13551,7 +13534,7 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/glibmm/-/issues/24\";>问题24</"
"ulink>)。"
-#: C/index-in.docbook:7966
+#: C/index-in.docbook:7953
msgid ""
"<ulink url=\"http://developer.gnome.org/glibmm/unstable/classGlib_1_1RefPtr.";
"html\">Reference</ulink>"
@@ -13559,16 +13542,16 @@ msgstr ""
"<ulink url=\"http://developer.gnome.org/glibmm/unstable/classGlib_1_1RefPtr.";
"html\">å‚考</ulink>"
-#: C/index-in.docbook:7968
+#: C/index-in.docbook:7955
msgid ""
"A smartpointer acts much like a normal pointer. Here are a few examples."
msgstr "智能指针的行为很åƒæ™®é€šæŒ‡é’ˆã€‚è¿™é‡Œæœ‰å‡ ä¸ªä¾‹å。"
-#: C/index-in.docbook:7971
+#: C/index-in.docbook:7958
msgid "Copying"
msgstr "å¤åˆ¶"
-#: C/index-in.docbook:7972
+#: C/index-in.docbook:7959
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 "
@@ -13577,7 +13560,7 @@ msgstr ""
"ä½ å¯ä»¥åƒå¤åˆ¶æ™®é€šæŒ‡é’ˆä¸€æ ·å¤åˆ¶<classname>RefPtr</classname>ï¼Œä½ ä¸éœ€è¦æ‹…å¿ƒåˆ é™¤åº•"
"层实例。"
-#: C/index-in.docbook:7978
+#: C/index-in.docbook:7964
#, no-wrap
msgid ""
"\n"
@@ -13588,7 +13571,7 @@ msgstr ""
"auto refPixbuf = Gdk::Pixbuf::create_from_file(filename);\n"
"auto refPixbuf2 = refPixbuf;\n"
-#: C/index-in.docbook:7983
+#: C/index-in.docbook:7968
msgid ""
"Of course this means that you can store <classname>RefPtr</classname>s in "
"standard containers, such as <classname>std::vector</classname> or "
@@ -13597,7 +13580,7 @@ msgstr ""
"è¿™æ„味ç€ä½ å¯ä»¥å°†<classname>RefPtr</classname>储å˜äºŽæ ‡å‡†å®¹å™¨ä¸ï¼Œä¾‹å¦‚:"
"<classname>std::vector</classname>或<classname>std::list</classname>。"
-#: C/index-in.docbook:7988
+#: C/index-in.docbook:7972
#, no-wrap
msgid ""
"\n"
@@ -13610,18 +13593,18 @@ msgstr ""
"auto refPixbuf = Gdk::Pixbuf::create_from_file(filename);\n"
"listPixbufs.push_back(refPixbuf);\n"
-#: C/index-in.docbook:7996
+#: C/index-in.docbook:7979
msgid "Dereferencing"
msgstr "解引用"
-#: C/index-in.docbook:7997
+#: C/index-in.docbook:7980
msgid ""
"You can dereference a smartpointer with the -> operator, to call the "
"methods of the underlying instance, just like a normal pointer."
msgstr ""
"ä½ å¯ä»¥ä½¿ç”¨->æ“作符解引用智能指针,就åƒä½¿ç”¨æ™®é€šæŒ‡é’ˆè®¿é—®åº•å±‚å®žä¾‹çš„æ–¹æ³•ä¸€æ ·ã€‚"
-#: C/index-in.docbook:8001
+#: C/index-in.docbook:7983
#, no-wrap
msgid ""
"\n"
@@ -13632,7 +13615,7 @@ msgstr ""
"auto refPixbuf = Gdk::Pixbuf::create_from_file(filename);\n"
"auto width = refPixbuf->get_width();\n"
-#: C/index-in.docbook:8006
+#: C/index-in.docbook:7987
msgid ""
"You can also use the * operator and the <methodname>get()</methodname> "
"method to access the underlying instance, but it's usually a bad idea to do "
@@ -13643,7 +13626,7 @@ msgstr ""
"è¿™ä¸æ˜¯ä¸€ä¸ªå¥½ä¸»æ„。除éžä½ éžå¸¸çš„谨慎没有犯错,å¦åˆ™ä½ 将得到一个ä¸å˜åœ¨äºŽå¼•ç”¨è®¡æ•°"
"ä¸çš„指å‘底层实例的指针或底层实例的引用。"
-#: C/index-in.docbook:8012
+#: C/index-in.docbook:7992
#, no-wrap
msgid ""
"\n"
@@ -13654,11 +13637,11 @@ msgstr ""
"auto refPixbuf = Gdk::Pixbuf::create_from_file(filename);\n"
"auto& underlying = *refPixbuf; // Possible, but not recommended\n"
-#: C/index-in.docbook:8019
+#: C/index-in.docbook:7998
msgid "Casting"
msgstr "类型转æ¢"
-#: C/index-in.docbook:8020
+#: C/index-in.docbook:7999
msgid ""
"You can cast <classname>RefPtr</classname>s to base types, just like normal "
"pointers."
@@ -13666,7 +13649,7 @@ msgstr ""
"ä½ å¯ä»¥åƒå¯¹æ£å¸¸æŒ‡é’ˆè¿›è¡Œç±»åž‹è½¬æ¢ä¸€æ ·ï¼Œå°†<classname>RefPtr</classname>转æ¢åˆ°åŸºç¡€"
"类型。"
-#: C/index-in.docbook:8025
+#: C/index-in.docbook:8003
#, no-wrap
msgid ""
"\n"
@@ -13677,7 +13660,7 @@ msgstr ""
"auto refStore = Gtk::TreeStore::create(columns);\n"
"Glib::RefPtr<Gtk::TreeModel> refModel = refStore;\n"
-#: C/index-in.docbook:8030
+#: C/index-in.docbook:8007
msgid ""
"This means that any method which takes a <type>const Glib::RefPtr<"
"BaseType>&</type> argument can also take a <type>const Glib::"
@@ -13688,13 +13671,13 @@ msgstr ""
"数也能接å—<type>const Glib::RefPtr<DerivedType>&</type>对象。æ¤è½¬æ¢"
"å’Œæ™®é€šæŒ‡é’ˆä¸€æ ·æ˜¯éšå¼çš„。"
-#: C/index-in.docbook:8034
+#: C/index-in.docbook:8011
msgid ""
"You can also cast to a derived type, but the syntax is a little different "
"than with a normal pointer."
msgstr "ä½ è¿˜å¯ä»¥å°†å…¶è½¬æ¢ä¸ºæ´¾ç”Ÿç±»åž‹ï¼Œä½†æ˜¯è¯æ³•å’Œæ™®é€šæŒ‡é’ˆçš„è¯æ³•ç•¥æœ‰ä¸åŒã€‚"
-#: C/index-in.docbook:8038
+#: C/index-in.docbook:8014
#, no-wrap
msgid ""
"\n"
@@ -13705,18 +13688,18 @@ msgstr ""
"auto refStore = std::dynamic_pointer_cast<Gtk::TreeStore>(refModel);\n"
"auto refStore2 = std::static_pointer_cast<Gtk::TreeStore>(refModel);\n"
-#: C/index-in.docbook:8045
+#: C/index-in.docbook:8020
msgid "Checking for nullptr"
msgstr "nullptr检查"
-#: C/index-in.docbook:8046
+#: C/index-in.docbook:8021
msgid ""
"Just like normal pointers, you can check whether a <classname>RefPtr</"
"classname> points to anything."
msgstr ""
"å°±åƒæ™®é€šæŒ‡é’ˆä¸€æ ·ï¼Œä½ å¯ä»¥æ£€æŸ¥<classname>RefPtr</classname>是å¦æŒ‡å‘了任何东西。"
-#: C/index-in.docbook:8051
+#: C/index-in.docbook:8025
#, no-wrap
msgid ""
"\n"
@@ -13735,7 +13718,7 @@ msgstr ""
" ...\n"
"}\n"
-#: C/index-in.docbook:8060
+#: C/index-in.docbook:8033
msgid ""
"But unlike normal pointers, <classname>RefPtr</classname>s are automatically "
"initialized to <literal>nullptr</literal> so you don't need to remember to "
@@ -13744,11 +13727,11 @@ msgstr ""
"和普通指针ä¸ä¸€æ ·çš„是,<classname>RefPtr</classname>将会自动åˆå§‹åŒ–为"
"<literal>nullptr</literal>,ä¸éœ€è¦ä½ 自己进行置空。"
-#: C/index-in.docbook:8066
+#: C/index-in.docbook:8039
msgid "Constness"
msgstr "常数"
-#: C/index-in.docbook:8067
+#: C/index-in.docbook:8040
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 "
@@ -13759,7 +13742,7 @@ msgstr ""
"<type>const Something*</type>声明了一个指å‘<type>const Something</type>的指"
"针。这个指针的指å‘是å¯ä»¥è¢«æ”¹å˜çš„,其指å‘çš„<type>Something</type>ä¸èƒ½è¢«æ”¹å˜ã€‚"
-#: C/index-in.docbook:8073
+#: C/index-in.docbook:8046
msgid ""
"Therefore, the <classname>RefPtr</classname> equivalent of <type>Something*</"
"type> for a method parameter is <type>const Glib::RefPtr<Something>"
@@ -13771,7 +13754,7 @@ msgstr ""
"<type>const Something*</type>ç‰æ•ˆçš„是<type>const Glib::RefPtr<const "
"Something>&</type>。"
-#: C/index-in.docbook:8080
+#: C/index-in.docbook:8053
msgid ""
"The <literal>const ... &</literal> around both is just for efficiency, "
"like using <classname>const std::string&</classname> instead of "
@@ -13782,11 +13765,11 @@ msgstr ""
"<classname>const std::string&</classname>而ä¸æ˜¯ç”¨<classname>std::string</"
"classname>ä¸€æ ·ï¼Œè¿™æ˜¯ä¸ºäº†é¿å…ä¸å¿…è¦çš„å¤åˆ¶ã€‚"
-#: C/index-in.docbook:8095
+#: C/index-in.docbook:8068
msgid "Connecting signal handlers"
msgstr "连接到信å·å¤„ç†å‡½æ•°"
-#: C/index-in.docbook:8096
+#: C/index-in.docbook:8069
msgid ""
"<application>gtkmm</application> widget classes have signal accessor "
"methods, such as <methodname>Gtk::Button::signal_clicked()</methodname>, "
@@ -13804,11 +13787,11 @@ msgstr ""
"使用任何函数作为信å·çš„处ç†ç¨‹åºï¼Œä¸è¿‡é€šå¸¸ä½ 会希望使用类的æˆå‘˜å‡½æ•°ã€‚在"
"<application>GTK</application>çš„C代ç ä¸ï¼Œè¿™äº›ä¿¡å·å¤„ç†ç¨‹åºè¢«ç§°ä¸ºå›žè°ƒã€‚"
-#: C/index-in.docbook:8106
+#: C/index-in.docbook:8079
msgid "Here's an example of a signal handler being connected to a signal:"
msgstr "这是将信å·å¤„ç†å‡½æ•°ä¸Žä¿¡å·ç›¸è¿žæŽ¥çš„示例:"
-#: C/index-in.docbook:8111
+#: C/index-in.docbook:8083
#, no-wrap
msgid ""
"\n"
@@ -13839,17 +13822,17 @@ msgstr ""
" button.signal_clicked().connect(sigc::ptr_fun(&on_button_clicked));\n"
"}\n"
-#: C/index-in.docbook:8127
+#: C/index-in.docbook:8098
msgid ""
"There's rather a lot to think about in this (non-functional) code. First "
"let's identify the parties involved:"
msgstr "在æ¤ä»£ç (éžåŠŸèƒ½æ€§ï¼‰ä¸æœ‰å¾ˆå¤šäº‹æƒ…è¦è€ƒè™‘,首先让我们确定代ç 的行为:"
-#: C/index-in.docbook:8135
+#: C/index-in.docbook:8106
msgid "The signal handler is <methodname>on_button_clicked()</methodname>."
msgstr "ä¿¡å·å¤„ç†å‡½æ•°æ˜¯<methodname>on_button_clicked()</methodname>。"
-#: C/index-in.docbook:8141
+#: C/index-in.docbook:8112
msgid ""
"We're hooking it up to the <classname>Gtk::Button</classname> object called "
"<varname>button</varname>."
@@ -13857,7 +13840,7 @@ msgstr ""
"我们将其连接到一个å为<varname>button</varname>çš„<classname>Gtk::Button</"
"classname>对象。"
-#: C/index-in.docbook:8148
+#: C/index-in.docbook:8119
msgid ""
"When the Button emits its <literal>clicked</literal> signal, "
"<methodname>on_button_clicked()</methodname> will be called."
@@ -13865,11 +13848,11 @@ msgstr ""
"当<varname>button</varname>å‘出<literal>clicked</literal>ä¿¡å·æ—¶ï¼Œ"
"<methodname>on_button_clicked()</methodname>将被调用。"
-#: C/index-in.docbook:8156
+#: C/index-in.docbook:8127
msgid "Now let's look at the connection again:"
msgstr "现在,我们å†æ¬¡çœ‹ä¸€ä¸‹è¿žæŽ¥ï¼š"
-#: C/index-in.docbook:8161
+#: C/index-in.docbook:8131
#, no-wrap
msgid ""
"\n"
@@ -13882,7 +13865,7 @@ msgstr ""
" button.signal_clicked().connect(sigc::ptr_fun(&on_button_clicked));\n"
" ...\n"
-#: C/index-in.docbook:8168
+#: C/index-in.docbook:8137
msgid ""
"Note that we don't pass a pointer to <methodname>on_button_clicked()</"
"methodname> directly to the signal's <methodname>connect()</methodname> "
@@ -13894,7 +13877,7 @@ msgstr ""
"<function>sigc::ptr_fun()</function>å¹¶å°†å…¶è¿”å›žå€¼ä¼ é€’ç»™<methodname>connect()</"
"methodname>。"
-#: C/index-in.docbook:8175
+#: C/index-in.docbook:8144
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 "
@@ -13908,11 +13891,11 @@ msgstr ""
"数对象或是函å。<function>sigc::ptr_fun()</function>为独立函数或é™æ€æˆå‘˜å‡½æ•°"
"生æˆæ§½ã€‚<function>sigc::mem_fun()</function>为特定实例的æˆå‘˜å‡½æ•°ç”Ÿæˆæ§½ã€‚"
-#: C/index-in.docbook:8184
+#: C/index-in.docbook:8153
msgid "Here's a slightly larger example of slots in action:"
msgstr "这是一个在动作ä¸ä½¿ç”¨æ§½çš„较大示例:"
-#: C/index-in.docbook:8189
+#: C/index-in.docbook:8157
#, no-wrap
msgid ""
"\n"
@@ -13949,14 +13932,14 @@ msgstr ""
" button.signal_clicked().connect( sigc::mem_fun(some_object, &some_class::on_button_clicked) );\n"
"}\n"
-#: C/index-in.docbook:8208
+#: C/index-in.docbook:8175
msgid ""
"The first call to <methodname>connect()</methodname> is just like the one we "
"saw last time; nothing new here."
msgstr ""
"第一个<methodname>connect()</methodname>调用与我们之å‰çœ‹åˆ°çš„没有什么区别。"
-#: C/index-in.docbook:8211
+#: C/index-in.docbook:8178
msgid ""
"The next is more interesting. <function>sigc::mem_fun()</function> is called "
"with two arguments. The first argument is <parameter>some_object</"
@@ -13973,7 +13956,7 @@ msgstr ""
"调用指定对象上函数指针所指å‘çš„æˆå‘˜å‡½æ•°ï¼Œåœ¨è¿™ä¸ªæƒ…况下调用的是"
"<methodname>some_object.on_button_clicked()</methodname>。"
-#: C/index-in.docbook:8221
+#: C/index-in.docbook:8188
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 "
@@ -13984,7 +13967,7 @@ msgstr ""
"<methodname>connect()</methodname>。所以当该按钮被点击时,这两个信å·å¤„ç†å‡½æ•°"
"都将被调用。"
-#: C/index-in.docbook:8228
+#: C/index-in.docbook:8195
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 "
@@ -13998,11 +13981,11 @@ msgstr ""
"函数与期望所调用函数ä¸æŽ¥å—å‚æ•°çš„ä¿¡å·ç›¸å…³è”ï¼Œå½“ç„¶ä½ å¯ä»¥é€šè¿‡ä½¿ç”¨"
"<function>sigc::bind()</function>之类的适é…器在一定程度上绕过这个é™åˆ¶ã€‚"
-#: C/index-in.docbook:8240
+#: C/index-in.docbook:8207
msgid "Writing signal handlers"
msgstr "编写信å·å¤„ç†å‡½æ•°"
-#: C/index-in.docbook:8242
+#: C/index-in.docbook:8209
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 "
@@ -14013,7 +13996,7 @@ msgstr ""
"ä»¶ã€‚è¿™æ˜¯ä¸€ä¸ªä½ å¯èƒ½åœ¨<application>gtkmm</application>头文件ä¸çœ‹åˆ°çš„ä¿¡å·å£°æ˜Žç¤º"
"例:"
-#: C/index-in.docbook:8249
+#: C/index-in.docbook:8215
#, no-wrap
msgid ""
"\n"
@@ -14022,7 +14005,7 @@ msgstr ""
"\n"
"Glib::SignalProxy<bool(Gtk::DirectionType)> signal_focus()\n"
-#: C/index-in.docbook:8254
+#: C/index-in.docbook:8219
msgid ""
"Other than the signal's name (<literal>focus</literal>), the template "
"arguments are important to note here. The first argument, <type>bool</type>, "
@@ -14036,7 +14019,7 @@ msgstr ""
"括å·ä¸çš„<type>Gtk::DirectionType</type>表示信å·æ‰€æœŸæœ›è°ƒç”¨çš„函数的第一个也是唯"
"一一个å‚数的类型。通过查看å‚è€ƒæ–‡æ¡£ä½ è¿˜å¯ä»¥çœ‹åˆ°å‚æ•°çš„å称。"
-#: C/index-in.docbook:8263
+#: C/index-in.docbook:8228
msgid ""
"The same principles apply for signals which have more arguments. Here's one "
"with three (taken from <filename><gtkmm/textbuffer.h></filename>):"
@@ -14044,7 +14027,7 @@ msgstr ""
"对于接å—期望调用的函数有更多å‚æ•°çš„ä¿¡å·ä¹Ÿæ˜¯ä¸€æ ·çš„阅读规则。以下声明å–自"
"<filename><gtkmm/textbuffer.h></filename>:"
-#: C/index-in.docbook:8269
+#: C/index-in.docbook:8233
#, no-wrap
msgid ""
"\n"
@@ -14053,7 +14036,7 @@ msgstr ""
"\n"
"Glib::SignalProxy<void(TextBuffer::iterator&, const Glib::ustrin&, int)> signal_insert();\n"
-#: C/index-in.docbook:8274
+#: C/index-in.docbook:8237
msgid ""
"It follows the same form. The first type is <type>void</type>, so that "
"should be our signal handler's return type. The following three types are "
@@ -14064,7 +14047,7 @@ msgstr ""
"type>,括å·å†…三ç§ç±»åž‹ä¸ºå‡½æ•°çš„三个å‚数类型。所以我们的信å·å¤„ç†å‡½æ•°åŽŸåž‹å¯èƒ½å¦‚下"
"所示:"
-#: C/index-in.docbook:8282
+#: C/index-in.docbook:8244
#, no-wrap
msgid ""
"\n"
@@ -14073,16 +14056,16 @@ msgstr ""
"\n"
"void on_insert(TextBuffer::iterator& pos, const Glib::ustring& text, int bytes)\n"
-#: C/index-in.docbook:8289
+#: C/index-in.docbook:8250
msgid "Disconnecting signal handlers"
msgstr "æ–开信å·å¤„ç†å‡½æ•°"
-#: C/index-in.docbook:8291
+#: C/index-in.docbook:8252
msgid ""
"Let's take another look at a Signal's <literal>connect</literal> method:"
msgstr "让我们å†æ¥çœ‹çœ‹ä¿¡å·çš„<literal>connect</literal>æˆå‘˜å‡½æ•°ï¼š"
-#: C/index-in.docbook:8296
+#: C/index-in.docbook:8256
#, no-wrap
msgid ""
"\n"
@@ -14091,7 +14074,7 @@ msgstr ""
"\n"
"sigc::connection signal<void(int)>::connect(const sigc::slot<void(int)>&);\n"
-#: C/index-in.docbook:8301
+#: C/index-in.docbook:8260
msgid ""
"The returned <classname>sigc::connection</classname> can be used to control "
"the connection. By keeping a connection object you can disconnect its "
@@ -14102,11 +14085,11 @@ msgstr ""
"连接对象就å¯ä»¥æ–开与其相关è”çš„ä¿¡å·å¤„ç†å‡½æ•°çš„è¿žæŽ¥ã€‚è‹¥ä½ æƒ³å¦‚æ¤åšï¼Œåªéœ€å¯¹å¯¹è±¡è°ƒ"
"用<methodname>sigc::connection::disconnect()</methodname>æˆå‘˜å‡½æ•°å³å¯ã€‚"
-#: C/index-in.docbook:8309
+#: C/index-in.docbook:8268
msgid "Overriding default signal handlers"
msgstr "覆写默认信å·å¤„ç†å‡½æ•°"
-#: C/index-in.docbook:8311
+#: C/index-in.docbook:8270
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 "
@@ -14115,7 +14098,7 @@ msgstr ""
"到现在为æ¢ï¼Œä½ å·²ç»å¦ä¼šäº†é€šè¿‡å°†è‡ªå®šä¹‰çš„ä¿¡å·å¤„ç†å‡½æ•°è¿žæŽ¥åˆ°ä¿¡å·æ¥å“应按钮按下ç‰"
"动作。这是一ç§å¥½æ–¹æ³•ï¼Œä½†ä¸æ˜¯å”¯ä¸€çš„方法。"
-#: C/index-in.docbook:8318
+#: C/index-in.docbook:8277
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 "
@@ -14125,7 +14108,7 @@ msgstr ""
"ä½ è¿˜å¯ä»¥åˆ›å»ºä¸€ä¸ªä»Žéƒ¨ä»¶ç»§æ‰¿è€Œæ¥çš„新类,然åŽè¦†ç›–默认的信å·å¤„ç†å‡½æ•°ï¼ˆä¾‹å¦‚,"
"Button::on_clicked()ï¼‰ï¼Œè¿™æ ·ä½ å°±å¯ä»¥çœåŽ»å°†ä¿¡å·å¤„ç†å‡½æ•°è¿žæŽ¥åˆ°ä¿¡å·çš„æ¥éª¤ã€‚"
-#: C/index-in.docbook:8325
+#: C/index-in.docbook:8284
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 "
@@ -14139,7 +14122,7 @@ msgstr ""
"个对象处ç†åŒä¸€ä¸ªä¿¡å·æˆ–者需è¦ä¸€ä¸ªä¿¡å·å¤„ç†å‡½æ•°å¤„ç†ä¸åŒçš„对象的信å·çš„时候会很ä¸"
"方便。"
-#: C/index-in.docbook:8330
+#: C/index-in.docbook:8289
msgid ""
"<application>gtkmm</application> classes are designed with overriding in "
"mind; they contain virtual member methods specifically intended to be "
@@ -14148,11 +14131,11 @@ msgstr ""
"<application>gtkmm</application>类在设计的时候已ç»è€ƒè™‘到了覆写;它们包å«äº†ä¸“"
"门用于被覆写的虚æˆå‘˜å‡½æ•°ã€‚"
-#: C/index-in.docbook:8335
+#: C/index-in.docbook:8294
msgid "Let's look at an example of overriding:"
msgstr "让我们看一个覆写的例å:"
-#: C/index-in.docbook:8340
+#: C/index-in.docbook:8298
#, no-wrap
msgid ""
"\n"
@@ -14189,7 +14172,7 @@ msgstr ""
" Gtk::Button::on_clicked();\n"
"}\n"
-#: C/index-in.docbook:8359
+#: C/index-in.docbook:8316
msgid ""
"Here we define a new class called <classname>OverriddenButton</classname>, "
"which inherits from <classname>Gtk::Button</classname>. The only thing we "
@@ -14207,7 +14190,7 @@ msgstr ""
"æ•°å°†å—符串\"Hello World\"打å°åˆ°<literal>stdout</literal>,然åŽè°ƒç”¨"
"<classname>Gtk::Button</classname>已被覆写本该被调用的æˆå‘˜å‡½æ•°ã€‚"
-#: C/index-in.docbook:8370
+#: C/index-in.docbook:8327
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</"
@@ -14223,11 +14206,11 @@ msgstr ""
"ä»»ä½•ä½ æƒ³è°ƒç”¨çˆ¶æ–¹æ³•çš„ä½ç½®è°ƒç”¨å®ƒã€‚这对于通过连接到信å·è°ƒç”¨çš„ä¿¡å·å¤„ç†å‡½æ•°æ˜¯æ— 法"
"åšåˆ°çš„。"
-#: C/index-in.docbook:8384
+#: C/index-in.docbook:8341
msgid "Binding extra arguments"
msgstr "绑定é¢å¤–å‚æ•°"
-#: C/index-in.docbook:8391
+#: C/index-in.docbook:8348
#, no-wrap
msgid ""
"\n"
@@ -14236,7 +14219,7 @@ msgstr ""
"\n"
"m_button1.signal_clicked().connect(sigc::bind(sigc::mem_fun(*this, &HelloWorld::on_button_clicked),
\"button 1\"));\n"
-#: C/index-in.docbook:8398
+#: C/index-in.docbook:8355
#, no-wrap
msgid ""
"\n"
@@ -14245,7 +14228,7 @@ msgstr ""
"\n"
"void on_button_clicked(const Glib::ustring& data);\n"
-#: C/index-in.docbook:8385
+#: C/index-in.docbook:8342
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 "
@@ -14267,7 +14250,7 @@ msgstr ""
"æ·»åŠ é¢å¤–çš„å‚æ•°:<_:programlisting-2/>。当然,æ£å¸¸çš„\"clicked\"ä¿¡å·å¤„ç†å‡½æ•°æ˜¯æ²¡"
"有å‚数的。"
-#: C/index-in.docbook:8403
+#: C/index-in.docbook:8360
msgid ""
"<function>sigc::bind()</function> is not commonly used, but you might find "
"it helpful sometimes. If you are familiar with <application>GTK</"
@@ -14287,11 +14270,11 @@ msgstr ""
"有效é™ä½Žä»£ç å¤æ‚度。而在<application>gtkmm</application>ä¸æ´¾ç”Ÿéƒ¨ä»¶ç±»å分的简"
"å•ï¼Œæ‰€ä»¥è¿™ç§å¼ºä¾µå…¥å¼çš„写法ä¸å†éœ€è¦äº†ã€‚"
-#: C/index-in.docbook:8415
+#: C/index-in.docbook:8372
msgid "X Event signals"
msgstr "X事件信å·"
-#: C/index-in.docbook:8416
+#: C/index-in.docbook:8373
msgid ""
"The <classname>Widget</classname> class has some special signals which "
"correspond to the underlying X-Windows events. These are suffixed by "
@@ -14302,7 +14285,7 @@ msgstr ""
"<literal>_event</literal>åŽç¼€ã€‚例如:<methodname>Widget::"
"signal_button_press_event()</methodname>。"
-#: C/index-in.docbook:8422
+#: C/index-in.docbook:8379
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</"
@@ -14316,7 +14299,7 @@ msgstr ""
"æ ‡æŒ‡é’ˆçš„åæ ‡ï¼Œè€Œ<literal>button_press_event</literal>ä¿¡å·ä¼šã€‚X事件也用于处ç†"
"按键。"
-#: C/index-in.docbook:8431
+#: C/index-in.docbook:8388
msgid ""
"These signals behave slightly differently. The value returned from the "
"signal handler indicates whether it has fully \"handled\" the event. If the "
@@ -14329,7 +14312,7 @@ msgstr ""
"将会把事件å†æ¬¡å‘é€åˆ°ä¸‹ä¸€ä¸ªä¿¡å·å¤„ç†å‡½æ•°ã€‚如果返回值为<literal>true</literal>则"
"ä¸å†ä¼ æ’ä¿¡å·ä¸å†è°ƒç”¨å…¶ä»–çš„ä¿¡å·å¤„ç†å‡½æ•°ã€‚"
-#: C/index-in.docbook:8436
+#: C/index-in.docbook:8393
msgid ""
"Handling an X event doesn't affect the Widget's other signals. If you handle "
"<literal>button_press_event</literal> for <classname>Gtk::Button</"
@@ -14340,7 +14323,7 @@ msgstr ""
"çš„<literal>button_press_event</literal>ä¿¡å·ï¼Œä½ ä¾æ—§å¯ä»¥å¾—到<literal>clicked</"
"literal>ä¿¡å·ã€‚这两个信å·å°†å‡ 乎于åŒä¸€æ—¶é—´è¢«å‘出。"
-#: C/index-in.docbook:8445
+#: C/index-in.docbook:8402
#, no-wrap
msgid ""
"\n"
@@ -14353,7 +14336,7 @@ msgstr ""
"Gtk::Button button(\"label\");\n"
"button.signal_button_press_event().connect( sigc::ptr_fun(&on_button_press) );\n"
-#: C/index-in.docbook:8451
+#: C/index-in.docbook:8407
msgid ""
"When the mouse is over the button and a mouse button is pressed, "
"<methodname>on_button_press()</methodname> will be called."
@@ -14361,7 +14344,7 @@ msgstr ""
"å½“é¼ æ ‡æ‚¬åœåœ¨é¼ æ ‡ä¸Šæ–¹å¹¶æŒ‰ä¸‹é¼ æ ‡æŒ‰é’®æ—¶ï¼Œ<methodname>on_button_press()</"
"methodname>将被调用。"
-#: C/index-in.docbook:8456
+#: C/index-in.docbook:8412
msgid ""
"<type>GdkEventButton</type> is a structure containing the event's "
"parameters, such as the coordinates of the mouse pointer at the time the "
@@ -14372,20 +14355,11 @@ msgstr ""
"指针的åæ ‡ç‰ä¸€ç³»åˆ—ä¿¡æ¯ã€‚对于ä¸åŒçš„事件,有ä¸åŒçš„<type>GdkEvent</type>结构体类"
"型与之对应。"
-#: C/index-in.docbook:8464
+#: C/index-in.docbook:8420
msgid "Signal Handler sequence"
msgstr "ä¿¡å·å¤„ç†å‡½æ•°åºåˆ—"
-#: C/index-in.docbook:8472
-#, 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/index-in.docbook:8465
+#: C/index-in.docbook:8421
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. "
@@ -14394,15 +14368,24 @@ msgid ""
"being called. To specify that your signal handler should be called before "
"the other signal handlers, so that it will always be called, you can specify "
"<literal>false</literal> for the optional <literal>after</literal> "
-"parameter. For instance, <_:programlisting-1/>"
+"parameter. For instance,"
msgstr ""
"é»˜è®¤æƒ…å†µä¸‹ï¼Œä½ çš„ä¿¡å·å¤„ç†å‡½æ•°å°†äºŽæ‰€æœ‰ä¹‹å‰è¿žæŽ¥åˆ°ä¿¡å·çš„ä¿¡å·å¤„ç†å‡½æ•°ä¹‹åŽè¢«è°ƒç”¨ã€‚"
"但是这对于X事件信å·å¯èƒ½ä¼šå‡ºé—®é¢˜ã€‚例如,现有的信å·å¤„ç†å‡½æ•°æˆ–默认信å·å¤„ç†å‡½æ•°å¦‚"
"果返回了<literal>true</literal>将会åœæ¢äº‹ä»¶ä¼ æ’ï¼Œè¿™æ—¶å€™ä½ çš„ä¿¡å·å¤„ç†å‡½æ•°å°±ä¸ä¼š"
"è¢«è°ƒç”¨ã€‚ä½ å¯ä»¥æŒ‡å®šå¯é€‰å‚æ•°<literal>after</literal>为<literal>false</"
-"literal>ï¼Œè¿™æ ·ä½ çš„ä¿¡å·å¤„ç†å‡½æ•°å°±æ€»æ˜¯ä¼šè¢«è°ƒç”¨ã€‚例如:<_:programlisting-1/>"
+"literal>ï¼Œè¿™æ ·ä½ çš„ä¿¡å·å¤„ç†å‡½æ•°å°±æ€»æ˜¯ä¼šè¢«è°ƒç”¨ã€‚例如:"
+
+#: C/index-in.docbook:8429
+#, 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/index-in.docbook:8476
+#: C/index-in.docbook:8432
msgid ""
"The event is delivered first to the widget the event occurred in. If all "
"signal handlers in that widget return <literal>false</literal> (indicating "
@@ -14414,11 +14397,11 @@ msgstr ""
"<literal>false</literal>。则该信å·å°†è¢«ä¼ æ’到部件的父部件ä¸ã€‚如果åŽç»æ²¡æœ‰äººå¤„"
"ç†äº‹ä»¶ï¼Œä¿¡å·ä¼šä¸€ç›´ä¼ æ’到顶级窗å£éƒ¨ä»¶ã€‚"
-#: C/index-in.docbook:8487
+#: C/index-in.docbook:8443
msgid "Exceptions in signal handlers"
msgstr "ä¿¡å·å¤„ç†å‡½æ•°ä¸çš„异常"
-#: C/index-in.docbook:8488
+#: C/index-in.docbook:8444
msgid ""
"When a program is aborted because of an unhandled C++ exception, it's "
"sometimes possible to use a debugger to find the location where the "
@@ -14428,7 +14411,7 @@ msgstr ""
"当程åºå› 未处ç†C++异常而终æ¢æ—¶ï¼Œæœ‰æ—¶å€™å¯ä»¥ä½¿ç”¨è°ƒè¯•å™¨æŸ¥æ‰¾æŠ›å‡ºå¼‚常的ä½ç½®ã€‚但是如"
"果异常是在信å·å¤„ç†å‡½æ•°ä¸æŠ›å‡ºçš„,这将会比平常困难的多。"
-#: C/index-in.docbook:8493
+#: C/index-in.docbook:8449
msgid ""
"This section describes primarily what you can expect on a Linux system, when "
"you use <ulink url=\"http://www.gnu.org/software/gdb/\";>the gdb debugger</"
@@ -14437,7 +14420,14 @@ msgstr ""
"本å°èŠ‚组è¦ä»‹ç»ä½¿ç”¨<ulink url=\"http://www.gnu.org/software/gdb/\";>gdb调试器</"
"ulink>在Linux系统上调试异常。"
-#: C/index-in.docbook:8500
+#: C/index-in.docbook:8453
+msgid ""
+"First, let's look at a simple example where an exception is thrown from a "
+"normal function (no signal handler)."
+msgstr ""
+"首先让我们看一个简å•çš„示例,其ä¸çš„一个普通函数(éžä¿¡å·å¤„ç†å‡½æ•°ï¼‰æŠ›å‡ºå¼‚常:"
+
+#: C/index-in.docbook:8457
#, no-wrap
msgid ""
"\n"
@@ -14474,15 +14464,7 @@ msgstr ""
" return app->run();\n"
"}\n"
-#: C/index-in.docbook:8497
-msgid ""
-"First, let's look at a simple example where an exception is thrown from a "
-"normal function (no signal handler). <_:programlisting-1/>"
-msgstr ""
-"首先让我们看一个简å•çš„示例,其ä¸çš„一个普通函数(éžä¿¡å·å¤„ç†å‡½æ•°ï¼‰æŠ›å‡ºå¼‚常:<_:"
-"programlisting-1/>"
-
-#: C/index-in.docbook:8521
+#: C/index-in.docbook:8477
#, no-wrap
msgid ""
"\n"
@@ -14505,7 +14487,7 @@ msgstr ""
"#7 0x08048864 in throwSomething () at without_signal.cc:6\n"
"#8 0x0804887d in main (argc=1, argv=0xbfffecd4) at without_signal.cc:12\n"
-#: C/index-in.docbook:8518
+#: C/index-in.docbook:8474
msgid ""
"Here is an excerpt from a <application>gdb</application> session. Only the "
"most interesting parts of the output are shown. <_:programlisting-1/> You "
@@ -14516,7 +14498,14 @@ msgstr ""
"programlisting-1/> ä½ å¯ä»¥çœ‹åˆ°åœ¨<filename>without_signal.cc</filename>的第å…è¡Œ"
"抛出了异常(<code>throw \"Something\";</code>)。"
-#: C/index-in.docbook:8537
+#: C/index-in.docbook:8490
+msgid ""
+"Now let's see what happens when an exception is thrown from a signal "
+"handler. Here's the source code."
+msgstr ""
+"现在,让我们看看从信å·å¤„ç†å‡½æ•°ä¸æŠ›å‡ºå¼‚常会å‘生什么。这是æºä»£ç :"
+
+#: C/index-in.docbook:8494
#, no-wrap
msgid ""
"\n"
@@ -14555,15 +14544,7 @@ msgstr ""
" return app->run();\n"
"}\n"
-#: C/index-in.docbook:8534
-msgid ""
-"Now let's see what happens when an exception is thrown from a signal "
-"handler. Here's the source code. <_:programlisting-1/>"
-msgstr ""
-"现在,让我们看看从信å·å¤„ç†å‡½æ•°ä¸æŠ›å‡ºå¼‚常会å‘生什么。这是æºä»£ç :<_:"
-"programlisting-1/>"
-
-#: C/index-in.docbook:8558
+#: C/index-in.docbook:8514
#, no-wrap
msgid ""
"\n"
@@ -14594,7 +14575,7 @@ msgstr ""
"#13 0x002e1b31 in Gtk::Application::run (this=0x804f300) at application.cc:178\n"
"#14 0x08048ccc in main (argc=1, argv=0xbfffecd4) at with_signal.cc:16\n"
-#: C/index-in.docbook:8556
+#: C/index-in.docbook:8512
msgid ""
"And here's an excerpt from a <application>gdb</application> session. <_:"
"programlisting-1/> The exception is caught in <application>glibmm</"
@@ -14610,7 +14591,15 @@ msgstr ""
"异常都会被<application>glibmm</application>或<application>gtkmm</application>"
"所æ•èŽ·ï¼Œå¹¶ä¸”<application>gdb</application>å°†æ— æ³•çœ‹åˆ°å¼‚å¸¸è¢«æŠ›å‡ºçš„å…·ä½“ä½ç½®ã€‚"
-#: C/index-in.docbook:8581
+#: C/index-in.docbook:8534
+msgid ""
+"To see where the exception is thrown, you can use the <application>gdb</"
+"application> command <userinput>catch throw</userinput>."
+msgstr ""
+"è¦æŸ¥çœ‹å“ªé‡ŒæŠ›å‡ºäº†å¼‚å¸¸ï¼Œä½ å¯ä»¥ä½¿ç”¨<application>gdb</application>çš„"
+"<userinput>catch throw</userinput>命令。"
+
+#: C/index-in.docbook:8538
#, no-wrap
msgid ""
"\n"
@@ -14645,16 +14634,7 @@ msgstr ""
"\n"
"Program received signal SIGTRAP, Trace/breakpoint trap.\n"
-#: C/index-in.docbook:8578
-msgid ""
-"To see where the exception is thrown, you can use the <application>gdb</"
-"application> command <userinput>catch throw</userinput>. <_:programlisting-1/"
-">"
-msgstr ""
-"è¦æŸ¥çœ‹å“ªé‡ŒæŠ›å‡ºäº†å¼‚å¸¸ï¼Œä½ å¯ä»¥ä½¿ç”¨<application>gdb</application>çš„"
-"<userinput>catch throw</userinput>命令。<_:programlisting-1/>"
-
-#: C/index-in.docbook:8602
+#: C/index-in.docbook:8558
#, no-wrap
msgid ""
"\n"
@@ -14675,7 +14655,7 @@ msgstr ""
"(gdb) set pagination off\n"
"(gdb) run\n"
-#: C/index-in.docbook:8598
+#: C/index-in.docbook:8554
msgid ""
"If there are many caught exceptions before the interesting uncaught one, "
"this method can be tedious. It can be automated with the following "
@@ -14689,11 +14669,11 @@ msgstr ""
"programlisting-1/> 这些命令将在æ¯æ¬¡æŠ›å‡ºæ—¶æ‰“å°å›žæº¯ä¿¡æ¯å¹¶ç»§ç»ã€‚通常最åŽä¸€ä¸ªæˆ–第"
"一个<code>throw</code>æ˜¯ä½ æ‰€éœ€è¦çš„。"
-#: C/index-in.docbook:8621
+#: C/index-in.docbook:8577
msgid "Creating your own signals"
msgstr "åˆ›å»ºå±žäºŽä½ çš„ä¿¡å·"
-#: C/index-in.docbook:8622
+#: C/index-in.docbook:8578
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 "
@@ -14704,7 +14684,7 @@ msgstr ""
"èƒ½å¸Œæœ›ä½ è‡ªå·±çš„ç±»ä½¿ç”¨ç›¸åŒçš„æŠ€æœ¯è¿›è¡Œäº¤äº’ã€‚ä½ å¯ä»¥å¾ˆè½»æ¾çš„使用"
"<application>libsigc++</application>库实现这个需求。"
-#: C/index-in.docbook:8628
+#: C/index-in.docbook:8584
msgid ""
"This isn't purely a <application>gtkmm</application> or GUI issue. "
"<application>gtkmm</application> uses <application>libsigc++</application> "
@@ -14718,7 +14698,16 @@ msgstr ""
"å·ï¼Œä½ å¯ä»¥ä½¿ç”¨<classname>sigc::signal<></classname>模版创建属于自己的C+"
"+ä¿¡å·ã€‚"
-#: C/index-in.docbook:8639
+#: C/index-in.docbook:8591
+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:"
+msgstr ""
+"例如,è¦åˆ›å»ºä¸€ä¸ªå‘é€å‚数类型分别为<type>bool</type>å’Œ<type>int</type>çš„ä¿¡å·ï¼Œ"
+"åªéœ€è¦æŒ‰å¦‚下所示声明一个<classname>sigc::signal</classname>å³å¯ï¼š"
+
+#: C/index-in.docbook:8596
#, no-wrap
msgid ""
"\n"
@@ -14727,17 +14716,16 @@ msgstr ""
"\n"
"sigc::signal<void(bool, int)> signal_something;\n"
-#: C/index-in.docbook:8635
+#: C/index-in.docbook:8599
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: <_:programlisting-1/>"
+"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:"
msgstr ""
-"例如,è¦åˆ›å»ºä¸€ä¸ªå‘é€å‚数类型分别为<type>bool</type>å’Œ<type>int</type>çš„ä¿¡å·ï¼Œ"
-"åªéœ€è¦æŒ‰å¦‚下所示声明一个<classname>sigc::signal</classname>å³å¯ï¼š<_:"
-"programlisting-1/>"
+"ä½ å¯ä»¥ç®€å•çš„将信å·å£°æ˜Žä¸ºå…¬æœ‰æˆå‘˜å˜é‡ï¼Œä½†æ˜¯æœ‰äº›äººè®¨åŽŒè¿™ç§å£°æ˜Žï¼Œä»–们更喜欢如下"
+"所示的访问器方法:"
-#: C/index-in.docbook:8647
+#: C/index-in.docbook:8604
#, no-wrap
msgid ""
"\n"
@@ -14774,16 +14762,15 @@ msgstr ""
" return m_signal_something;\n"
"}\n"
-#: C/index-in.docbook:8643
+#: C/index-in.docbook:8622
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: <_:programlisting-1/>"
+"You can then connect to the signal using the same syntax used when "
+"connecting to <application>gtkmm</application> signals. For instance,"
msgstr ""
-"ä½ å¯ä»¥ç®€å•çš„将信å·å£°æ˜Žä¸ºå…¬æœ‰æˆå‘˜å˜é‡ï¼Œä½†æ˜¯æœ‰äº›äººè®¨åŽŒè¿™ç§å£°æ˜Žï¼Œä»–们更喜欢如下"
-"所示的访问器方法:<_:programlisting-1/>"
+"然åŽä½ å¯ä»¥ä½¿ç”¨ä¸Žè¿žæŽ¥<application>gtkmm</application>ä¿¡å·ä¸€æ ·çš„è¯æ³•è¿žæŽ¥åˆ°è¿™ä¸ª"
+"ä¿¡å·ã€‚例如:"
-#: C/index-in.docbook:8669
+#: C/index-in.docbook:8626
#, no-wrap
msgid ""
"\n"
@@ -14794,20 +14781,11 @@ msgstr ""
"server.signal_something().connect(\n"
" sigc::mem_fun(client, &Client::on_server_something) );\n"
-#: C/index-in.docbook:8666
-msgid ""
-"You can then connect to the signal using the same syntax used when "
-"connecting to <application>gtkmm</application> signals. For instance, <_:"
-"programlisting-1/>"
-msgstr ""
-"然åŽä½ å¯ä»¥ä½¿ç”¨ä¸Žè¿žæŽ¥<application>gtkmm</application>ä¿¡å·ä¸€æ ·çš„è¯æ³•è¿žæŽ¥åˆ°è¿™ä¸ª"
-"ä¿¡å·ã€‚例如:<_:programlisting-1/>"
-
-#: C/index-in.docbook:8677
+#: C/index-in.docbook:8633
msgid "This is a full working example that defines and uses custom signals."
msgstr "这是一个完整的定义了并使用了自定义信å·çš„示例。"
-#: C/index-in.docbook:8681
+#: C/index-in.docbook:8637
msgid ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/signals/custom/\">Source Code</ulink>"
@@ -14815,11 +14793,11 @@ msgstr ""
"<ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/";
"examples/book/signals/custom/\">æºä»£ç </ulink>"
-#: C/index-in.docbook:8689
+#: C/index-in.docbook:8645
msgid "Comparison with other signalling systems"
msgstr "与其他信å·ç³»ç»Ÿçš„比较"
-#: C/index-in.docbook:8690
+#: C/index-in.docbook:8646
msgid ""
"(An aside: <application>GTK</application> calls this scheme \"signalling\"; "
"the sharp-eyed reader with GUI toolkit experience will note that this same "
@@ -14841,7 +14819,7 @@ msgstr ""
"<application>gtkmm</application>ä¸ï¼Œä¿¡å·å¯¹è±¡æ‰®æ¼”广æ’者的角色,而槽扮演监å¬è€…"
"的角色。"
-#: C/index-in.docbook:8704
+#: C/index-in.docbook:8660
msgid ""
"<application>gtkmm</application> signal handlers are strongly-typed, whereas "
"<application>GTK</application> C code allows you to connect a callback with "
@@ -14854,7 +14832,7 @@ msgstr ""
"的回调函数,这会导致è¿è¡Œæ—¶å‡ºçŽ°æ®µé”™è¯¯ã€‚并且和<application>Qt</application>ä¸"
"åŒï¼Œ<application>gtkmm</application>ä¸éœ€è¦å¯¹C++è¯è¨€è¿›è¡Œä¿®æ”¹å³å¯è¾¾åˆ°æ¤ç›®çš„。"
-#: C/index-in.docbook:8710
+#: C/index-in.docbook:8666
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 go "
@@ -14866,7 +14844,7 @@ msgstr ""
"言对于高级特性的支æŒç‰¹åˆ«å¼±ï¼Œä½ 需è¦ç¼–写一系列å¤æ‚的代ç æ‰èƒ½åšåˆ°ç»§æ‰¿å’Œé‡è½½ã€‚而"
"在C++ä¸ï¼Œå› 为è¯è¨€æœ¬èº«å°±æ”¯æŒè¿™äº›ç‰¹æ€§ï¼Œæ‰€ä»¥ä½ å¯ä»¥è®©ç¼–译器代为完æˆè‚®è„的工作。"
-#: C/index-in.docbook:8718
+#: C/index-in.docbook:8674
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 "
@@ -14880,11 +14858,11 @@ msgstr ""
"+ä¸è¦†å†™æˆå‘˜å‡½æ•°éžå¸¸ç®€å•ï¼Œå› æ¤ä¸ºäº†ä¿®æ”¹éƒ¨ä»¶çš„æŸä¸ªè¡Œä¸ºè€Œå°†å…¶å类化是完全å¯è¡Œä¸”明"
"智的。"
-#: C/index-in.docbook:8729
+#: C/index-in.docbook:8685
msgid "<application>gtkmm</application> and Win32"
msgstr "<application>gtkmm</application>与Win32"
-#: C/index-in.docbook:8730
+#: C/index-in.docbook:8686
msgid ""
"One of the major advantages of <application>gtkmm</application> is that it "
"is crossplatform. <application>gtkmm</application> programs written on other "
@@ -14895,7 +14873,7 @@ msgstr ""
"çš„<application>gtkmm</application>程åºåªéœ€è¦ä¿®æ”¹å¾ˆå°‘一部分的æºä»£ç å°±å¯ä»¥ä»Ž"
"GNU/Linux移æ¤åˆ°Windows,当然å之亦然。"
-#: C/index-in.docbook:8735
+#: C/index-in.docbook:8691
msgid ""
"<application>gtkmm</application> currently works with the <ulink url="
"\"http://mingw.org/\";>MinGW/GCC compiler</ulink> with a compiler version "
@@ -14918,7 +14896,7 @@ msgstr ""
"情况下å¯ä»¥æ··åˆä½¿ç”¨VS2017å’Œ2019完æˆæž„建,但是在构建带有-mmä¾èµ–çš„"
"<application>gtkmm</application>æ—¶åƒä¸‡ä¸è¦å¦‚æ¤åšã€‚"
-#: C/index-in.docbook:8748
+#: C/index-in.docbook:8704
msgid ""
"Refer to the <ulink url=\"https://gitlab.gnome.org/GNOME/gtkmm/tree/master/";
"README.win32\">README.win32</ulink>, as well as the <ulink url=\"https://";
@@ -14931,11 +14909,11 @@ msgstr ""
"GNOME/gtkmm/tree/master/MSVC_NMake/README\">自述文件</ulink>ä¸å…³äºŽå¦‚何在"
"WIndwos上构建<application>gtkmm</application>的说明。"
-#: C/index-in.docbook:8755
+#: C/index-in.docbook:8711
msgid "Working with gtkmm's Source Code"
msgstr "使用gtkmmæºä»£ç "
-#: C/index-in.docbook:8756
+#: C/index-in.docbook:8712
msgid ""
"If you are interested in helping out with the development of "
"<application>gtkmm</application>, or fixing a bug in <application>gtkmm</"
@@ -14950,7 +14928,7 @@ msgstr ""
"application>çš„å¼€å‘ç‰ˆã€‚ä½†æ˜¯ä½ ä¸åº”该将开å‘ç‰ˆæœ¬è¦†ç›–ç¨³å®šç‰ˆã€‚ä½ åº”è¯¥é€‰æ‹©å·²å˜åœ¨"
"<application>gtkmm</application>版本的目录外的路径安装开å‘版。"
-#: C/index-in.docbook:8763
+#: C/index-in.docbook:8719
msgid ""
"The easiest way to do this is using <ulink url=\"https://wiki.gnome.org/";
"Projects/Jhbuild\">jhbuild</ulink>. <application>jhbuild</application> is a "
@@ -14971,7 +14949,7 @@ msgstr ""
"最新信æ¯ï¼Œè¯·å‚考<ulink url=\"http://developer.gnome.org/jhbuild/unstable/";
"\">jhbuild手册</ulink>。"
-#: C/index-in.docbook:8775
+#: C/index-in.docbook:8731
msgid ""
"Note that to build <application>gtkmm</application> from git, you'll often "
"need to build many of its dependencies from git as well. "
@@ -14985,7 +14963,7 @@ msgstr ""
"和安装这些ä¾èµ–ä¾æ—§éœ€è¦ç›¸å½“长的时间。在这过程ä¸ä½ å¯èƒ½ä¼šé‡åˆ°æž„å»ºé—®é¢˜ï¼Œå› ä¸º"
"master分支并ä¸æ€»æ˜¯èƒ½æž„建æˆåŠŸçš„,当然构建问题通常很快就会被修å¤ã€‚"
-#: C/index-in.docbook:8783
+#: C/index-in.docbook:8739
msgid ""
"<application>gnome-build-meta</application> is an alternative to "
"<application>jhbuild</application>. It is described at the <ulink url="
@@ -14998,16 +14976,16 @@ msgstr ""
"BuildSystemComponent\">构建系统组件</ulink>维基页é¢å¯¹å…¶è¿›è¡Œäº†è¯¦ç»†çš„介ç»ï¼Œåœ¨è¿™"
"里我们åªä»‹ç»<application>jhbuild</application>。"
-#: C/index-in.docbook:8790
+#: C/index-in.docbook:8746
msgid "Setting up jhbuild"
msgstr "设置jhbuild"
-#: C/index-in.docbook:8799
+#: C/index-in.docbook:8755
#, no-wrap
msgid "$ cp examples/sample.jhbuildrc ~/.config/jhbuildrc"
msgstr "$ cp examples/sample.jhbuildrc ~/.config/jhbuildrc"
-#: C/index-in.docbook:8791
+#: C/index-in.docbook:8747
msgid ""
"To set up <application>jhbuild</application>, follow the basic installation "
"instructions from the <ulink url=\"http://developer.gnome.org/jhbuild/";
@@ -15023,39 +15001,39 @@ msgstr ""
"application>目录执行以下命令将示例<application>jhbuild</application>é…置文件"
"å¤åˆ¶åˆ°ä½ 的主目录ä¸ï¼š<_:screen-1/>"
-#: C/index-in.docbook:8805
-#, no-wrap
-msgid "moduleset = 'gnome-suites-core-deps-latest'"
-msgstr "moduleset = 'gnome-suites-core-deps-latest'"
-
-#: C/index-in.docbook:8801
+#: C/index-in.docbook:8757
msgid ""
"The <application>gtkmm</application> module is defined in the "
"<filename>gnome-suites-core-deps-latest.modules</filename> moduleset. So "
"edit your <filename>jhbuildrc</filename> file and set your moduleset setting "
-"like so: <_:programlisting-1/>"
+"like so:"
msgstr ""
"<application>gtkmm</application>模å—在文件<filename>gnome-suites-core-deps-"
"latest.modules</filename>ä¸çš„模å—组(moduleset)å®šä¹‰ã€‚å› æ¤ä½ 需è¦æŒ‰ä»¥ä¸‹æ–¹å¼ç¼–辑"
-"ä½ çš„<filename>jhbuildrc</filename>æ–‡ä»¶å¹¶è®¾ç½®ä½ çš„æ¨¡å—组:<_:programlisting-1/>"
+"ä½ çš„<filename>jhbuildrc</filename>æ–‡ä»¶å¹¶è®¾ç½®ä½ çš„æ¨¡å—组:"
-#: C/index-in.docbook:8812
+#: C/index-in.docbook:8762
#, no-wrap
-msgid "modules = [ 'gtkmm' ]"
-msgstr "modules = [ 'gtkmm' ]"
+msgid "moduleset = 'gnome-suites-core-deps-latest'"
+msgstr "moduleset = 'gnome-suites-core-deps-latest'"
-#: C/index-in.docbook:8807
+#: C/index-in.docbook:8763
msgid ""
"After setting the correct moduleset, you need to tell <application>jhbuild</"
"application> which module or modules to build. To build <application>gtkmm</"
"application> and all of its dependencies, set <varname>modules</varname> "
-"like so: <_:programlisting-1/>"
+"like so:"
msgstr ""
"æ£ç¡®è®¾ç½®æ¨¡å—组之åŽï¼Œä½ 需è¦å‘Šè¯‰<application>jhbuild</application>哪些模å—需è¦"
"构建。想è¦æž„建<application>gtkmm</application>以åŠæ‰€æœ‰ç›¸å…³çš„ä¾èµ–项,请按如下"
-"所示设置<varname>modules</varname>:<_:programlisting-1/>"
+"所示设置<varname>modules</varname>:"
+
+#: C/index-in.docbook:8769
+#, no-wrap
+msgid "modules = [ 'gtkmm' ]"
+msgstr "modules = [ 'gtkmm' ]"
-#: C/index-in.docbook:8814
+#: C/index-in.docbook:8770
msgid ""
"You can build several modules by setting the <varname>modules</varname> "
"variable to a meta-package, e.g. <literal>meta-gnome-core</literal>, or "
@@ -15070,11 +15048,11 @@ msgstr ""
"哪些模å—ã€‚ä½ å§‹ç»ˆå¯ä»¥ç”¨å‘½ä»¤è¡ŒæŒ‡å®šå…¶ä»–模å—组æ¥æž„建其他模å—组(例如:"
"<command>jhbuild build gtkmm</command>)。"
-#: C/index-in.docbook:8824
+#: C/index-in.docbook:8780
msgid "Setting a prefix"
msgstr "设置å‰ç¼€"
-#: C/index-in.docbook:8825
+#: C/index-in.docbook:8781
msgid ""
"By default, <application>jhbuild</application>'s configuration is configured "
"to install all software built with <application>jhbuild</application> under "
@@ -15091,7 +15069,7 @@ msgstr ""
"å‰ç¼€è®¾ç½®ä¸º<filename>/usr</filename>ã€‚å¦‚æžœä½ éµå¾ªjhbuild的说明进行æ“作,该å‰ç¼€"
"å±žäºŽä½ çš„ç”¨æˆ·ï¼Œä½ å°†æ— éœ€ä»¥<literal>root</literal>用户æƒé™è¿è¡Œjhbuild。"
-#: C/index-in.docbook:8837
+#: C/index-in.docbook:8793
msgid ""
"When you downloaded <application>jhbuild</application> from the git "
"repository, you got a number of <filename>.modules</filename> files, "
@@ -15108,12 +15086,12 @@ msgstr ""
"<filename>.jhbuildrc</filename>文件ä¸å®šä¹‰<varname>use_local_modulesets</"
"varname>以修改æ¤è¡Œä¸ºã€‚"
-#: C/index-in.docbook:8848
+#: C/index-in.docbook:8804
msgid ""
"Installing and Using the git version of <application>gtkmm</application>"
msgstr "安装和使用<application>gtkmm</application>的git版本"
-#: C/index-in.docbook:8856
+#: C/index-in.docbook:8812
#, no-wrap
msgid ""
"$ jhbuild bootstrap\n"
@@ -15122,7 +15100,7 @@ msgstr ""
"$ jhbuild bootstrap\n"
"$ jhbuild sanitycheck"
-#: C/index-in.docbook:8849
+#: C/index-in.docbook:8805
msgid ""
"Once you've configured <application>jhbuild</application> as described "
"above, building <application>gtkmm</application> should be relatively "
@@ -15136,14 +15114,14 @@ msgstr ""
"application>æ—¶ï¼Œä½ åº”è¿è¡Œä»¥ä¸‹å‘½ä»¤åºåˆ—,以确ä¿<application>jhbuild</"
"application>拥有所有所需的工具以åŠéªŒè¯è®¾ç½®æ˜¯å¦æ£ç¡®ï¼š<_:screen-1/>"
-#: C/index-in.docbook:8860
+#: C/index-in.docbook:8816
msgid ""
"Installing <application>gtkmm</application> with <application>jhbuild</"
"application>"
msgstr ""
"用<application>jhbuild</application>安装<application>gtkmm</application>"
-#: C/index-in.docbook:8861
+#: C/index-in.docbook:8817
msgid ""
"If everything worked correctly, you should be able to build "
"<application>gtkmm</application> and all of its dependencies from git by "
@@ -15156,7 +15134,7 @@ msgstr ""
"那也å¯ä»¥ä½¿ç”¨å‘½ä»¤<command>jhbuild build gtkmm</command>æ¥è¿›è¡Œæž„建)æ¥ä»Žgit构建"
"<application>gtkmm</application>以åŠæ‰€æœ‰æœ‰å…³çš„ä¾èµ–项。"
-#: C/index-in.docbook:8868
+#: C/index-in.docbook:8824
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, "
@@ -15173,11 +15151,11 @@ msgstr ""
"gtkmm</command>é‡æ–°æž„建<application>gtkmm</application>(ä¸éœ€è¦é‡æ–°æž„建相关ä¾"
"赖)。"
-#: C/index-in.docbook:8879
+#: C/index-in.docbook:8835
msgid "Using the git version of <application>gtkmm</application>"
msgstr "使用git版本的<application>gtkmm</application>"
-#: C/index-in.docbook:8880
+#: C/index-in.docbook:8836
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 "
@@ -15200,7 +15178,7 @@ msgstr ""
"有环境å˜é‡çš„shellã€‚çŽ°åœ¨å¦‚æžœä½ å’Œå¾€å¸¸ä¸€æ ·é‡æ–°é…ç½®å¹¶æž„å»ºä½ çš„é¡¹ç›®ï¼Œå®ƒåº”è¯¥é“¾æŽ¥åˆ°æ–°"
"的库。è¦è¿”回之å‰çš„çŽ¯å¢ƒä½ åªéœ€è¦<application>jhbuild</application> shellå³å¯ã€‚"
-#: C/index-in.docbook:8894
+#: C/index-in.docbook:8850
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 "
@@ -15219,11 +15197,11 @@ msgstr ""
"command-name</command>。在这ç§æƒ…况下,命令将在设置了æ£ç¡®çš„环境å˜é‡çš„环境ä¸è¿"
"行,命令退出åŽï¼ŒçŽ¯å¢ƒå°†æ¢å¤åˆ°ä¹‹å‰çš„状æ€ã€‚"
-#: C/index-in.docbook:8911
+#: C/index-in.docbook:8867
msgid "Wrapping C Libraries with gmmproc"
msgstr "使用gmmprocå°è£…C库"
-#: C/index-in.docbook:8912
+#: C/index-in.docbook:8868
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 "
@@ -15235,18 +15213,18 @@ msgstr ""
"库的APIã€‚å› æ¤ï¼Œå¯ä»¥å¾ˆå®¹æ˜“为其他基于glib/Gobject的库创建类似于gtkmmé£Žæ ¼çš„å°"
"装。"
-#: C/index-in.docbook:8917
+#: C/index-in.docbook:8873
msgid ""
"This involves a variety of tools, some of them crufty, but at least they "
"work, and has been used successfully by several projects."
msgstr ""
"这涉åŠåˆ°å¾ˆå¤šå·¥å…·ï¼Œå…¶ä¸æœ‰ä¸€äº›å¾ˆç¬¨é‡ï¼Œä¸è¿‡è¿˜ç®—能用,并且已ç»è¢«å¤šä¸ªé¡¹ç›®ä½¿ç”¨ã€‚"
-#: C/index-in.docbook:8922
+#: C/index-in.docbook:8878
msgid "The build structure"
msgstr "构建结构"
-#: C/index-in.docbook:8923
+#: C/index-in.docbook:8879
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."
@@ -15262,7 +15240,7 @@ msgstr ""
"利用<application>mm-common</application>模å—æ供的构建基础设施。选择一个已ç»"
"å˜åœ¨ç»‘定的模å—作为示例对于开始使用gmmproc很有帮助。"
-#: C/index-in.docbook:8931
+#: C/index-in.docbook:8887
msgid ""
"For instance, let's pretend that we are wrapping a C library called "
"libsomething. It provides a <classname>GObject</classname>-based API with "
@@ -15273,41 +15251,41 @@ msgstr ""
"classname> APIçš„å…·å类型,例如类型å为:<classname>SomeWidget</classname>å’Œ"
"<classname>SomeStuff</classname>。"
-#: C/index-in.docbook:8937
+#: C/index-in.docbook:8893
msgid "Copying the skeleton project"
msgstr "å¤åˆ¶skeleton项目"
-#: C/index-in.docbook:8944
-#, no-wrap
-msgid ""
-"\n"
-" $ git clone https://gitlab.gnome.org/GNOME/mm-common.git\n";
-" $ cp -a mm-common/skeletonmm libsomethingmm\n"
-msgstr ""
-"\n"
-" $ git clone https://gitlab.gnome.org/GNOME/mm-common.git\n";
-" $ cp -a mm-common/skeletonmm libsomethingmm\n"
-
-#: C/index-in.docbook:8939
+#: C/index-in.docbook:8895
msgid ""
"Typically our wrapper library would be called libsomethingmm. We can start "
"by copying the <ulink url=\"https://gitlab.gnome.org/GNOME/mm-common/tree/";
"master/skeletonmm\"> skeleton source tree</ulink> from the <application>mm-"
"common</application> module. Starting with <application>mm-common</"
"application> 1.0.0 this skeleton application is built with the <ulink url="
-"\"https://mesonbuild.com/\";>Meson build system</ulink>. <_:programlisting-1/>"
+"\"https://mesonbuild.com/\";>Meson build system</ulink>."
msgstr ""
"我们å°è£…的库å为libsomethingmm。我们å¯ä»¥ä»Žåœ¨<application>mm-common</"
"application>模å—ä¸å¤åˆ¶<ulink url=\"https://gitlab.gnome.org/GNOME/mm-common/";
"tree/master/skeletonmm\">skeletonæºä»£ç æ ‘</ulink>开始。自<application>mm-"
"common</application> 1.0.0开始skeleton应用程åºä½¿ç”¨<ulink url=\"https://";
-"mesonbuild.com/\">Meson构建系统</ulink>进行构建。<_:programlisting-1/>"
+"mesonbuild.com/\">Meson构建系统</ulink>进行构建。"
-#: C/index-in.docbook:8954
+#: C/index-in.docbook:8901
+#, no-wrap
+msgid ""
+"\n"
+" $ git clone https://gitlab.gnome.org/GNOME/mm-common.git\n";
+" $ cp -a mm-common/skeletonmm libsomethingmm\n"
+msgstr ""
+"\n"
+" $ git clone https://gitlab.gnome.org/GNOME/mm-common.git\n";
+" $ cp -a mm-common/skeletonmm libsomethingmm\n"
+
+#: C/index-in.docbook:8910
msgid "<filename>libsomethingmm</filename>: The top-level directory."
msgstr "<filename>libsomethingmm</filename>:顶级目录。"
-#: C/index-in.docbook:8956
+#: C/index-in.docbook:8912
msgid ""
"<filename>libsomething</filename>: Contains the main include file and the "
"pkg-config .pc file."
@@ -15315,16 +15293,16 @@ msgstr ""
"<filename>libsomething</filename>:包å«ä¸»è¦çš„被包å«æ–‡ä»¶(被#include的文件)和由"
"<application>pkg-config</application>所需的.pc文件。"
-#: C/index-in.docbook:8958
+#: C/index-in.docbook:8914
msgid "<filename>src</filename>: Contains .hg and .ccg source files."
msgstr "<filename>src</filename>:包å«.hgå’Œ.ccgæºæ–‡ä»¶ã€‚"
-#: C/index-in.docbook:8959
+#: C/index-in.docbook:8915
msgid ""
"<filename>libsomethingmm</filename>: Contains hand-written .h and .cc files."
msgstr "<filename>libsomethingmm</filename>:包å«æ‰‹å†™çš„.hå’Œ.cc文件。"
-#: C/index-in.docbook:8949
+#: C/index-in.docbook:8905
msgid ""
"This provides a directory structure for the source .hg and .ccg files and "
"the hand-written .h and .cc files, with <filename>meson.build</filename> "
@@ -15336,7 +15314,7 @@ msgstr ""
"filename>文件å¯ä»¥é€šè¿‡å„ç§å˜é‡æŒ‡å®šMeson使用哪些文件进行编译。适当的é‡å‘½å目录"
"åŽï¼Œç›®å½•ç»“构将如下所示:<_:itemizedlist-1/>"
-#: C/index-in.docbook:8970
+#: C/index-in.docbook:8926
#, no-wrap
msgid ""
"\n"
@@ -15349,7 +15327,7 @@ msgstr ""
" d=\"${f%/*}\"; b=\"${f##*/}\"; mv \"$f\" \"$d/${b//skeleton/libsomething}\"; \\\n"
" done\n"
-#: C/index-in.docbook:8968
+#: C/index-in.docbook:8924
msgid ""
"As well as renaming the directories, we should rename some of the source "
"files. For instance: <_:programlisting-1/> A number of the skeleton files "
@@ -15358,7 +15336,7 @@ msgstr ""
"除了é‡å‘½å目录外,我们还应该é‡å‘½å一些æºæ–‡ä»¶ã€‚例如:<_:programlisting-1/>然"
"åŽï¼Œè¿˜æœ‰äº›skeleton文件需è¦åœ¨ç‰¹å®šé¡¹ç›®å†…容完æˆåŽå¡«å†™ã€‚"
-#: C/index-in.docbook:8977
+#: C/index-in.docbook:8933
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 "
@@ -15367,7 +15345,7 @@ msgstr ""
"请注æ„,在é…置阶段ä¸æŸäº›å˜é‡å°†ä¼šæ›¿æ¢ä¸ºå®žé™…值,这将会生æˆä¸Ž<filename>.in</"
"filename>相åŒå称但ä¸å¸¦<filename>.in</filename>åŽç¼€çš„文件。"
-#: C/index-in.docbook:8980
+#: C/index-in.docbook:8936
msgid ""
"Generated files are saved in the build tree, which is separated from the "
"source tree when <command>meson</command> and <command>ninja</command> are "
@@ -15376,11 +15354,11 @@ msgstr ""
"生æˆçš„文件被ä¿å˜åœ¨æž„å»ºæ ‘ä¸ï¼Œå½“使用<command>meson</command>å’Œ<command>ninja</"
"command>æ—¶æž„å»ºæ ‘ä¼šä¸Žæºæ ‘分离。"
-#: C/index-in.docbook:8985
+#: C/index-in.docbook:8941
msgid "Modifying build files"
msgstr "修改构建文件"
-#: C/index-in.docbook:8987
+#: C/index-in.docbook:8943
msgid ""
"Now we edit the files to adapt them to our needs. You might prefer to use a "
"multiple-file search-replace utility for this, such as <command>regexxer</"
@@ -15393,7 +15371,7 @@ msgstr ""
"æä¾›çš„æ‰€æœ‰æ–‡ä»¶å‡ ä¹Žéƒ½åŒ…å«äº†å ä½ç¬¦ã€‚å› æ¤ï¼Œåº”该进行全局替æ¢è€Œä¸æ˜¯ä»…对Meson文件替"
"æ¢ã€‚"
-#: C/index-in.docbook:8991
+#: C/index-in.docbook:8947
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 "
@@ -15406,7 +15384,7 @@ msgstr ""
"varname>都应该被替æ¢æˆ\"SOMETHING\"或\"LIBSOMETHING\",以åŠæ‰€æœ‰çš„"
"<varname>Skeleton</varname>都应该被替æ¢ä¸º\"Something\"。"
-#: C/index-in.docbook:8995
+#: C/index-in.docbook:8951
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 "
@@ -15416,11 +15394,11 @@ msgstr ""
"å°±æ˜¯ä½ çš„å称。然åŽå¯¹<varname>joe example com</varname>邮件地å€è¿›è¡ŒåŒæ ·çš„æ“"
"作。"
-#: C/index-in.docbook:9000
+#: C/index-in.docbook:8956
msgid "meson.build in the top-level directory"
msgstr "顶级目录ä¸çš„meson.build"
-#: C/index-in.docbook:9003
+#: C/index-in.docbook:8959
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, "
@@ -15432,14 +15410,14 @@ msgstr ""
"çš„åˆå§‹ç‰ˆæœ¬ä¸º1.23.0。但是请尽é‡é¿å…以å¶æ•°æ¬¡è¦ç‰ˆæœ¬å¼€å§‹ï¼Œå› 为这通常æ„味ç€è¯¥ç‰ˆæœ¬"
"是稳定版本。"
-#: C/index-in.docbook:9008
+#: C/index-in.docbook:8964
msgid ""
"In the <function>project()</function> function, change the license and the C+"
"+ version, if necessary."
msgstr ""
"如果有必è¦ï¼Œè¯·åœ¨<function>project()</function>函数ä¸ä¿®æ”¹è®¸å¯è¯å’ŒC++版本。"
-#: C/index-in.docbook:9010
+#: C/index-in.docbook:8966
msgid ""
"You probably need to add more required modules than <application>glibmm</"
"application> and <application>skeleton</application> "
@@ -15448,11 +15426,11 @@ msgstr ""
"ä½ å¯èƒ½éœ€è¦æ·»åŠ 除<application>glibmm</application>å’Œ"
"<application>skeleton(libsomething)</application>以外的必需模å—。"
-#: C/index-in.docbook:9018
+#: C/index-in.docbook:8974
msgid "Other meson.build files"
msgstr "其他meson.build文件"
-#: C/index-in.docbook:9021
+#: C/index-in.docbook:8977
msgid ""
"<filename>skeleton/meson.build</filename>: Perhaps not much to change here "
"more than the global name substitutions."
@@ -15460,34 +15438,34 @@ msgstr ""
"<filename>skeleton/meson.build</filename>:在这除了全局替æ¢ä»¥å¤–基本上ä¸éœ€è¦åš"
"什么。"
-#: C/index-in.docbook:9024
+#: C/index-in.docbook:8980
msgid "<filename>skeleton/skeletonmm/meson.build</filename>"
msgstr "<filename>skeleton/skeletonmm/meson.build</filename>"
-#: C/index-in.docbook:9027
+#: C/index-in.docbook:8983
msgid "<varname>defs_basefiles</varname>"
msgstr "<varname>defs_basefiles</varname>"
-#: C/index-in.docbook:9028
+#: C/index-in.docbook:8984
msgid "If we have more .defs and docs.xml files, we add them here."
msgstr "åœ¨è¿™æ·»åŠ é¢å¤–çš„.defså’Œdocs.xml文件"
-#: C/index-in.docbook:9032
+#: C/index-in.docbook:8988
msgid "<varname>hg_ccg_basenames</varname>"
msgstr "<varname>hg_ccg_basenames</varname>"
-#: C/index-in.docbook:9033
+#: C/index-in.docbook:8989
msgid ""
"We must mention all of our <filename>.hg</filename> and <filename>.ccg</"
"filename> files here."
msgstr ""
"必须在这里æåŠæ‰€æœ‰çš„<filename>.hg</filename>å’Œ<filename>.ccg</filename>。"
-#: C/index-in.docbook:9037
+#: C/index-in.docbook:8993
msgid "<varname>extra_cc_files, extra_h_files</varname>"
msgstr "<varname>extra_cc_files, extra_h_files</varname>"
-#: C/index-in.docbook:9038
+#: C/index-in.docbook:8994
msgid ""
"Any additional hand-written <filename>.h</filename> and <filename>.cc</"
"filename> source files go here."
@@ -15495,7 +15473,7 @@ msgstr ""
"所有手写的<filename>.h</filename>å’Œ<filename>.cc</filename>æºæ–‡ä»¶éƒ½éœ€è¦å†™åœ¨"
"这。"
-#: C/index-in.docbook:9019
+#: C/index-in.docbook:8975
msgid ""
"Next we must adapt the other <filename>meson.build</filename> files: <_:"
"itemizedlist-1/>"
@@ -15503,11 +15481,11 @@ msgstr ""
"接下æ¥æˆ‘们必须对其他的<filename>meson.build</filename>文件进行修改:<_:"
"itemizedlist-1/>"
-#: C/index-in.docbook:9048
+#: C/index-in.docbook:9004
msgid "Creating .hg and .ccg files"
msgstr "创建.hg个.ccg文件"
-#: C/index-in.docbook:9049
+#: C/index-in.docbook:9005
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 "
@@ -15519,7 +15497,7 @@ msgstr ""
"<filename>skeleton.ccg</filename>å’Œ<filename>skeleton.hg</filename>ã€‚è¯·æ ¹æ®éœ€"
"è¦åˆ›å»ºè¿™äº›æ–‡ä»¶çš„副本。"
-#: C/index-in.docbook:9053
+#: C/index-in.docbook:9009
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."
@@ -15527,35 +15505,35 @@ msgstr ""
"在<link linkend=\"sec-wrapping-hg-files\">.hgå’Œ.ccg文件</link>å°èŠ‚ä½ å¯ä»¥å¦åˆ°"
"这些文件使用的è¯æ³•ã€‚"
-#: C/index-in.docbook:9060
+#: C/index-in.docbook:9016
msgid "Generating the .defs files."
msgstr "生æˆ.defs文件"
-#: C/index-in.docbook:9064
+#: C/index-in.docbook:9020
msgid "objects (GObjects, widgets, interfaces, boxed-types and plain structs)"
msgstr "对象(GObjectsã€éƒ¨ä»¶ã€æŽ¥å£ã€è£…箱类型ã€æ™®é€šç»“构体)"
-#: C/index-in.docbook:9065
+#: C/index-in.docbook:9021
msgid "functions"
msgstr "函数"
-#: C/index-in.docbook:9066
+#: C/index-in.docbook:9022
msgid "enums"
msgstr "枚举"
-#: C/index-in.docbook:9067
+#: C/index-in.docbook:9023
msgid "signals"
msgstr "ä¿¡å·"
-#: C/index-in.docbook:9068
+#: C/index-in.docbook:9024
msgid "properties"
msgstr "属性"
-#: C/index-in.docbook:9069
+#: C/index-in.docbook:9025
msgid "vfuncs"
msgstr "虚函数(vfuncs)"
-#: C/index-in.docbook:9061
+#: C/index-in.docbook:9017
msgid ""
"The <filename>.defs</filename> files are text files, in a lisp format, that "
"describe the API of a C library, including its <_:itemizedlist-1/>"
@@ -15563,47 +15541,47 @@ msgstr ""
"<filename>.defs</filename>是一ç§ä½¿ç”¨lispæ ¼å¼çš„文本文件,它æ述了C库的API,其"
"ä¸åŒ…括了以下内容:<_:itemizedlist-1/>"
-#: C/index-in.docbook:9078
+#: C/index-in.docbook:9034
msgid "<filename>gtk.defs</filename>"
msgstr "<filename>gtk.defs</filename>"
-#: C/index-in.docbook:9079
+#: C/index-in.docbook:9035
msgid "Includes the other files."
msgstr "包å«å…¶ä»–文件。"
-#: C/index-in.docbook:9082
+#: C/index-in.docbook:9038
msgid "<filename>gtk_methods.defs</filename>"
msgstr "<filename>gtk_methods.defs</filename>"
-#: C/index-in.docbook:9083
+#: C/index-in.docbook:9039
msgid "Objects and functions."
msgstr "对象和函数。"
-#: C/index-in.docbook:9086
+#: C/index-in.docbook:9042
msgid "<filename>gtk_enums.defs</filename>"
msgstr "<filename>gtk_enums.defs</filename>"
-#: C/index-in.docbook:9087
+#: C/index-in.docbook:9043
msgid "Enumerations."
msgstr "枚举。"
-#: C/index-in.docbook:9090
+#: C/index-in.docbook:9046
msgid "<filename>gtk_signals.defs</filename>"
msgstr "<filename>gtk_signals.defs</filename>"
-#: C/index-in.docbook:9091
+#: C/index-in.docbook:9047
msgid "Signals and properties."
msgstr "ä¿¡å·å’Œå±žæ€§ã€‚"
-#: C/index-in.docbook:9094
+#: C/index-in.docbook:9050
msgid "<filename>gtk_vfuncs.defs</filename>"
msgstr "<filename>gtk_vfuncs.defs</filename>"
-#: C/index-in.docbook:9095
+#: C/index-in.docbook:9051
msgid "vfuncs (function pointer member fields in structs), written by hand."
msgstr "虚函数(结构体ä¸çš„函数指针å—段),手动编写。"
-#: C/index-in.docbook:9072
+#: C/index-in.docbook:9028
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. "
@@ -15615,7 +15593,7 @@ msgstr ""
"我们将它们拆分为å•ç‹¬çš„文件,例如在gtkmmæºçš„<filename>gtk/src</filename>目录ä¸"
"ä½ å°†çœ‹åˆ°ä»¥ä¸‹æ–‡ä»¶ï¼š<_:variablelist-1/>"
-#: C/index-in.docbook:9099
+#: C/index-in.docbook:9055
msgid ""
"The <filename>skeletonmm/tools/generate_defs_and_docs.sh</filename> script "
"generates all <filename>.defs</filename> files and the <filename>*_docs.xml</"
@@ -15626,82 +15604,79 @@ msgstr ""
"些<filename>.defs</filename>以åŠ<filename>*_docs.xml</filename>文件,如该å°èŠ‚"
"的<link linkend=\"sec-wrapping-documentation\">文档</link>所述。"
-#: C/index-in.docbook:9105
+#: C/index-in.docbook:9061
msgid "Generating the methods .defs"
msgstr "生æˆ_methods.defs文件"
-#: C/index-in.docbook:9109
-#, no-wrap
-msgid ""
-"\n"
-"$ ./h2def.py /usr/include/gtk-4.0/gtk/*.h > gtk_methods.defs\n"
-msgstr ""
-"\n"
-"$ ./h2def.py /usr/include/gtk-4.0/gtk/*.h > gtk_methods.defs\n"
-
-#: C/index-in.docbook:9106
+#: C/index-in.docbook:9062
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 "
-"in glibmm's <filename>tools/defs_gen</filename> directory. For instance, <_:"
-"programlisting-1/>"
+"in glibmm's <filename>tools/defs_gen</filename> directory. For instance,"
msgstr ""
"这个<filename>.defs</filename>文件æ述了对象åŠå…¶å‡½æ•°ã€‚它是由<command>h2def."
"py</command>脚本生æˆçš„ï¼Œä½ å¯ä»¥åœ¨glibmmçš„<filename>tools/defs_gen</filename>æ–‡"
-"件夹ä¸æ‰¾åˆ°è¯¥è„šæœ¬ã€‚例如:<_:programlisting-1/>"
+"件夹ä¸æ‰¾åˆ°è¯¥è„šæœ¬ã€‚例如:"
-#: C/index-in.docbook:9116
-msgid "Generating the enums .defs"
-msgstr "生æˆ_enums.defs文件"
-
-#: C/index-in.docbook:9120
+#: C/index-in.docbook:9066
#, no-wrap
msgid ""
"\n"
-"$ ./enum.pl /usr/include/gtk-4.0/gtk/*.h > gtk_enums.defs\n"
+"$ ./h2def.py /usr/include/gtk-4.0/gtk/*.h > gtk_methods.defs\n"
msgstr ""
"\n"
-"$ ./enum.pl /usr/include/gtk-4.0/gtk/*.h > gtk_enums.defs\n"
+"$ ./h2def.py /usr/include/gtk-4.0/gtk/*.h > gtk_methods.defs\n"
+
+#: C/index-in.docbook:9072
+msgid "Generating the enums .defs"
+msgstr "生æˆ_enums.defs文件"
-#: C/index-in.docbook:9117
+#: C/index-in.docbook:9073
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 "
-"can find in glibmm's <filename>tools</filename> directory. For instance, <_:"
-"programlisting-1/>"
+"can find in glibmm's <filename>tools</filename> directory. For instance,"
msgstr ""
"这个<filename>.defs</filename>文件æ述了枚举类型åŠå…¶å¯èƒ½çš„值。它是由"
"<filename>enum.pl</filename>脚本生æˆçš„ï¼Œä½ å¯ä»¥åœ¨glibmmçš„<filename>tools</"
-"filename>文件夹ä¸æ‰¾åˆ°è¯¥è„šæœ¬ã€‚例如:<_:programlisting-1/>"
+"filename>文件夹ä¸æ‰¾åˆ°è¯¥è„šæœ¬ã€‚例如:"
-#: C/index-in.docbook:9127
-msgid "Generating the signals and properties .defs"
-msgstr "生æˆ_signals.defs文件"
-
-#: C/index-in.docbook:9132
+#: C/index-in.docbook:9077
#, no-wrap
msgid ""
"\n"
-"$ cd tools/extra_defs_gen\n"
-"$ ./generate_extra_defs > gtk_signals.defs\n"
+"$ ./enum.pl /usr/include/gtk-4.0/gtk/*.h > gtk_enums.defs\n"
msgstr ""
"\n"
-"$ cd tools/extra_defs_gen\n"
-"$ ./generate_extra_defs > gtk_signals.defs\n"
+"$ ./enum.pl /usr/include/gtk-4.0/gtk/*.h > gtk_enums.defs\n"
+
+#: C/index-in.docbook:9083
+msgid "Generating the signals and properties .defs"
+msgstr "生æˆ_signals.defs文件"
-#: C/index-in.docbook:9128
+#: C/index-in.docbook:9084
msgid ""
"This <filename>.defs</filename> file describes signals and properties. It is "
"generated by the special <filename>generate_extra_defs</filename> utility "
"that is in every wrapping project, such as <filename>gtkmm/tools/"
-"extra_defs_gen/</filename>. For instance <_:programlisting-1/>"
+"extra_defs_gen/</filename>. For instance"
msgstr ""
"这个<filename>.defs</filename>文件æ述了信å·å’Œå±žæ€§ã€‚它是由å°è£…项目自有的"
"<filename>generate_extra_defs</filename>实用程åºç”Ÿæˆçš„ï¼Œä½ å¯ä»¥åœ¨ç±»ä¼¼äºŽ"
-"<filename>gtkmm/tools/extra_defs_gen/</filename>的目录下找到它。例如:<_:"
-"programlisting-1/>"
+"<filename>gtkmm/tools/extra_defs_gen/</filename>的目录下找到它。例如:"
-#: C/index-in.docbook:9137
+#: C/index-in.docbook:9089
+#, 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/index-in.docbook:9093
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 "
@@ -15718,7 +15693,15 @@ msgstr ""
"filename>ã€‚ä½ éœ€è¦å°†æ–‡ä»¶é‡å‘½å为æ£ç¡®çš„文件å(按å‰ä¸€å°èŠ‚所述),然åŽåœ¨"
"<filename>tools/extra_defs_gen/meson.build</filename>文件ä¸æ到新的æºæ–‡ä»¶å。"
-#: C/index-in.docbook:9146
+#: C/index-in.docbook:9100
+msgid ""
+"Then edit the <filename>.cc</filename> file to specify the correct types. "
+"For instance, your <function>main()</function> function might look like this:"
+msgstr ""
+"然åŽç¼–辑<filename>.cc</filename>以指定æ£ç¡®çš„ç±»åž‹ã€‚ä¾‹å¦‚ï¼Œä½ çš„"
+"<function>main()</function>函数å¯èƒ½å¦‚下所示:"
+
+#: C/index-in.docbook:9103
#, no-wrap
msgid ""
"\n"
@@ -15749,20 +15732,11 @@ msgstr ""
" return 0;\n"
"}\n"
-#: C/index-in.docbook:9144
-msgid ""
-"Then edit the <filename>.cc</filename> file to specify the correct types. "
-"For instance, your <function>main()</function> function might look like "
-"this: <_:programlisting-1/>"
-msgstr ""
-"然åŽç¼–辑<filename>.cc</filename>以指定æ£ç¡®çš„ç±»åž‹ã€‚ä¾‹å¦‚ï¼Œä½ çš„"
-"<function>main()</function>函数å¯èƒ½å¦‚下所示:<_:programlisting-1/>"
-
-#: C/index-in.docbook:9164
+#: C/index-in.docbook:9120
msgid "Writing the vfuncs .defs"
msgstr "编写_vfunc.defs文件"
-#: C/index-in.docbook:9165
+#: C/index-in.docbook:9121
msgid ""
"This <filename>.defs</filename> file describes virtual functions (vfuncs). "
"It must be written by hand. There is the skeleton file <filename>skeleton/"
@@ -15775,11 +15749,11 @@ msgstr ""
"以从<application>gtkmm</application>的<filename>gtk/src/gtk_vfuncs.defs</"
"filename>文件开始。"
-#: C/index-in.docbook:9176
+#: C/index-in.docbook:9132
msgid "The .hg and .ccg files"
msgstr ".hg和.ccg文件"
-#: C/index-in.docbook:9177
+#: C/index-in.docbook:9133
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()</"
@@ -15793,23 +15767,34 @@ msgstr ""
"<command>gmmproc</command>会使用这些å®åœ¨å¤´æ–‡ä»¶ä¸çš„相åŒä½ç½®ç”Ÿæˆåˆé€‚çš„C++æºä»£"
"ç 。而所有其他的C++æºä»£ç ä¼šæŒ‰åŽŸæ ·å¤åˆ¶åˆ°ç›¸åº”çš„.h或.cc文件ä¸ã€‚"
-#: C/index-in.docbook:9190
+#: C/index-in.docbook:9141
+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, "
+"<application>gtkmm</application>'s <filename>button.hg</filename> looks "
+"roughly like this:"
+msgstr ""
+".hg文件通常包å«äº†ä¸€äº›å¤´æ–‡ä»¶å’Œå£°æ˜Žä¸€ä¸ªç±»ï¼Œå¹¶ä½¿ç”¨ä¸€äº›å®å‘ç±»ä¸æ·»åŠ API或行为。例"
+"如,<application>gtkmm</application>的<filename>button.hg</filename>文件看起"
+"æ¥å¤§æ¦‚è¿™æ ·ï¼š"
+
+#: C/index-in.docbook:9146
#, no-wrap
msgid ""
"\n"
-"#include <gtkmm/bin.h>\n"
+"#include <gtkmm/widget.h>\n"
"#include <gtkmm/actionable.h>\n"
"_DEFS(gtkmm,gtk)\n"
-"_PINCLUDE(gtkmm/private/bin_p.h)\n"
+"_PINCLUDE(gtkmm/private/widget_p.h)\n"
"\n"
"namespace Gtk\n"
"{\n"
"\n"
"class Button\n"
-" : public Bin,\n"
+" : public Widget,\n"
" public Actionable\n"
"{\n"
-" _CLASS_GTKOBJECT(Button,GtkButton,GTK_BUTTON,Gtk::Bin,GtkBin)\n"
+" _CLASS_GTKOBJECT(Button, GtkButton, GTK_BUTTON, Gtk::Widget, GtkWidget)\n"
" _IMPLEMENTS_INTERFACE(Actionable)\n"
"public:\n"
"\n"
@@ -15830,19 +15815,19 @@ msgid ""
"} // namespace Gtk\n"
msgstr ""
"\n"
-"#include <gtkmm/bin.h>\n"
+"#include <gtkmm/widget.h>\n"
"#include <gtkmm/actionable.h>\n"
"_DEFS(gtkmm,gtk)\n"
-"_PINCLUDE(gtkmm/private/bin_p.h)\n"
+"_PINCLUDE(gtkmm/private/widget_p.h)\n"
"\n"
"namespace Gtk\n"
"{\n"
"\n"
"class Button\n"
-" : public Bin,\n"
+" : public Widget,\n"
" public Actionable\n"
"{\n"
-" _CLASS_GTKOBJECT(Button,GtkButton,GTK_BUTTON,Gtk::Bin,GtkBin)\n"
+" _CLASS_GTKOBJECT(Button, GtkButton, GTK_BUTTON, Gtk::Widget, GtkWidget)\n"
" _IMPLEMENTS_INTERFACE(Actionable)\n"
"public:\n"
"\n"
@@ -15862,22 +15847,11 @@ msgstr ""
"\n"
"} // namespace Gtk\n"
-#: C/index-in.docbook:9185
-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, "
-"<application>gtkmm</application>'s <filename>button.hg</filename> looks "
-"roughly like this: <_:programlisting-1/>"
-msgstr ""
-".hg文件通常包å«äº†ä¸€äº›å¤´æ–‡ä»¶å’Œå£°æ˜Žä¸€ä¸ªç±»ï¼Œå¹¶ä½¿ç”¨ä¸€äº›å®å‘ç±»ä¸æ·»åŠ API或行为。例"
-"如,<application>gtkmm</application>的<filename>button.hg</filename>文件看起"
-"æ¥å¤§æ¦‚è¿™æ ·ï¼š<_:programlisting-1/>"
-
-#: C/index-in.docbook:9227
+#: C/index-in.docbook:9182
msgid "<function>_DEFS()</function>"
msgstr "<function>_DEFS()</function>"
-#: C/index-in.docbook:9228
+#: C/index-in.docbook:9183
msgid ""
"Specifies the destination directory for generated sources, and the name of "
"the main .defs file that <command>gmmproc</command> should parse."
@@ -15885,11 +15859,11 @@ msgstr ""
"指定所生æˆæºä»£ç çš„ç›®æ ‡ç›®å½•ï¼Œä»¥åŠ<command>gmmproc</command>应该解æžçš„主è¦.defs"
"文件的å称。"
-#: C/index-in.docbook:9231
+#: C/index-in.docbook:9186
msgid "<function>_PINCLUDE()</function>"
msgstr "<function>_PINCLUDE()</function>"
-#: C/index-in.docbook:9232
+#: C/index-in.docbook:9187
msgid ""
"Tells <command>gmmproc</command> to include a header in the generated "
"<filename>private/button_p.h</filename> file."
@@ -15897,11 +15871,11 @@ msgstr ""
"告诉<command>gmmproc</command>在生æˆçš„文件ä¸åŒ…å«<filename>private/button_p."
"h</filename>头文件。"
-#: C/index-in.docbook:9235
+#: C/index-in.docbook:9190
msgid "<function>_CLASS_GTKOBJECT()</function>"
msgstr "<function>_CLASS_GTKOBJECT()</function>"
-#: C/index-in.docbook:9236
+#: C/index-in.docbook:9191
msgid ""
"Tells <command>gmmproc</command> to add some typedefs, constructors, and "
"standard methods to this class, as appropriate when wrapping a widget."
@@ -15909,25 +15883,25 @@ msgstr ""
"告诉<command>gmmproc</command>在å°è£…部件类时在类ä¸æ·»åŠ 一些类型定义(typedef)ã€"
"æž„é€ å‡½æ•°ã€æ ‡å‡†æ–¹æ³•ã€‚"
-#: C/index-in.docbook:9239
+#: C/index-in.docbook:9194
msgid "<function>_IMPLEMENTS_INTERFACE()</function>"
msgstr "<function>_IMPLEMENTS_INTERFACE()</function>"
-#: C/index-in.docbook:9240
+#: C/index-in.docbook:9195
msgid ""
"Tells <command>gmmproc</command> to add initialization code for the "
"interface."
msgstr "告诉<command>gmmproc</command>为接å£æ·»åŠ åˆå§‹åŒ–代ç 。"
-#: C/index-in.docbook:9243
+#: C/index-in.docbook:9198
msgid "<function>_CTOR_DEFAULT</function>"
msgstr "<function>_CTOR_DEFAULT</function>"
-#: C/index-in.docbook:9244
+#: C/index-in.docbook:9199
msgid "Adds a default constructor."
msgstr "æ·»åŠ é»˜è®¤æž„é€ å‡½æ•°ã€‚"
-#: C/index-in.docbook:9247
+#: C/index-in.docbook:9202
msgid ""
"<function>_WRAP_METHOD()</function>, <function>_WRAP_SIGNAL()</function>, "
"and <function>_WRAP_PROPERTY()</function>"
@@ -15935,15 +15909,24 @@ msgstr ""
"<function>_WRAP_METHOD()</function>ã€<function>_WRAP_SIGNAL()</function>å’Œ"
"<function>_WRAP_PROPERTY()</function>"
-#: C/index-in.docbook:9250
+#: C/index-in.docbook:9205
msgid "Add methods to wrap parts of the C API."
msgstr "æ·»åŠ ç”¨äºŽå°è£…C API的一部分的方法。"
-#: C/index-in.docbook:9224
+#: C/index-in.docbook:9179
msgid "The macros in this example do the following: <_:variablelist-1/>"
msgstr "本示例ä¸çš„å®æ‰§è¡Œä¸‹è¿°æ“作:<_:variablelist-1/>"
-#: C/index-in.docbook:9257
+#: C/index-in.docbook:9209
+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:"
+msgstr ""
+"é€šè¿‡è¿™æ ·ä½¿ç”¨<command>gmmproc</command>处ç†.hgå’Œ.ccg文件,å¯ä»¥ä»Ž.hgå’Œ.ccg文件"
+"生æˆ.hå’Œ.cc文件,尽管这在使用上述的构建结构时会自动进行:"
+
+#: C/index-in.docbook:9213
#, no-wrap
msgid ""
"\n"
@@ -15954,17 +15937,7 @@ msgstr ""
"$ cd gtk/src\n"
"$ /usr/lib/glibmm-2.68/proc/gmmproc -I ../../tools/m4 --defs . button . ./../gtkmm\n"
-#: C/index-in.docbook:9254
-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: <_:programlisting-1/>"
-msgstr ""
-"é€šè¿‡è¿™æ ·ä½¿ç”¨<command>gmmproc</command>处ç†.hgå’Œ.ccg文件,å¯ä»¥ä»Ž.hgå’Œ.ccg文件"
-"生æˆ.hå’Œ.cc文件,尽管这在使用上述的构建结构时会自动进行:<_:programlisting-1/"
-">"
-
-#: C/index-in.docbook:9262
+#: C/index-in.docbook:9217
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 "
@@ -15973,7 +15946,7 @@ msgstr ""
"请注æ„我们为<command>gmmproc</command>æ供了.m4转æ¢æ–‡ä»¶ã€.defs文件路径ã€.hgæ–‡"
"件åã€æºä»£ç 目录ã€ç›®æ ‡ç›®å½•ã€‚"
-#: C/index-in.docbook:9265
+#: C/index-in.docbook:9220
msgid ""
"You should avoid including the C header from your C++ header, to avoid "
"polluting the global namespace, and to avoid exporting unnecessary public "
@@ -15983,24 +15956,15 @@ msgstr ""
"ä½ åº”è¯¥é¿å…在C++头文件ä¸åŒ…å«C头文件,以å…污染全局å称空间,以å…导出ä¸å¿…è¦çš„å…¬"
"å…±APIã€‚ä½†æ˜¯ä½ éœ€è¦åœ¨ä½ çš„.ccg文件ä¸åŒ…å«å¿…è¦çš„C头文件。"
-#: C/index-in.docbook:9270
+#: C/index-in.docbook:9225
msgid "The macros are explained in more detail in the following sections."
msgstr "以下å„节将对å®è¿›è¡Œè¯¦ç»†è¯´æ˜Žã€‚"
-#: C/index-in.docbook:9273
+#: C/index-in.docbook:9228
msgid "m4 Conversions"
msgstr "m4转æ¢"
-#: C/index-in.docbook:9281
-#, no-wrap
-msgid ""
-"\n"
-"_CONVERSION(`GtkTreeView*',`TreeView*',`Glib::wrap($3)')\n"
-msgstr ""
-"\n"
-"_CONVERSION(`GtkTreeView*',`TreeView*',`Glib::wrap($3)')\n"
-
-#: C/index-in.docbook:9274
+#: C/index-in.docbook:9229
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. <command>gmmproc</command> "
@@ -16009,16 +15973,25 @@ msgid ""
"function in the implementation of your C++ method, passing the appropriate "
"parameters to that C functon. For instance, this tells <command>gmmproc</"
"command> how to convert a <classname>GtkTreeView</classname> pointer to a "
-"<classname>Gtk::TreeView</classname> pointer: <_:programlisting-1/>"
+"<classname>Gtk::TreeView</classname> pointer:"
msgstr ""
"在.hgå’Œ.ccg文件ä¸ä½¿ç”¨çš„å®é€šå¸¸éœ€è¦çŸ¥é“如何将C++类型转æ¢ä¸ºC类型,å之亦然。"
"<command>gmmproc</command>ä¼šä»Žä½ çš„<literal>tools/m4/</literal>或"
"<literal>codegen/m4/</literal>目录的.m4文件读å–æ¤ä¿¡æ¯ã€‚è¿™æ ·å®ƒå°±å¯ä»¥åœ¨C++方法"
"的实现ä¸è°ƒç”¨C函数,并将适当的å‚æ•°ä¼ é€’ç»™è¯¥C函数。例如:这告诉"
"<command>gmmproc</command>如何将<classname>GtkTreeView</classname>指针转æ¢ä¸º"
-"<classname>Gtk::TreeView</classname>指针:<_:programlisting-1/>"
+"<classname>Gtk::TreeView</classname>指针:"
-#: C/index-in.docbook:9286
+#: C/index-in.docbook:9237
+#, no-wrap
+msgid ""
+"\n"
+"_CONVERSION(`GtkTreeView*',`TreeView*',`Glib::wrap($3)')\n"
+msgstr ""
+"\n"
+"_CONVERSION(`GtkTreeView*',`TreeView*',`Glib::wrap($3)')\n"
+
+#: C/index-in.docbook:9241
msgid ""
"<literal>$3</literal> will be replaced by the parameter name when this "
"conversion is used by <command>gmmproc</command>."
@@ -16026,7 +15999,15 @@ msgstr ""
"当æ¤è½¬æ¢è¢«<command>gmmproc</command>使用时,<literal>$3</literal>将会被å‚æ•°å"
"称替æ¢ã€‚"
-#: C/index-in.docbook:9293
+#: C/index-in.docbook:9245
+msgid ""
+"Some extra macros make this easier and consistent. Look in "
+"<application>gtkmm</application>'s .m4 files for examples. For instance:"
+msgstr ""
+"使用一些é¢å¤–çš„å®å¯ä»¥ä½¿å…¶å˜å¾—更简å•å’Œä¸€è‡´ã€‚例如<application>gtkmm</"
+"application>ä¸çš„.m4文件:"
+
+#: C/index-in.docbook:9249
#, no-wrap
msgid ""
"\n"
@@ -16039,20 +16020,11 @@ msgstr ""
"_CONVERSION(`const PrintSettings&',`GtkPrintSettings*',__FCR2P)\n"
"_CONVERSION(`const Glib::RefPtr<Printer>&',`GtkPrinter*',__CONVERT_REFPTR_TO_P($3))\n"
-#: C/index-in.docbook:9290
-msgid ""
-"Some extra macros make this easier and consistent. Look in "
-"<application>gtkmm</application>'s .m4 files for examples. For instance: <_:"
-"programlisting-1/>"
-msgstr ""
-"使用一些é¢å¤–çš„å®å¯ä»¥ä½¿å…¶å˜å¾—更简å•å’Œä¸€è‡´ã€‚例如<application>gtkmm</"
-"application>ä¸çš„.m4文件:<_:programlisting-1/>"
-
-#: C/index-in.docbook:9302
+#: C/index-in.docbook:9257
msgid "m4 Initializations"
msgstr "安装m4"
-#: C/index-in.docbook:9303
+#: C/index-in.docbook:9258
msgid ""
"Often when wrapping methods, it is desirable to store the return of the C "
"function in what is called an output parameter. In this case, the C++ method "
@@ -16067,28 +16039,28 @@ msgstr ""
"<command>gmmproc</command>支æŒæ¤åŠŸèƒ½ï¼Œä½†æ˜¯å¿…须使用适当的åˆå§‹åŒ–å®æ¥å‘Šè¯‰"
"<command>gmmproc</command>如何从C函数的返回值åˆå§‹åŒ–C++å‚数。"
-#: C/index-in.docbook:9318
-#, no-wrap
-msgid ""
-"\n"
-"_INITIALIZATION(`Gtk::Widget&',`GtkWidget*',`$3 = Glib::wrap($4)')\n"
-msgstr ""
-"\n"
-"_INITIALIZATION(`Gtk::Widget&',`GtkWidget*',`$3 = Glib::wrap($4)')\n"
-
-#: C/index-in.docbook:9312
+#: C/index-in.docbook:9267
msgid ""
"For example, if there was a C function that returned a <type>GtkWidget*</"
"type> and for some reason, instead of having the C++ method also return the "
"widget, it was desirable to have the C++ method place the widget in a "
"specified output parameter, an initialization macro such as the following "
-"would be necessary: <_:programlisting-1/>"
+"would be necessary:"
msgstr ""
"例如,如果一个C函数返回了一个<type>GtkWidget*</type>,并且由于æŸç§åŽŸå› ,ä¸æƒ³"
"让C++方法返回æ¤éƒ¨ä»¶ï¼Œè€Œæ˜¯å¸Œæœ›C++方法将æ¤éƒ¨ä»¶æ”¾å…¥æŒ‡å®šçš„输出å‚æ•°ä¸ï¼Œåˆ™å¦‚下所示"
-"çš„åˆå§‹åŒ–å®æ˜¯å¿…须的:<_:programlisting-1/>"
+"çš„åˆå§‹åŒ–å®æ˜¯å¿…须的:"
-#: C/index-in.docbook:9323
+#: C/index-in.docbook:9274
+#, no-wrap
+msgid ""
+"\n"
+"_INITIALIZATION(`Gtk::Widget&',`GtkWidget*',`$3 = Glib::wrap($4)')\n"
+msgstr ""
+"\n"
+"_INITIALIZATION(`Gtk::Widget&',`GtkWidget*',`$3 = Glib::wrap($4)')\n"
+
+#: C/index-in.docbook:9278
msgid ""
"<literal>$3</literal> will be replaced by the output parameter name of the C+"
"+ method and <literal>$4</literal> will be replaced by the return of the C "
@@ -16102,11 +16074,11 @@ msgstr ""
"<literal>$1</literal>也将被ä¸å¸¦<literal>&</literal>符的C++类型替æ¢ï¼Œè€Œ"
"<literal>$2</literal>将被替æ¢ä¸ºC类型。"
-#: C/index-in.docbook:9334
+#: C/index-in.docbook:9289
msgid "Class macros"
msgstr "ç±»å®"
-#: C/index-in.docbook:9335
+#: C/index-in.docbook:9290
msgid ""
"The class macro declares the class itself and its relationship with the "
"underlying C type. It generates some internal constructors, the member "
@@ -16119,7 +16091,7 @@ msgstr ""
"function>访问器ã€<function>Glib::wrap()</function>æˆå‘˜å‡½æ•°ã€å¹¶è¿›è¡Œç±»åž‹æ³¨å†Œ"
"ç‰ã€‚"
-#: C/index-in.docbook:9340
+#: C/index-in.docbook:9295
msgid ""
"Other macros, such as <function>_WRAP_METHOD()</function> and "
"<function>_WRAP_SIGNAL()</function> may only be used after a call to a "
@@ -16128,11 +16100,11 @@ msgstr ""
"其他åƒ<function>_WRAP_METHOD()</function>å’Œ<function>_WRAP_SIGNAL()</"
"function>è¿™æ ·çš„å®åªèƒ½åœ¨è°ƒç”¨<function>_CLASS_*</function>å®ä¹‹åŽä½¿ç”¨ã€‚"
-#: C/index-in.docbook:9345
+#: C/index-in.docbook:9300
msgid "_CLASS_GOBJECT"
msgstr "_CLASS_GOBJECT"
-#: C/index-in.docbook:9346
+#: C/index-in.docbook:9301
msgid ""
"This macro declares a wrapper for a type that is derived from "
"<classname>GObject</classname>, but whose wrapper is not derived from "
@@ -16141,33 +16113,31 @@ msgstr ""
"这个å®ä¸ºä»Ž<classname>GObject</classname>派生的类型声明了一个类型包装器,但是"
"æ¤åŒ…装器并ä¸ä¼šæ´¾ç”Ÿè‡ª<classname>Gtk::Object</classname>。"
-#: C/index-in.docbook:9349
+#: C/index-in.docbook:9304
msgid ""
"<function>_CLASS_GOBJECT( C++ class, C class, C casting macro, C++ base "
"class, C base class )</function>"
msgstr ""
"<function>_CLASS_GOBJECT( C++ç±», Cç±», C转æ¢å®, C++基类, C基类 )</function>"
-#: C/index-in.docbook:9351
+#: C/index-in.docbook:9305
+msgid "For instance, from <filename>adjustment.hg</filename>:"
+msgstr "示例æ¥è‡ªäºŽ<filename>entry.hg</filename>:"
+
+#: C/index-in.docbook:9306
#, no-wrap
msgid ""
"\n"
-"_CLASS_GOBJECT(AccelGroup, GtkAccelGroup, GTK_ACCEL_GROUP, Glib::Object, GObject)\n"
+"_CLASS_GOBJECT(Adjustment, GtkAdjustment, GTK_ADJUSTMENT, Glib::Object, GObject)\n"
msgstr ""
"\n"
-"_CLASS_GOBJECT(AccelGroup, GtkAccelGroup, GTK_ACCEL_GROUP, Glib::Object, GObject)\n"
+"_CLASS_GOBJECT(Adjustment, GtkAdjustment, GTK_ADJUSTMENT, Glib::Object, GObject)\n"
-#: C/index-in.docbook:9350
-msgid ""
-"For instance, from <filename>accelgroup.hg</filename>: <_:programlisting-1/>"
-msgstr ""
-"æ¥è‡ª<filename>accelgroup.hg</filename>文件ä¸çš„例å:<_:programlisting-1/>"
-
-#: C/index-in.docbook:9358
+#: C/index-in.docbook:9312
msgid "_CLASS_GTKOBJECT"
msgstr "_CLASS_GTKOBJECT"
-#: C/index-in.docbook:9359
+#: C/index-in.docbook:9313
msgid ""
"This macro declares a wrapper for a type whose wrapper is derived from "
"<classname>Gtk::Object</classname>, such as a widget or dialog."
@@ -16175,28 +16145,27 @@ msgstr ""
"这个å®ä¸ºç±»åž‹å£°æ˜Žäº†ä¸€ä¸ªç±»åž‹æ´¾ç”ŸåŒ…装器,æ¤åŒ…装器将派生自<classname>Gtk::"
"Object</classname>,例如部件(Widget)和对è¯æ¡†(Dialog)。"
-#: C/index-in.docbook:9361
+#: C/index-in.docbook:9315
msgid ""
"<function>_CLASS_GTKOBJECT( C++ class, C class, C casting macro, C++ base "
"class, C base class )</function>"
msgstr ""
"<function>_CLASS_GTKOBJECT( C++ç±», Cç±», C转æ¢å®, C++基类, C基类 )</function>"
-#: C/index-in.docbook:9363
+#: C/index-in.docbook:9316 C/index-in.docbook:9790 C/index-in.docbook:9894
+msgid "For instance, from <filename>button.hg</filename>:"
+msgstr "æ¥è‡ª<filename>button.hg</filename>文件ä¸çš„例å:"
+
+#: C/index-in.docbook:9317
#, no-wrap
msgid ""
"\n"
-"_CLASS_GTKOBJECT(Button, GtkButton, GTK_BUTTON, Gtk::Bin, GtkBin)\n"
+"_CLASS_GTKOBJECT(Button, GtkButton, GTK_BUTTON, Gtk::Widget, GtkWidget)\n"
msgstr ""
"\n"
-"_CLASS_GTKOBJECT(Button, GtkButton, GTK_BUTTON, Gtk::Bin, GtkBin)\n"
-
-#: C/index-in.docbook:9362 C/index-in.docbook:9847 C/index-in.docbook:9952
-msgid ""
-"For instance, from <filename>button.hg</filename>: <_:programlisting-1/>"
-msgstr "æ¥è‡ª<filename>button.hg</filename>文件ä¸çš„例å:<_:programlisting-1/>"
+"_CLASS_GTKOBJECT(Button, GtkButton, GTK_BUTTON, Gtk::Widget, GtkWidget)\n"
-#: C/index-in.docbook:9367
+#: C/index-in.docbook:9320
msgid ""
"You will typically use this macro when the class already derives from "
"<classname>Gtk::Object</classname>. For instance, you will use it when "
@@ -16207,7 +16176,7 @@ msgstr ""
"将在å°è£…GTKéƒ¨ä»¶æ—¶ä½¿ç”¨å®ƒï¼Œå› ä¸º<classname>Gtk::Widget</classname>派生自"
"<classname>Gtk::Object</classname>。"
-#: C/index-in.docbook:9371
+#: C/index-in.docbook:9324
msgid ""
"You might also derive non-widget classes from <classname>Gtk::Object</"
"classname> so they can be used without <classname>Glib::RefPtr</classname>. "
@@ -16222,11 +16191,11 @@ msgstr ""
"åŒ–ã€‚è¿™æ ·ä½ å¯ä»¥è‡ªè¡Œå†³å®šæ˜¯å¦å¯¹å®ƒä»¬ä½¿ç”¨å¼•ç”¨è®¡æ•°ã€‚我们认为对部件使用引用计数很有"
"用。"
-#: C/index-in.docbook:9381
+#: C/index-in.docbook:9334
msgid "_CLASS_BOXEDTYPE"
msgstr "_CLASS_BOXEDTYPE"
-#: C/index-in.docbook:9382
+#: C/index-in.docbook:9335
msgid ""
"This macro declares a wrapper for a non-<classname>GObject</classname> "
"struct, registered with <function>g_boxed_type_register_static()</function>."
@@ -16234,7 +16203,7 @@ msgstr ""
"这个å®å£°æ˜Žäº†ä¸€ä¸ªéž<classname>GObject</classname>结构体类型的包装器,并使用"
"<function>g_boxed_type_register_static()</function>对该类型进行注册。"
-#: C/index-in.docbook:9385
+#: C/index-in.docbook:9338
msgid ""
"<function>_CLASS_BOXEDTYPE( C++ class, C class, new function, copy function, "
"free function )</function>"
@@ -16242,7 +16211,11 @@ msgstr ""
"<function>_CLASS_BOXEDTYPE( C++类, C类, new函数, copy函数, free函数 )</"
"function>"
-#: C/index-in.docbook:9387
+#: C/index-in.docbook:9339
+msgid "For instance, from <classname>Gdk::RGBA</classname>:"
+msgstr "示例æ¥è‡ª<classname>Gdk::RGBA</classname>:"
+
+#: C/index-in.docbook:9340
#, no-wrap
msgid ""
"\n"
@@ -16251,16 +16224,11 @@ msgstr ""
"\n"
"_CLASS_BOXEDTYPE(RGBA, GdkRGBA, NONE, gdk_rgba_copy, gdk_rgba_free)\n"
-#: C/index-in.docbook:9386
-msgid ""
-"For instance, from <classname>Gdk::RGBA</classname>: <_:programlisting-1/>"
-msgstr "示例æ¥è‡ª<classname>Gdk::RGBA</classname>:<_:programlisting-1/>"
-
-#: C/index-in.docbook:9394
+#: C/index-in.docbook:9346
msgid "_CLASS_BOXEDTYPE_STATIC"
msgstr "_CLASS_BOXEDTYPE_STATIC"
-#: C/index-in.docbook:9395
+#: C/index-in.docbook:9347
msgid ""
"This macro declares a wrapper for a simple assignable struct such as "
"<classname>GdkRectangle</classname>. It is similar to "
@@ -16271,11 +16239,15 @@ msgstr ""
"一个包装器。它和<function>_CLASS_BOXEDTYPE</function>类似,ä¸è¿‡å…¶åŒ…装的C结构"
"体ä¸æ˜¯åŠ¨æ€åˆ†é…的。"
-#: C/index-in.docbook:9399
+#: C/index-in.docbook:9351
msgid "<function>_CLASS_BOXEDTYPE_STATIC( C++ class, C class )</function>"
msgstr "<function>_CLASS_BOXEDTYPE_STATIC( C++ç±», Cç±» )</function>"
-#: C/index-in.docbook:9401
+#: C/index-in.docbook:9352
+msgid "For instance, for <classname>Gdk::Rectangle</classname>:"
+msgstr "示例æ¥è‡ª<classname>Gdk::Rectangle</classname>:"
+
+#: C/index-in.docbook:9353
#, no-wrap
msgid ""
"\n"
@@ -16284,17 +16256,11 @@ msgstr ""
"\n"
"_CLASS_BOXEDTYPE_STATIC(Rectangle, GdkRectangle)\n"
-#: C/index-in.docbook:9400
-msgid ""
-"For instance, for <classname>Gdk::Rectangle</classname>: <_:programlisting-1/"
-">"
-msgstr "示例æ¥è‡ª<classname>Gdk::Rectangle</classname>:<_:programlisting-1/>"
-
-#: C/index-in.docbook:9408
+#: C/index-in.docbook:9359
msgid "_CLASS_OPAQUE_COPYABLE"
msgstr "_CLASS_OPAQUE_COPYABLE"
-#: C/index-in.docbook:9409
+#: C/index-in.docbook:9360
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 "
@@ -16303,7 +16269,7 @@ msgstr ""
"这个å®ä¸ºå…·æœ‰å¤åˆ¶å’Œé‡Šæ”¾å‡½æ•°çš„ä¸é€æ˜Žç»“构体声明了一个包装器。新建(new)ã€å¤åˆ¶"
"(copy)ã€é‡Šæ”¾(free)å‡½æ•°å°†ç”¨äºŽå®žä¾‹åŒ–é»˜è®¤æž„é€ å‡½æ•°ã€å¤åˆ¶æž„é€ å‡½æ•°ã€æžæž„函数。"
-#: C/index-in.docbook:9412
+#: C/index-in.docbook:9363
msgid ""
"<function>_CLASS_OPAQUE_COPYABLE( C++ class, C class, new function, copy "
"function, free function )</function>"
@@ -16311,26 +16277,24 @@ msgstr ""
"<function>_CLASS_OPAQUE_COPYABLE( C++类, C类, new函数, copy函数, free函数 )</"
"function>"
-#: C/index-in.docbook:9414
+#: C/index-in.docbook:9364
+msgid "For instance, from <classname>Glib::VariantType</classname>:"
+msgstr "示例æ¥è‡ª<classname>Glib::Checksum</classname>:"
+
+#: C/index-in.docbook:9365
#, no-wrap
msgid ""
"\n"
-"_CLASS_OPAQUE_COPYABLE(Checksum, GChecksum, NONE, g_checksum_copy, g_checksum_free)\n"
+"_CLASS_OPAQUE_COPYABLE(VariantType, GVariantType, NONE, g_variant_type_copy, g_variant_type_free)\n"
msgstr ""
"\n"
-"_CLASS_OPAQUE_COPYABLE(Checksum, GChecksum, NONE, g_checksum_copy, g_checksum_free)\n"
-
-#: C/index-in.docbook:9413
-msgid ""
-"For instance, from <classname>Glib::Checksum</classname>: <_:"
-"programlisting-1/>"
-msgstr "示例æ¥è‡ª<classname>Glib::Checksum</classname>:<_:programlisting-1/>"
+"_CLASS_OPAQUE_COPYABLE(VariantType, GVariantType, NONE, g_variant_type_copy, g_variant_type_free)\n"
-#: C/index-in.docbook:9421
+#: C/index-in.docbook:9371
msgid "_CLASS_OPAQUE_REFCOUNTED"
msgstr "_CLASS_OPAQUE_REFCOUNTED"
-#: C/index-in.docbook:9422
+#: C/index-in.docbook:9372
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 "
@@ -16339,7 +16303,7 @@ msgstr ""
"这个å®ä¸ºä½¿ç”¨å¼•ç”¨è®¡æ•°çš„ä¸é€æ˜Žç»“构体声明了一个包装器。C++包装器将ä¸èƒ½ç›´æŽ¥å®žä¾‹"
"化,需è¦ä¸Ž<classname>Glib::RefPtr</classname>一起使用。"
-#: C/index-in.docbook:9425
+#: C/index-in.docbook:9375
msgid ""
"<function>_CLASS_OPAQUE_REFCOUNTED( C++ class, C class, new function, ref "
"function, unref function )</function>"
@@ -16347,62 +16311,58 @@ msgstr ""
"<function>_CLASS_OPAQUE_REFCOUNTED( C++函数, C函数, new函数, ref函数, unref函"
"æ•° )</function>"
-#: C/index-in.docbook:9427
+#: C/index-in.docbook:9376
+msgid "For instance, for <classname>Gtk::CssSection</classname>:"
+msgstr "示例æ¥è‡ª<classname>Gdk::Rectangle</classname>:"
+
+#: C/index-in.docbook:9377
#, no-wrap
msgid ""
"\n"
-"_CLASS_OPAQUE_REFCOUNTED(Coverage, PangoCoverage, pango_coverage_new, pango_coverage_ref,
pango_coverage_unref)\n"
+"_CLASS_OPAQUE_REFCOUNTED(CssSection, GtkCssSection, NONE, gtk_css_section_ref, gtk_css_section_unref)\n"
msgstr ""
"\n"
-"_CLASS_OPAQUE_REFCOUNTED(Coverage, PangoCoverage, pango_coverage_new, pango_coverage_ref,
pango_coverage_unref)\n"
+"_CLASS_OPAQUE_REFCOUNTED(CssSection, GtkCssSection, NONE, gtk_css_section_ref, gtk_css_section_unref)\n"
-#: C/index-in.docbook:9426
-msgid ""
-"For instance, for <classname>Pango::Coverage</classname>: <_:"
-"programlisting-1/>"
-msgstr "示例æ¥è‡ª<classname>Pango::Coverage</classname>:<_:programlisting-1/>"
-
-#: C/index-in.docbook:9434
+#: C/index-in.docbook:9383
msgid "_CLASS_GENERIC"
msgstr "_CLASS_GENERIC"
-#: C/index-in.docbook:9435
+#: C/index-in.docbook:9384
msgid ""
"This macro can be used to wrap structs which don't fit into any specialized "
"category."
msgstr "这个å®ç”¨äºŽåŒ…装任何ä¸å±žäºŽä¸“用包装å®çš„结构体。"
-#: C/index-in.docbook:9437
+#: C/index-in.docbook:9386
msgid "<function>_CLASS_GENERIC( C++ class, C class )</function>"
msgstr "<function>_CLASS_GENERIC( C++ç±», Cç±» )</function>"
-#: C/index-in.docbook:9439
+#: C/index-in.docbook:9387
+msgid "For instance, for <classname>Gdk::TimeCoord</classname>:"
+msgstr "示例æ¥è‡ª<classname>Gdk::Rectangle</classname>:"
+
+#: C/index-in.docbook:9388
#, no-wrap
msgid ""
"\n"
-"_CLASS_GENERIC(AttrIter, PangoAttrIterator)\n"
+"_CLASS_GENERIC(TimeCoord, GdkTimeCoord)\n"
msgstr ""
"\n"
-"_CLASS_GENERIC(AttrIter, PangoAttrIterator)\n"
+"_CLASS_GENERIC(TimeCoord, GdkTimeCoord)\n"
-#: C/index-in.docbook:9438
-msgid ""
-"For instance, for <classname>Pango::AttrIter</classname>: <_:"
-"programlisting-1/>"
-msgstr "示例æ¥è‡ª<classname>Pango::AttrIter</classname>:<_:programlisting-1/>"
-
-#: C/index-in.docbook:9446
+#: C/index-in.docbook:9394
msgid "_CLASS_INTERFACE"
msgstr "_CLASS_INTERFACE"
-#: C/index-in.docbook:9447
+#: C/index-in.docbook:9395
msgid ""
"This macro declares a wrapper for a type that is derived from "
"<classname>GTypeInterface</classname>."
msgstr ""
"这个å®ä¸ºæ´¾ç”Ÿè‡ª<classname>GTypeInterface</classname>的类型声明了一个包装器。"
-#: C/index-in.docbook:9450
+#: C/index-in.docbook:9398
msgid ""
"<function>_CLASS_INTERFACE( C++ class, C class, C casting macro, C interface "
"struct, Base C++ class (optional), Base C class (optional) )</function>"
@@ -16410,7 +16370,11 @@ msgstr ""
"<function>_CLASS_INTERFACE( C++ç±», Cç±», C转æ¢å®, C接å£ç»“构体, C++基类(å¯é€‰"
"çš„), C基类(å¯é€‰çš„) )</function>"
-#: C/index-in.docbook:9453
+#: C/index-in.docbook:9399
+msgid "For instance, from <filename>celleditable.hg</filename>:"
+msgstr "示例æ¥è‡ªä¸Ž<filename>celleditable.hg</filename>:"
+
+#: C/index-in.docbook:9401
#, no-wrap
msgid ""
"\n"
@@ -16419,13 +16383,21 @@ msgstr ""
"\n"
"_CLASS_INTERFACE(CellEditable, GtkCellEditable, GTK_CELL_EDITABLE, GtkCellEditableIface)\n"
-#: C/index-in.docbook:9451
+#: C/index-in.docbook:9404
msgid ""
-"For instance, from <filename>celleditable.hg</filename>: <_:programlisting-1/"
-">"
-msgstr "示例æ¥è‡ªä¸Ž<filename>celleditable.hg</filename>:<_:programlisting-1/>"
+"Two extra optional parameters were once added, for the case that the "
+"interface derives from another interface, which was believed to be the case "
+"when the GInterface has another GInterface as a prerequisite. This is a "
+"misunderstanding, though. When GInterface A has GInterface B as a "
+"prerequisite, it means that every class that implements A shall also "
+"implement B. For instance, from <filename>loadableicon.hg</filename> in "
+"glibmm-2.4:"
+msgstr ""
+"对于接å£æ˜¯ä»Žå…¶ä»–接å£æ´¾ç”Ÿçš„æƒ…å†µï¼Œä¸¤ä¸ªé™„åŠ å‚数是å¯é€‰çš„,GInterface有å¦ä¸€ä¸ª"
+"GInterface作为先决æ¡ä»¶æ—¶å±žäºŽæ¤æƒ…况。示例æ¥è‡ªäºŽ<filename>loadableicon.hg</"
+"filename>:"
-#: C/index-in.docbook:9460
+#: C/index-in.docbook:9410
#, no-wrap
msgid ""
"\n"
@@ -16434,22 +16406,11 @@ msgstr ""
"\n"
"_CLASS_INTERFACE(LoadableIcon, GLoadableIcon, G_LOADABLE_ICON, GLoadableIconIface, Icon, GIcon)\n"
-#: C/index-in.docbook:9457
-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 "
-"another GInterface as a prerequisite. For instance, from "
-"<filename>loadableicon.hg</filename>: <_:programlisting-1/>"
-msgstr ""
-"对于接å£æ˜¯ä»Žå…¶ä»–接å£æ´¾ç”Ÿçš„æƒ…å†µï¼Œä¸¤ä¸ªé™„åŠ å‚数是å¯é€‰çš„,GInterface有å¦ä¸€ä¸ª"
-"GInterface作为先决æ¡ä»¶æ—¶å±žäºŽæ¤æƒ…况。示例æ¥è‡ªäºŽ<filename>loadableicon.hg</"
-"filename>:<_:programlisting-1/>"
-
-#: C/index-in.docbook:9469
+#: C/index-in.docbook:9418
msgid "Constructor macros"
msgstr "æž„é€ å‡½æ•°å®"
-#: C/index-in.docbook:9470
+#: C/index-in.docbook:9419
msgid ""
"The <function>_CTOR_DEFAULT()</function> and <function>_WRAP_CTOR()</"
"function> macros add constructors, wrapping the specified <function>*_new()</"
@@ -16469,7 +16430,20 @@ msgstr ""
"æ•°ï¼Œå› ä¸º<application>gtkmm</application>必须实例化派生的GType,而"
"<function>*_new()</function> C函数åªæ˜¯ç”¨äºŽç»™C程åºå‘˜æ供便利。"
-#: C/index-in.docbook:9485
+#: C/index-in.docbook:9429
+msgid ""
+"When using <function>_CLASS_GOBJECT()</function>, the constructors should be "
+"protected (rather than public) and each constructor should have a "
+"corresponding <function>_WRAP_CREATE()</function> in the public section. "
+"This prevents the class from being instantiated without using a "
+"<classname>RefPtr</classname>. For instance:"
+msgstr ""
+"在使用<function>_CLASS_GOBJECT()</function>æ—¶ï¼Œå…¶æž„é€ å‡½æ•°åº”è¯¥æ˜¯ä¿æŠ¤"
+"(protected)的而ä¸æ˜¯å…¬æœ‰(public)。并且æ¯ä¸ªå…¬æœ‰(public)çš„æž„é€ å‡½æ•°éƒ½åº”è¯¥æœ‰"
+"<function>_WRAP_CREATE()</function>ã€‚è¿™æ ·å¯ä»¥é˜²æ¢åœ¨ä¸ä½¿ç”¨<classname>RefPtr</"
+"classname>的情况下直接实例化这个类。例如:"
+
+#: C/index-in.docbook:9434
#, no-wrap
msgid ""
"\n"
@@ -16494,32 +16468,19 @@ msgstr ""
"public:\n"
" _WRAP_CREATE(const Glib::ustring& name, bool left_gravity = true)\n"
-#: C/index-in.docbook:9480
-msgid ""
-"When using <function>_CLASS_GOBJECT()</function>, the constructors should be "
-"protected (rather than public) and each constructor should have a "
-"corresponding <function>_WRAP_CREATE()</function> in the public section. "
-"This prevents the class from being instantiated without using a "
-"<classname>RefPtr</classname>. For instance: <_:programlisting-1/>"
-msgstr ""
-"在使用<function>_CLASS_GOBJECT()</function>æ—¶ï¼Œå…¶æž„é€ å‡½æ•°åº”è¯¥æ˜¯ä¿æŠ¤"
-"(protected)的而ä¸æ˜¯å…¬æœ‰(public)。并且æ¯ä¸ªå…¬æœ‰(public)çš„æž„é€ å‡½æ•°éƒ½åº”è¯¥æœ‰"
-"<function>_WRAP_CREATE()</function>ã€‚è¿™æ ·å¯ä»¥é˜²æ¢åœ¨ä¸ä½¿ç”¨<classname>RefPtr</"
-"classname>的情况下直接实例化这个类。例如:<_:programlisting-1/>"
-
-#: C/index-in.docbook:9499
+#: C/index-in.docbook:9447
msgid "_CTOR_DEFAULT"
msgstr "_CTOR_DEFAULT"
-#: C/index-in.docbook:9500
+#: C/index-in.docbook:9448
msgid "This macro creates a default constructor with no arguments."
msgstr "这个å®åˆ›å»ºä¸€ä¸ªä¸æŽ¥å—å‚æ•°çš„é»˜è®¤æž„é€ å‡½æ•°"
-#: C/index-in.docbook:9505
+#: C/index-in.docbook:9453
msgid "_WRAP_CTOR"
msgstr "_WRAP_CTOR"
-#: C/index-in.docbook:9506
+#: C/index-in.docbook:9454
msgid ""
"This macro creates a constructor with arguments, equivalent to a "
"<function>*_new()</function> C function. It won't actually call the "
@@ -16531,11 +16492,11 @@ msgstr ""
"但是他ä¸ä¼šè°ƒç”¨<function>*_new()</function>函数,åªä¼šåˆ›å»ºæœ‰ç›¸åŒå‚æ•°ç±»åž‹çš„æž„é€ "
"函数。它需è¦ä¸€ä¸ªC++æž„é€ å‡½æ•°ç¾å和一个C函数å。"
-#: C/index-in.docbook:9516 C/index-in.docbook:10020
+#: C/index-in.docbook:9464 C/index-in.docbook:9960
msgid "errthrow"
msgstr "errthrow"
-#: C/index-in.docbook:9518
+#: C/index-in.docbook:9466
msgid ""
"This tells <command>gmmproc</command> that the C <function>*_new()</"
"function> has a final <type>GError**</type> parameter which should be "
@@ -16544,30 +16505,15 @@ msgstr ""
"这告诉<command>gmmproc</command>,<function>*_new()</function>的最åŽä¸€ä¸ª "
"<type>GError**</type>是å¦åº”该被忽略。"
-#: C/index-in.docbook:9513
+#: C/index-in.docbook:9461
msgid "It also takes an optional extra argument: <_:variablelist-1/>"
msgstr "他还有需è¦é¢å¤–çš„å¯é€‰å‚数:<_:variablelist-1/>"
-#: C/index-in.docbook:9527
-msgid "Hand-coding constructors"
-msgstr "手工编ç æž„é€ å‡½æ•°"
-
-#: C/index-in.docbook:9536
-#, no-wrap
-msgid ""
-"\n"
-"Button::Button(const Glib::ustring& label, bool mnemonic)\n"
-":\n"
-" _CONSTRUCT(\"label\", label.c_str(), \"use_underline\", gboolean(mnemonic))\n"
-"{}\n"
-msgstr ""
-"\n"
-"Button::Button(const Glib::ustring& label, bool mnemonic)\n"
-":\n"
-" _CONSTRUCT(\"label\", label.c_str(), \"use_underline\", gboolean(mnemonic))\n"
-"{}\n"
+#: C/index-in.docbook:9475
+msgid "Hand-coding constructors"
+msgstr "手工编ç æž„é€ å‡½æ•°"
-#: C/index-in.docbook:9528
+#: C/index-in.docbook:9476
msgid ""
"When a constructor must be partly hand written because, for instance, the "
"<function>*_new()</function> C function's parameters do not correspond "
@@ -16576,20 +16522,35 @@ msgid ""
"<function>_CONSTRUCT()</function> macro may be used in the .ccg file to save "
"some work. The <function>_CONSTRUCT</function> macro takes a series of "
"property names and values. For instance, from <filename>button.ccg</"
-"filename>: <_:programlisting-1/>"
+"filename>:"
msgstr ""
"æœ‰æ—¶å› ä¸º<function>*_new()</function> C函数的å‚æ•°ä¸ä¸Žå¯¹è±¡å±žæ€§ç›´æŽ¥å¯¹åº”,或是"
"<function>*_new()</function> C函数ä¸åªæ˜¯ç®€å•çš„调用<function>g_object_new()</"
"function>ï¼Œä½ å°†å¿…é¡»æ‰‹å†™ä¸€éƒ¨åˆ†æž„é€ å‡½æ•°ã€‚åœ¨æ¤æ—¶ä½ å¯ä»¥åœ¨ã€‹ccg文件ä¸ä½¿ç”¨"
"<function>_CONSTRUCT()</function>å®æ¥ä¿å˜ä¸€äº›å·¥ä½œã€‚<function>_CONSTRUCT</"
"function>å®æŽ¥å—一系列属性å与值作为å‚数。示例æ¥è‡ª<filename>button.ccg</"
-"filename>:<_:programlisting-1/>"
+"filename>:"
+
+#: C/index-in.docbook:9484
+#, no-wrap
+msgid ""
+"\n"
+"Button::Button(const Glib::ustring& label, bool mnemonic)\n"
+":\n"
+" _CONSTRUCT(\"label\", label.c_str(), \"use_underline\", gboolean(mnemonic))\n"
+"{}\n"
+msgstr ""
+"\n"
+"Button::Button(const Glib::ustring& label, bool mnemonic)\n"
+":\n"
+" _CONSTRUCT(\"label\", label.c_str(), \"use_underline\", gboolean(mnemonic))\n"
+"{}\n"
-#: C/index-in.docbook:9548
+#: C/index-in.docbook:9495
msgid "Macros that suppress generation of some code"
msgstr "抑制æŸäº›ä»£ç 生æˆçš„å®"
-#: C/index-in.docbook:9549
+#: C/index-in.docbook:9496
msgid ""
"Some macros suppress the generation of some code when they are used after a "
"<function>_CLASS_*</function> macro. Some suppress the definition in the "
@@ -16600,11 +16561,11 @@ msgstr ""
"æˆã€‚一些抑制在.cc文件ä¸ç”Ÿæˆå®šä¹‰ï¼Œå¦ä¸€äº›æŠ‘制在.h文件ä¸ç”Ÿæˆçš„声明和.cc文件ä¸ç”Ÿ"
"æˆçš„定义。"
-#: C/index-in.docbook:9556
+#: C/index-in.docbook:9503
msgid "_CUSTOM_DEFAULT_CTOR"
msgstr "_CUSTOM_DEFAULT_CTOR"
-#: C/index-in.docbook:9557
+#: C/index-in.docbook:9504
msgid ""
"Suppresses declaration and definition of default constructor in "
"<function>_CLASS_BOXEDTYPE</function>, <function>_CLASS_BOXEDTYPE_STATIC</"
@@ -16614,11 +16575,11 @@ msgstr ""
"<function>_CLASS_BOXEDTYPE_STATIC</function>ã€"
"<function>_CLASS_OPAQUE_COPYABLE</function>生æˆé»˜è®¤æž„é€ å‡½æ•°çš„å£°æ˜Žå’Œå®šä¹‰ã€‚"
-#: C/index-in.docbook:9564
+#: C/index-in.docbook:9511
msgid "_CUSTOM_CTOR_CAST"
msgstr "_CUSTOM_CTOR_CAST"
-#: C/index-in.docbook:9565
+#: C/index-in.docbook:9512
msgid ""
"Suppresses declaration and definition of the constructor that takes a "
"pointer to the wrapped C object in <function>_CLASS_BOXEDTYPE</function> and "
@@ -16628,7 +16589,7 @@ msgstr ""
"<function>_CLASS_BOXEDTYPE_STATIC</function>生æˆæŽ¥å—指å‘其所包装的C类型的指针"
"çš„æž„é€ å‡½æ•°çš„å£°æ˜Žå’Œå®šä¹‰ã€‚"
-#: C/index-in.docbook:9569
+#: C/index-in.docbook:9516
msgid ""
"Suppresses definition of the constructor that takes a pointer to the wrapped "
"C object in <function>_CLASS_INTERFACE</function> and "
@@ -16637,7 +16598,7 @@ msgstr ""
"抑制<function>_CLASS_INTERFACE</function>和<function>_CLASS_OPAQUE_COPYABLE</"
"function>生æˆæŽ¥å—指å‘其所包装的Cç±»åž‹çš„æŒ‡é’ˆçš„æž„é€ å‡½æ•°çš„å®šä¹‰ã€‚"
-#: C/index-in.docbook:9573
+#: C/index-in.docbook:9520
msgid ""
"Suppresses definition of the constructor that takes a pointer to the wrapped "
"C object and the constructor that takes construct_params in "
@@ -16648,11 +16609,11 @@ msgstr ""
"function>生æˆæŽ¥å—指å‘其所包装的C类型的指针且接å—å…¶ä»–æž„é€ å‚æ•°çš„æž„é€ å‡½æ•°çš„å®š"
"义。"
-#: C/index-in.docbook:9580
+#: C/index-in.docbook:9527
msgid "_CUSTOM_DTOR"
msgstr "_CUSTOM_DTOR"
-#: C/index-in.docbook:9581
+#: C/index-in.docbook:9528
msgid ""
"Suppresses definition of destructor in <function>_CLASS_GOBJECT</function> "
"and <function>_CLASS_GTKOBJECT</function>."
@@ -16660,11 +16621,11 @@ msgstr ""
"抑制<function>_CLASS_GOBJECT</function>和<function>_CLASS_GTKOBJECT</"
"function>生æˆæžæž„函数的定义"
-#: C/index-in.docbook:9587
+#: C/index-in.docbook:9534
msgid "_CUSTOM_MOVE_OPERATIONS"
msgstr "_CUSTOM_MOVE_OPERATIONS"
-#: C/index-in.docbook:9588
+#: C/index-in.docbook:9535
msgid ""
"Suppresses declaration and definition of move constructor and move "
"assignment operator in <function>_CLASS_GOBJECT</function> and "
@@ -16673,7 +16634,11 @@ msgstr ""
"抑制<function>_CLASS_GOBJECT</function><function>_CLASS_GTKOBJECT</function>"
"生æˆç§»åŠ¨æž„é€ å‡½æ•°å’Œç§»åŠ¨èµ‹å€¼è¿ç®—符的声明和定义。"
-#: C/index-in.docbook:9593
+#: C/index-in.docbook:9539
+msgid "For example:"
+msgstr "例如:"
+
+#: C/index-in.docbook:9540
#, no-wrap
msgid ""
"\n"
@@ -16702,15 +16667,11 @@ msgstr ""
" // ...\n"
"};\n"
-#: C/index-in.docbook:9592
-msgid "For example: <_:programlisting-1/>"
-msgstr "例如:<_:programlisting-1/>"
-
-#: C/index-in.docbook:9610
+#: C/index-in.docbook:9556
msgid "_CUSTOM_WRAP_NEW"
msgstr "_CUSTOM_WRAP_NEW"
-#: C/index-in.docbook:9611
+#: C/index-in.docbook:9557
msgid ""
"Suppresses definition of <function>Glib::wrap_new()</function> function in "
"<function>_CLASS_GOBJECT</function>."
@@ -16718,11 +16679,11 @@ msgstr ""
"抑制<function>_CLASS_GOBJECT</function>生æˆ<function>Glib::wrap_new()</"
"function>的定义。"
-#: C/index-in.docbook:9617
+#: C/index-in.docbook:9563
msgid "_CUSTOM_WRAP_FUNCTION"
msgstr "_CUSTOM_WRAP_FUNCTION"
-#: C/index-in.docbook:9618
+#: C/index-in.docbook:9564
msgid ""
"Suppresses definition of <function>Glib::wrap()</function> function in "
"<function>_CLASS_GOBJECT</function> and <function>_CLASS_GTKOBJECT</"
@@ -16731,11 +16692,11 @@ msgstr ""
"抑制<function>_CLASS_GOBJECT</function>和<function>_CLASS_GTKOBJECT</"
"function>生æˆ<function>Glib::wrap()</function>函数的定义。"
-#: C/index-in.docbook:9624
+#: C/index-in.docbook:9570
msgid "_NO_WRAP_FUNCTION"
msgstr "_NO_WRAP_FUNCTION"
-#: C/index-in.docbook:9625
+#: C/index-in.docbook:9571
msgid ""
"Suppresses declaration and definition of <function>Glib::wrap()</function> "
"function in <function>_CLASS_GOBJECT</function>, <function>_CLASS_BOXEDTYPE</"
@@ -16749,24 +16710,28 @@ msgstr ""
"function>å’Œ<function>_CLASS_GTKOBJECT</function>生æˆ<function>Glib::wrap()</"
"function>函数的声明和定义。"
-#: C/index-in.docbook:9635
+#: C/index-in.docbook:9581
msgid "Method macros"
msgstr "方法å®"
-#: C/index-in.docbook:9638
+#: C/index-in.docbook:9584
msgid "_WRAP_METHOD"
msgstr "_WRAP_METHOD"
-#: C/index-in.docbook:9639
+#: C/index-in.docbook:9585
msgid "This macro generates the C++ method to wrap a C function."
msgstr "这个å®ç”¨äºŽç”Ÿæˆå°è£…C函数的C++方法。"
-#: C/index-in.docbook:9640
+#: C/index-in.docbook:9586
msgid ""
"<function>_WRAP_METHOD( C++ method signature, C function name)</function>"
msgstr "<function>_WRAP_METHOD( C++方法ç¾å, C函数å)</function>"
-#: C/index-in.docbook:9642
+#: C/index-in.docbook:9587
+msgid "For instance, from <filename>entry.hg</filename>:"
+msgstr "示例æ¥è‡ªäºŽ<filename>entry.hg</filename>:"
+
+#: C/index-in.docbook:9588
#, no-wrap
msgid ""
"\n"
@@ -16775,11 +16740,7 @@ msgstr ""
"\n"
"_WRAP_METHOD(void set_text(const Glib::ustring& text), gtk_entry_set_text)\n"
-#: C/index-in.docbook:9641
-msgid "For instance, from <filename>entry.hg</filename>: <_:programlisting-1/>"
-msgstr "示例æ¥è‡ªäºŽ<filename>entry.hg</filename>:<_:programlisting-1/>"
-
-#: C/index-in.docbook:9646
+#: C/index-in.docbook:9591
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 "
@@ -16792,22 +16753,22 @@ msgstr ""
"å«äº†ä»ŽC++å‚数类型到Cå‚数类型的必è¦è½¬æ¢ã€‚这个å®è¿˜åŸºäºŽ<filename>*_docs.xml</"
"filename>å’Œ<filename>*_docs_override.xml</filename>文件生æˆdoxygen文档注释。"
-#: C/index-in.docbook:9655 C/index-in.docbook:9885 C/index-in.docbook:9995
+#: C/index-in.docbook:9600 C/index-in.docbook:9827 C/index-in.docbook:9935
msgid "refreturn"
msgstr "refreturn"
-#: C/index-in.docbook:9657
+#: C/index-in.docbook:9602
msgid ""
"Do an extra <function>reference()</function> on the return value, in case "
"the C function does not provide a reference."
msgstr ""
"在C函数ä¸æ供引用时,对其返回值é¢å¤–调用一次<function>reference()</function>。"
-#: C/index-in.docbook:9662 C/index-in.docbook:9785
+#: C/index-in.docbook:9607 C/index-in.docbook:9729
msgid "errthrow [\"<exceptions>\"]"
msgstr "errthrow [\"<exceptions>\"]"
-#: C/index-in.docbook:9664
+#: C/index-in.docbook:9609
msgid ""
"Use the last GError** parameter of the C function to throw an exception. The "
"optional \"<exceptions>\" is a comma-separated list of exceptions that "
@@ -16823,56 +16784,56 @@ msgstr ""
"å·ï¼Œè¯·ä½¿ç”¨åæ–œæ 对其进行转义。例如:<code>errthrow \"Glib::OptionError Hello"
"\\, world, Glib::ConvertError\"</code>"
-#: C/index-in.docbook:9675 C/index-in.docbook:9893 C/index-in.docbook:9960
-#: C/index-in.docbook:10206
+#: C/index-in.docbook:9620 C/index-in.docbook:9835 C/index-in.docbook:9901
+#: C/index-in.docbook:10140
msgid "deprecated [\"<text>\"]"
msgstr "deprecated [\"<text>\"]"
-#: C/index-in.docbook:9677 C/index-in.docbook:9895 C/index-in.docbook:9962
-#: C/index-in.docbook:10208
+#: C/index-in.docbook:9622 C/index-in.docbook:9837 C/index-in.docbook:9903
+#: C/index-in.docbook:10142
msgid ""
"Puts the generated code in #ifdef blocks. Text about the deprecation can be "
"specified as an optional parameter."
msgstr ""
"将生æˆçš„代ç 放入#ifdefå—ä¸ã€‚text是å¯é€‰å‚数,用于æ供与弃用有关的文本信æ¯ã€‚"
-#: C/index-in.docbook:9683
+#: C/index-in.docbook:9628
msgid "constversion"
msgstr "constversion"
-#: C/index-in.docbook:9685
+#: C/index-in.docbook:9630
msgid ""
"Just call the non-const version of the same function, instead of generating "
"almost duplicate code."
msgstr "直接调用åŒä¸€ä¸ªå‡½æ•°çš„éžconst版本,而ä¸æ˜¯ç”Ÿæˆå‡ 乎相åŒçš„代ç 。"
-#: C/index-in.docbook:9690 C/index-in.docbook:9798 C/index-in.docbook:9900
-#: C/index-in.docbook:9967 C/index-in.docbook:10213
+#: C/index-in.docbook:9635 C/index-in.docbook:9742 C/index-in.docbook:9842
+#: C/index-in.docbook:9908 C/index-in.docbook:10147
msgid "newin \"<version>\""
msgstr "newin \"<version>\""
-#: C/index-in.docbook:9692 C/index-in.docbook:9800 C/index-in.docbook:9902
-#: C/index-in.docbook:9969 C/index-in.docbook:10215
+#: C/index-in.docbook:9637 C/index-in.docbook:9744 C/index-in.docbook:9844
+#: C/index-in.docbook:9910 C/index-in.docbook:10149
msgid ""
"Adds a @newin Doxygen command to the documentation, or replaces the @newin "
"command generated from the C documentation."
msgstr "在文档ä¸æ·»åŠ @newin Doxygen命令,或替æ¢ä»ŽC文档ä¸ç”Ÿæˆçš„@newin命令。"
-#: C/index-in.docbook:9697 C/index-in.docbook:9907 C/index-in.docbook:10042
-#: C/index-in.docbook:10129
+#: C/index-in.docbook:9642 C/index-in.docbook:9849 C/index-in.docbook:9982
+#: C/index-in.docbook:10068
msgid "ifdef <identifier>"
msgstr "ifdef <identifier>"
-#: C/index-in.docbook:9699 C/index-in.docbook:9909 C/index-in.docbook:10044
-#: C/index-in.docbook:10131
+#: C/index-in.docbook:9644 C/index-in.docbook:9851 C/index-in.docbook:9984
+#: C/index-in.docbook:10070
msgid "Puts the generated code in #ifdef blocks."
msgstr "将生æˆçš„代ç 放入ifdef <identifier>å—ä¸ã€‚"
-#: C/index-in.docbook:9703 C/index-in.docbook:10048
+#: C/index-in.docbook:9648 C/index-in.docbook:9988
msgid "slot_name <parameter_name>"
msgstr "slot_name <parameter_name>"
-#: C/index-in.docbook:9705 C/index-in.docbook:10050
+#: C/index-in.docbook:9650 C/index-in.docbook:9990
msgid ""
"Specifies the name of the slot parameter of the method, if it has one. This "
"enables <command>gmmproc</command> to generate code to copy the slot and "
@@ -16886,11 +16847,11 @@ msgstr ""
"literal>å‚数的代ç 。<literal>slot_callback</literal>å‚数需è¦ä½¿ç”¨æ¤é€‰é¡¹æŒ‡å®šçš„"
"å称。"
-#: C/index-in.docbook:9715 C/index-in.docbook:10060
+#: C/index-in.docbook:9660 C/index-in.docbook:10000
msgid "slot_callback <function_name>"
msgstr "slot_callback <function_name>"
-#: C/index-in.docbook:9717 C/index-in.docbook:10062
+#: C/index-in.docbook:9662 C/index-in.docbook:10002
msgid ""
"Used in conjunction with the <literal>slot_name</literal> option to specify "
"the name of the glue callback function that handles extracting the slot and "
@@ -16901,11 +16862,11 @@ msgstr ""
"指定的胶水回调函数处ç†æå–槽然åŽè°ƒç”¨å®ƒã€‚è¿™ä¸ªå›žè°ƒå‡½æ•°çš„å‡½æ•°æŒ‡é’ˆä¹Ÿå°†è¢«ä¼ é€’ç»™å°"
"装æ¤C函数的方法。"
-#: C/index-in.docbook:9725 C/index-in.docbook:10070
+#: C/index-in.docbook:9670 C/index-in.docbook:10010
msgid "no_slot_copy"
msgstr "no_slot_copy"
-#: C/index-in.docbook:9727 C/index-in.docbook:10072
+#: C/index-in.docbook:9672 C/index-in.docbook:10012
msgid ""
"Tells <command>gmmproc</command> not to pass a copy of the slot to the C "
"function, if the method has one. Instead the slot itself is passed. The slot "
@@ -16917,12 +16878,12 @@ msgstr ""
"ç›´æŽ¥ä¼ é€’æ§½æœ¬èº«ã€‚æ§½çš„å‚æ•°å和胶水回调函数必须分别使用<literal>slot_name</"
"literal>和<literal>slot_callback</literal>选项指定。"
-#: C/index-in.docbook:9652 C/index-in.docbook:9782 C/index-in.docbook:9855
-#: C/index-in.docbook:9957 C/index-in.docbook:9992 C/index-in.docbook:10147
+#: C/index-in.docbook:9597 C/index-in.docbook:9726 C/index-in.docbook:9797
+#: C/index-in.docbook:9898 C/index-in.docbook:9932 C/index-in.docbook:10085
msgid "There are some optional extra arguments: <_:variablelist-1/>"
msgstr "有一些å¯é€‰çš„é¢å¤–å‚数:<_:variablelist-1/>"
-#: C/index-in.docbook:9740
+#: C/index-in.docbook:9685
msgid ""
"Objects used via <classname>RefPtr</classname>: Pass the <classname>RefPtr</"
"classname> as a const reference. For instance, <code>const Glib::RefPtr<"
@@ -16932,7 +16893,7 @@ msgstr ""
"classname>的const引用。例如:<code>const Glib::RefPtr<Gtk::FileFilter>"
"& filter</code>。"
-#: C/index-in.docbook:9744
+#: C/index-in.docbook:9689
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, "
@@ -16944,7 +16905,7 @@ msgstr ""
"的。例如:<code>const Glib::RefPtr<const Gtk::FileFilter>& filter</"
"code>。"
-#: C/index-in.docbook:9749
+#: C/index-in.docbook:9694
msgid ""
"Wrapping <classname>GList*</classname> and <classname>GSList*</classname> "
"parameters: First, you need to discover what objects are contained in the "
@@ -16960,12 +16921,12 @@ msgstr ""
"Glib::RefPtr<Gdk::Pixbuf>></code>ã€‚ä½ å¯èƒ½éœ€è¦å®šä¹‰ä¸€ä¸ªTraits类型æ¥æŒ‡"
"示C类型和C++类型如何相互转æ¢ã€‚"
-#: C/index-in.docbook:9765
+#: C/index-in.docbook:9710
#, no-wrap
msgid "#m4
_CONVERSION(`GSList*',`std::vector<Widget*>',`Glib::SListHandler<Widget*>::slist_to_vector($3,
Glib::OWNERSHIP_SHALLOW)')"
msgstr "#m4
_CONVERSION(`GSList*',`std::vector<Widget*>',`Glib::SListHandler<Widget*>::slist_to_vector($3,
Glib::OWNERSHIP_SHALLOW)')"
-#: C/index-in.docbook:9757
+#: C/index-in.docbook:9702
msgid ""
"Wrapping <classname>GList*</classname> and <classname>GSList*</classname> "
"return types: You must discover whether the caller should free the list and "
@@ -16981,7 +16942,7 @@ msgstr ""
"将其直接放在.hg文件ä¸ï¼Œå› 为所有æƒå–决于函数本身而ä¸æ˜¯å…¶ç±»åž‹ã€‚例如:<_:"
"programlisting-1/>"
-#: C/index-in.docbook:9736
+#: C/index-in.docbook:9681
msgid ""
"Selecting which C++ types should be used is also important when wrapping C "
"API. Though it's usually obvious what C++ types should be used in the C++ "
@@ -16990,11 +16951,11 @@ msgstr ""
"å°è£…C API时,选择对应的C++类型也很é‡è¦ã€‚尽管多数时候应该在C++方法ä¸ä½¿ç”¨ä»€ä¹ˆC+"
"+ç±»åž‹æ˜¯å¾ˆæ˜Žæ˜¾çš„ï¼Œä½†æˆ‘ä»¬è¿˜æ˜¯æƒ³ç»™ä½ ä¸€äº›æ示:<_:itemizedlist-1/>"
-#: C/index-in.docbook:9771
+#: C/index-in.docbook:9716
msgid "_WRAP_METHOD_DOCS_ONLY"
msgstr "_WRAP_METHOD_DOCS_ONLY"
-#: C/index-in.docbook:9772
+#: C/index-in.docbook:9717
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 "
@@ -17004,25 +16965,24 @@ msgstr ""
"这个å®ç±»ä¼¼äºŽ<function>_WRAP_METHOD()</function>,但是它åªç”Ÿæˆå°è£…C函数的C++æ–¹"
"æ³•çš„æ–‡æ¡£ã€‚å½“ä½ éœ€è¦æ‰‹åŠ¨ç¼–写该方法åˆä¸æƒ³æ‰‹åŠ¨ç¼–写文档时,请使用这个å®ã€‚"
-#: C/index-in.docbook:9776
+#: C/index-in.docbook:9721
msgid "<function>_WRAP_METHOD_DOCS_ONLY(C function name)</function>"
msgstr "<function>_WRAP_METHOD_DOCS_ONLY(C function name)</function>"
-#: C/index-in.docbook:9778
+#: C/index-in.docbook:9722
+msgid "For instance, from <filename>recentinfo.hg</filename>:"
+msgstr "示例æ¥è‡ªäºŽ<filename>container.hg</filename>:"
+
+#: C/index-in.docbook:9723
#, no-wrap
msgid ""
"\n"
-"_WRAP_METHOD_DOCS_ONLY(gtk_container_add)\n"
+"_WRAP_METHOD_DOCS_ONLY(gtk_recent_info_get_applications)\n"
msgstr ""
"\n"
-"_WRAP_METHOD_DOCS_ONLY(gtk_container_add)\n"
-
-#: C/index-in.docbook:9777
-msgid ""
-"For instance, from <filename>container.hg</filename>: <_:programlisting-1/>"
-msgstr "示例æ¥è‡ªäºŽ<filename>container.hg</filename>:<_:programlisting-1/>"
+"_WRAP_METHOD_DOCS_ONLY(gtk_recent_info_get_applications)\n"
-#: C/index-in.docbook:9787
+#: C/index-in.docbook:9731
msgid ""
"Excludes documentation of the last GError** parameter of the C function. The "
"optional \"<exceptions>\" is a comma-separated list of exceptions that "
@@ -17038,11 +16998,11 @@ msgstr ""
"需è¦åœ¨å¼‚常æè¿°ä¸ä½¿ç”¨é€—å·ï¼Œè¯·ä½¿ç”¨åæ–œæ 对其进行转义。例如:<code>errthrow "
"\"Glib::OptionError Hello\\, world, Glib::ConvertError\"</code>"
-#: C/index-in.docbook:9805
+#: C/index-in.docbook:9749
msgid "voidreturn"
msgstr "voidreturn"
-#: C/index-in.docbook:9807
+#: C/index-in.docbook:9751
msgid ""
"Don't include a @return Doxygen command in the documentation. Useful if the "
"wrapped C function returns a value, but the corresponding C++ method returns "
@@ -17051,11 +17011,11 @@ msgstr ""
"ä¸è¦å†æ–‡æ¡£ä¸åŒ…å«@return Doxygen命令。如果被å°è£…çš„C函数有返回而å°è£…它的C++方法"
"返回<type>void</type>,这将很有用。"
-#: C/index-in.docbook:9817
+#: C/index-in.docbook:9761
msgid "_IGNORE, _IGNORE_SIGNAL, _IGNORE_PROPERTY"
msgstr "_IGNORE, _IGNORE_SIGNAL, _IGNORE_PROPERTY"
-#: C/index-in.docbook:9818
+#: C/index-in.docbook:9762
msgid ""
"<command>gmmproc</command> will warn you on stdout about functions, signals, "
"properties and child properties that you have forgotten to wrap, helping to "
@@ -17070,7 +17030,7 @@ msgstr ""
"_IGNORE_SIGNAL()ã€_IGNORE_PROPERTY()å®ä½¿<command>gmmproc</command>åœæ¢å‘出部"
"分è¦å‘Šã€‚"
-#: C/index-in.docbook:9826
+#: C/index-in.docbook:9770
#, no-wrap
msgid ""
"<function>_IGNORE(C function name 1, C function name 2, etc)\n"
@@ -17081,7 +17041,11 @@ msgstr ""
"_IGNORE_SIGNAL(C属性å1, C属性å2, ...)\n"
"_IGNORE_PROPERTY(C属性å1, C属性å2, ...)</function>"
-#: C/index-in.docbook:9831
+#: C/index-in.docbook:9774
+msgid "For instance, from <filename>flowbox.hg</filename>:"
+msgstr "示例æ¥è‡ª<filename>flowbox.hg</filename>:"
+
+#: C/index-in.docbook:9775
#, no-wrap
msgid ""
"\n"
@@ -17092,16 +17056,11 @@ msgstr ""
"_IGNORE(gtk_flow_box_set_filter_func, gtk_flow_box_set_sort_func)\n"
"_IGNORE_SIGNAL(activate-cursor-child, toggle-cursor-child, move-cursor)\n"
-#: C/index-in.docbook:9830
-msgid ""
-"For instance, from <filename>flowbox.hg</filename>: <_:programlisting-1/>"
-msgstr "示例æ¥è‡ª<filename>flowbox.hg</filename>:<_:programlisting-1/>"
-
-#: C/index-in.docbook:9839
+#: C/index-in.docbook:9782
msgid "_WRAP_SIGNAL"
msgstr "_WRAP_SIGNAL"
-#: C/index-in.docbook:9840
+#: C/index-in.docbook:9783
msgid ""
"This macro generates the C++ libsigc++-style signal to wrap a C GObject "
"signal. It actually generates a public accessor method, such as "
@@ -17114,13 +17073,13 @@ msgstr ""
"象。<command>gmmproc</command>使用.defs文件寻找Cå‚数类型并使用.m4转æ¢æ–‡ä»¶æŸ¥æ‰¾"
"如何将其转æ¢ä¸ºé€‚当的类型。"
-#: C/index-in.docbook:9846
+#: C/index-in.docbook:9789
msgid ""
"<function>_WRAP_SIGNAL( C++ signal handler signature, C signal name)</"
"function>"
msgstr "<function>_WRAP_SIGNAL( C++ä¿¡å·å¤„ç†å‡½æ•°ç¾å, Cä¿¡å·å)</function>"
-#: C/index-in.docbook:9848
+#: C/index-in.docbook:9791
#, no-wrap
msgid ""
"\n"
@@ -17129,7 +17088,7 @@ msgstr ""
"\n"
"_WRAP_SIGNAL(void clicked(),\"clicked\")\n"
-#: C/index-in.docbook:9852
+#: C/index-in.docbook:9794
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 "
@@ -17138,11 +17097,11 @@ msgstr ""
"ä¿¡å·é€šå¸¸åœ¨GTK结构体ä¸å…·æœ‰å‡½æ•°æŒ‡é’ˆï¼Œåœ¨.c文件ä¸æœ‰å¯¹åº”的枚举值和"
"<function>g_signal_new()</function>函数。"
-#: C/index-in.docbook:9858
+#: C/index-in.docbook:9800
msgid "no_default_handler"
msgstr "no_default_handler"
-#: C/index-in.docbook:9860
+#: C/index-in.docbook:9802
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 "
@@ -17154,11 +17113,11 @@ msgstr ""
"处ç†å‡½æ•°ã€‚å¯ä»¥åœ¨æ·»åŠ 一个具有默认信å·å¤„ç†å‡½æ•°çš„ä¿¡å·ä¼šä½¿è™šå‡½æ•°è¡¨å°ºå¯¸å˜å¤§ä»¥è‡³äºŽ"
"ç ´åABI的时候,或是在需è¦æ·»åŠ 一个éžå…¬å…±C默认处ç†å‡½æ•°çš„时候,使用æ¤å¯é€‰å‚数。"
-#: C/index-in.docbook:9869
+#: C/index-in.docbook:9811
msgid "custom_default_handler"
msgstr "custom_default_handler"
-#: C/index-in.docbook:9871
+#: C/index-in.docbook:9813
msgid ""
"Generate a declaration of the <function>on_something()</function> virtual "
"method in the <filename>.h</filename> file, but do not generate a definition "
@@ -17169,18 +17128,18 @@ msgstr ""
"函数的声明,但ä¸åœ¨<filename>.cc</filename>文件ä¸ç”Ÿæˆè¯¥å‡½æ•°çš„å®šä¹‰ã€‚è¯·åœ¨ä½ éœ€è¦"
"手动编写函数定义的时候使用æ¤å¯é€‰å‚数。"
-#: C/index-in.docbook:9878
+#: C/index-in.docbook:9820
msgid "custom_c_callback"
msgstr "custom_c_callback"
-#: C/index-in.docbook:9880
+#: C/index-in.docbook:9822
msgid ""
"Do not generate a C callback function for the signal. Use this when you must "
"generate the callback function by hand."
msgstr ""
"ä¸è¦ä¸ºä¿¡å·ç”ŸæˆCå›žè°ƒå‡½æ•°ã€‚è¯·åœ¨ä½ éœ€è¦æ‰‹åŠ¨ç¼–写回调函数的时候使用æ¤å¯é€‰å‚数。"
-#: C/index-in.docbook:9887
+#: C/index-in.docbook:9829
msgid ""
"Do an extra <function>reference()</function> on the return value of the "
"<function>on_something()</function> virtual method, in case the C function "
@@ -17189,11 +17148,11 @@ msgstr ""
"当C函数没有æ供引用的时候,在<function>on_something()</function>虚æˆå‘˜å‡½æ•°çš„"
"返回值上é¢å¤–调用一次<function>reference()</function>。"
-#: C/index-in.docbook:9913 C/index-in.docbook:10096
+#: C/index-in.docbook:9855 C/index-in.docbook:10036
msgid "exception_handler <method_name>"
msgstr "exception_handler <method_name>"
-#: C/index-in.docbook:9915 C/index-in.docbook:10098
+#: C/index-in.docbook:9857 C/index-in.docbook:10038
msgid ""
"Allows to use custom exception handler instead of default one. Exception "
"might be rethrown by user-defined handler, and it will be caught by default "
@@ -17202,11 +17161,11 @@ msgstr ""
"å…许使用自定义异常处ç†å‡½æ•°è€Œä¸æ˜¯ä½¿ç”¨é»˜è®¤å¼‚常处ç†å‡½æ•°ã€‚如果异常被用户自定义的"
"处ç†å‡½æ•°ç¨‹åºæŠ›å‡ºï¼Œåˆ™è¯¥å¼‚常将被默认异常处ç†å‡½æ•°æ•èŽ·ã€‚"
-#: C/index-in.docbook:9921
+#: C/index-in.docbook:9863
msgid "detail_name <parameter_name>"
msgstr "detail_name <parameter_name>"
-#: C/index-in.docbook:9923
+#: C/index-in.docbook:9865
msgid ""
"Adds a <type>const Glib::ustring&</type> parameter to the "
"<methodname>signal_something()</methodname> method. Use it, if the signal "
@@ -17218,11 +17177,11 @@ msgstr ""
"了<literal>G_SIGNAL_DETAILED</literal>æ ‡å¿—æ³¨å†Œè¿™ä¸ªä¿¡å·ï¼Œåˆ™ä½¿ç”¨è¯¥å‚数作为详细"
"ä¿¡å·å。"
-#: C/index-in.docbook:9930
+#: C/index-in.docbook:9872
msgid "two_signal_methods"
msgstr "two_signal_methods"
-#: C/index-in.docbook:9932
+#: C/index-in.docbook:9874
msgid ""
"Used in conjunction with the <literal>detail_name</literal> option to "
"generate two <methodname>signal_something()</methodname> methods, one "
@@ -17237,11 +17196,11 @@ msgstr ""
"literal>选项,则åªç”Ÿæˆä¸€ä¸ªæˆå‘˜å‡½æ•°ï¼Œæ¤æˆå‘˜å‡½æ•°å°†æŽ¥å—一个å‚数且æ¤å‚数有默认"
"值。请å†éœ€è¦ä¿æŒABIä¸å˜çš„情况下使用æ¤é€‰é¡¹ã€‚"
-#: C/index-in.docbook:9946
+#: C/index-in.docbook:9888
msgid "_WRAP_PROPERTY"
msgstr "_WRAP_PROPERTY"
-#: C/index-in.docbook:9947
+#: C/index-in.docbook:9889
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. "
@@ -17252,11 +17211,11 @@ msgstr ""
"需的C++类型。<command>gmmproc</command>使用.defs文件寻找Cå‚数类型并使用.m4转"
"æ¢æ–‡ä»¶æŸ¥æ‰¾å¦‚何将其转æ¢ä¸ºé€‚当的类型。"
-#: C/index-in.docbook:9951
+#: C/index-in.docbook:9893
msgid "<function>_WRAP_PROPERTY(C property name, C++ type)</function>"
msgstr "<function>_WRAP_PROPERTY(C属性å, C++类型)</function>"
-#: C/index-in.docbook:9953
+#: C/index-in.docbook:9895
#, no-wrap
msgid ""
"\n"
@@ -17265,20 +17224,24 @@ msgstr ""
"\n"
"_WRAP_PROPERTY(\"label\", Glib::ustring)\n"
-#: C/index-in.docbook:9978
+#: C/index-in.docbook:9919
msgid "_WRAP_VFUNC"
msgstr "_WRAP_VFUNC"
-#: C/index-in.docbook:9979
+#: C/index-in.docbook:9920
msgid "This macro generates the C++ method to wrap a virtual C function."
msgstr "这个å®ç”Ÿæˆç”¨äºŽå°è£…C虚函数的C++æˆå‘˜å‡½æ•°ã€‚"
-#: C/index-in.docbook:9980
+#: C/index-in.docbook:9921
msgid ""
"<function>_WRAP_VFUNC( C++ method signature, C function name)</function>"
msgstr "<function>_WRAP_VFUNC( C++æˆå‘˜å‡½æ•°ç¾å, C函数å)</function>"
-#: C/index-in.docbook:9982
+#: C/index-in.docbook:9922
+msgid "For instance, from <filename>widget.hg</filename>:"
+msgstr "示例æ¥è‡ªäºŽ<filename>widget.hg</filename>:"
+
+#: C/index-in.docbook:9923
#, no-wrap
msgid ""
"\n"
@@ -17287,12 +17250,7 @@ msgstr ""
"\n"
"_WRAP_VFUNC(SizeRequestMode get_request_mode() const, get_request_mode)\n"
-#: C/index-in.docbook:9981
-msgid ""
-"For instance, from <filename>widget.hg</filename>: <_:programlisting-1/>"
-msgstr "示例æ¥è‡ªäºŽ<filename>widget.hg</filename>:<_:programlisting-1/>"
-
-#: C/index-in.docbook:9986
+#: C/index-in.docbook:9926
msgid ""
"The C function (e.g. <function>get_request_mode</function>) is described "
"more fully in the <filename>*_vfuncs.defs</filename> file, and the "
@@ -17306,7 +17264,7 @@ msgstr ""
"æ¢ã€‚转æ¢ä¹Ÿå¯ä»¥å†™å…¥.hg文件。虚函数通常需è¦é¢å¤–的转æ¢ï¼Œè¿™äº›è½¬æ¢æœ€å¥½ä¿å˜åœ¨ä½¿ç”¨è¿™"
"些虚函数的.hg文件文件ä¸ã€‚"
-#: C/index-in.docbook:9997
+#: C/index-in.docbook:9937
msgid ""
"Do an extra <function>reference()</function> on the return value of the "
"<function>something_vfunc()</function> function, in case the virtual C "
@@ -17315,11 +17273,11 @@ msgstr ""
"当C虚函数没有æ供引用的时候,在<function>something_vfunc()</function>函数的返"
"回值上é¢å¤–调用一次<function>reference()</function>。"
-#: C/index-in.docbook:10003
+#: C/index-in.docbook:9943
msgid "refreturn_ctype"
msgstr "refreturn_ctype"
-#: C/index-in.docbook:10005
+#: C/index-in.docbook:9945
msgid ""
"Do an extra <function>reference()</function> on the return value of an "
"overridden <function>something_vfunc()</function> function in the C callback "
@@ -17329,11 +17287,11 @@ msgstr ""
"<function>something_vfunc()</function>函数的返回值é¢å¤–调用一次"
"<function>reference()</function>。"
-#: C/index-in.docbook:10012
+#: C/index-in.docbook:9952
msgid "keep_return"
msgstr "keep_return"
-#: C/index-in.docbook:10014
+#: C/index-in.docbook:9954
msgid ""
"Keep a copy of the return value in the C callback function, in case the "
"calling C function does not expect to get its own reference."
@@ -17341,17 +17299,17 @@ msgstr ""
"当被调用的C函数ä¸æƒ³è¦å¾—到属于它的引用的时候,在C回调函数ä¸ä¿ç•™ä¸€ä»½è¿”回值的副"
"本。"
-#: C/index-in.docbook:10022
+#: C/index-in.docbook:9962
msgid ""
"Use the last GError** parameter of the C virtual function (if there is one) "
"to throw an exception."
msgstr "如果C虚函数的å‚æ•°ä¸çš„最åŽæœ‰ä¸€ä¸ªGError**å‚数,则使用æ¤å‚数抛出异常。"
-#: C/index-in.docbook:10027
+#: C/index-in.docbook:9967
msgid "custom_vfunc"
msgstr "custom_vfunc"
-#: C/index-in.docbook:10029
+#: C/index-in.docbook:9969
msgid ""
"Do not generate a definition of the vfunc in the <filename>.cc</filename> "
"file. Use this when you must generate the vfunc by hand."
@@ -17359,29 +17317,29 @@ msgstr ""
"ä¸åœ¨<filename>.cc</filename>文件ä¸ç”Ÿæˆè™šå‡½æ•°çš„å®šä¹‰ã€‚è¯·åœ¨ä½ éœ€è¦æ‰‹å†™è™šå‡½æ•°çš„æ—¶"
"候使用æ¤å¯é€‰å‚数。"
-#: C/index-in.docbook:10035
+#: C/index-in.docbook:9975
msgid "custom_vfunc_callback"
msgstr "custom_vfunc_callback"
-#: C/index-in.docbook:10037
+#: C/index-in.docbook:9977
msgid ""
"Do not generate a C callback function for the vfunc. Use this when you must "
"generate the callback function by hand."
msgstr "ä¸ä¸ºè™šå‡½æ•°ç”ŸæˆCå›žè°ƒå‡½æ•°ã€‚è¯·åœ¨ä½ éœ€è¦æ‰‹å†™å›žè°ƒå‡½æ•°æ—¶ä½¿ç”¨æ¤å¯é€‰å‚数。"
-#: C/index-in.docbook:10080
+#: C/index-in.docbook:10020
msgid "return_value <value>"
msgstr "return_value <value>"
-#: C/index-in.docbook:10082
+#: C/index-in.docbook:10022
msgid "Defines a non-default return value."
msgstr "定义éžé»˜è®¤çš„返回值。"
-#: C/index-in.docbook:10086
+#: C/index-in.docbook:10026
msgid "err_return_value <value>"
msgstr "err_return_value <value>"
-#: C/index-in.docbook:10088
+#: C/index-in.docbook:10028
msgid ""
"Defines a non-default return value, used only if the C++ "
"<function>something_vfunc()</function> function throws an exception which is "
@@ -17393,7 +17351,7 @@ msgstr ""
"了C回调函数ä¸çš„时候æ‰ä½¿ç”¨çš„éžé»˜è®¤è¿”回值。如果指定了return_value但没有指定"
"err_return_value,则将err_return_value的值视作return_value的值。"
-#: C/index-in.docbook:10105
+#: C/index-in.docbook:10045
msgid ""
"A rule to which there may be exceptions: If the virtual C function returns a "
"pointer to an object derived from <classname>GObject</classname>, i.e. a "
@@ -17407,23 +17365,27 @@ msgstr ""
"<classname>Glib::RefPtr<></classname>对象。且需è¦<parameter>refreturn</"
"parameter>或<parameter>refreturn_ctype</parameter>é¢å¤–å‚数。"
-#: C/index-in.docbook:10116
+#: C/index-in.docbook:10056
msgid "Other macros"
msgstr "其他å®"
-#: C/index-in.docbook:10118
+#: C/index-in.docbook:10058
msgid "_IMPLEMENTS_INTERFACE"
msgstr "_IMPLEMENTS_INTERFACE"
-#: C/index-in.docbook:10119
+#: C/index-in.docbook:10059
msgid "This macro generates initialization code for the interface."
msgstr "这个å®ä¸ºæŽ¥å£ç”Ÿæˆåˆå§‹åŒ–代ç "
-#: C/index-in.docbook:10120
+#: C/index-in.docbook:10060
msgid "<function>_IMPLEMENTS_INTERFACE(C++ interface name)</function>"
msgstr "<function>_IMPLEMENTS_INTERFACE(C++接å£å)</function>"
-#: C/index-in.docbook:10122
+#: C/index-in.docbook:10061
+msgid "For instance, from <filename>grid.hg</filename>:"
+msgstr "示例æ¥è‡ªäºŽ<filename>grid.hg</filename>:"
+
+#: C/index-in.docbook:10062
#, no-wrap
msgid ""
"\n"
@@ -17432,43 +17394,39 @@ msgstr ""
"\n"
"_IMPLEMENTS_INTERFACE(Orientable)\n"
-#: C/index-in.docbook:10121
-msgid "For instance, from <filename>grid.hg</filename>: <_:programlisting-1/>"
-msgstr "示例æ¥è‡ªäºŽ<filename>grid.hg</filename>:<_:programlisting-1/>"
-
-#: C/index-in.docbook:10126
+#: C/index-in.docbook:10065
msgid "There is one optional extra argument: <_:variablelist-1/>"
msgstr "有一个å¯é€‰çš„é¢å¤–å‚数:<_:variablelist-1/>"
-#: C/index-in.docbook:10139
+#: C/index-in.docbook:10078
msgid "_WRAP_ENUM"
msgstr "_WRAP_ENUM"
-#: C/index-in.docbook:10140
+#: C/index-in.docbook:10079
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++枚举以包装Cæžšä¸¾ã€‚ä½ å¿…é¡»æŒ‡å®šæ‰€éœ€çš„C++å称和底层C枚举的å称。"
-#: C/index-in.docbook:10143
+#: C/index-in.docbook:10081
+msgid "For instance, from <filename>enums.hg</filename>:"
+msgstr "示例æ¥è‡ªäºŽ<filename>enums.hg</filename>:"
+
+#: C/index-in.docbook:10082
#, no-wrap
msgid ""
"\n"
-"_WRAP_ENUM(WindowType, GtkWindowType)\n"
+"_WRAP_ENUM(Orientation, GtkOrientation)\n"
msgstr ""
"\n"
-"_WRAP_ENUM(WindowType, GtkWindowType)\n"
-
-#: C/index-in.docbook:10142
-msgid "For instance, from <filename>enums.hg</filename>: <_:programlisting-1/>"
-msgstr "示例æ¥è‡ªäºŽ<filename>enums.hg</filename>:<_:programlisting-1/>"
+"_WRAP_ENUM(Orientation, GtkOrientation)\n"
-#: C/index-in.docbook:10150
+#: C/index-in.docbook:10088
msgid "NO_GTYPE"
msgstr "NO_GTYPE"
-#: C/index-in.docbook:10152
+#: C/index-in.docbook:10090
msgid ""
"Use this option, if the enum is not a <classname>GType</classname>. This is "
"the case when there is no <function>*_get_type()</function> function for the "
@@ -17480,7 +17438,7 @@ msgstr ""
"举没有<function>*_get_type()</function>å‡½æ•°ï¼Œä½ ä¸éœ€è¦ä¸ºè¯¥å‡½æ•°é¢å¤–包å«å¤´æ–‡ä»¶ã€‚"
"ä½†ä½ åº”è¯¥æ¤ä¸ºå¯¹C APIæ交一个bugï¼Œå› ä¸ºæ‰€æœ‰çš„æžšä¸¾éƒ½åº”è¯¥è¢«æ³¨å†Œä¸ºGTypes。"
-#: C/index-in.docbook:10157
+#: C/index-in.docbook:10095
msgid ""
"If you specify <literal>NO_GTYPE</literal>, don't use that enum as the type "
"in _WRAP_PROPERTY. It would cause a runtime error, when the generated "
@@ -17490,7 +17448,11 @@ msgstr ""
"型。这会导致生æˆçš„<methodname>property_*()</methodname>æˆå‘˜å‡½æ•°è¢«è°ƒç”¨æ—¶å‡ºçŽ°è¿"
"行时错误。"
-#: C/index-in.docbook:10161
+#: C/index-in.docbook:10098
+msgid "For example, from <filename>icontheme.hg</filename>:"
+msgstr "示例æ¥è‡ªäºŽ<filename>icontheme.hg</filename>:"
+
+#: C/index-in.docbook:10099
#, no-wrap
msgid ""
"\n"
@@ -17501,16 +17463,11 @@ msgstr ""
"_WRAP_ENUM(IconLookupFlags, GtkIconLookupFlags, NO_GTYPE)\n"
" "
-#: C/index-in.docbook:10160
-msgid ""
-"For example, from <filename>icontheme.hg</filename>: <_:programlisting-1/>"
-msgstr "示例æ¥è‡ªäºŽ<filename>icontheme.hg</filename>:<_:programlisting-1/>"
-
-#: C/index-in.docbook:10168
+#: C/index-in.docbook:10105
msgid "gtype_func <function_name>"
msgstr "gtype_func <function_name>"
-#: C/index-in.docbook:10170
+#: C/index-in.docbook:10107
msgid ""
"Specifies the name of the <function>*_get_type()</function> function for the "
"C enum. Use this parameter if <command>gmmproc</command> can't deduce the "
@@ -17519,7 +17476,12 @@ msgstr ""
"指定C枚举的<function>*_get_type()</function>函数å。如果<command>gmmproc</"
"command>æ— æ³•ä»ŽC枚举类型的å称推æ–出æ£ç¡®çš„函数å,请使用æ¤é¢å¤–å‚数。"
-#: C/index-in.docbook:10174
+#: C/index-in.docbook:10110
+msgid "For example, from <filename>dbusproxy.hg</filename> in glibmm:"
+msgstr ""
+"示例æ¥è‡ªäºŽglibmmçš„<filename>dbusproxy.hg</filename>:"
+
+#: C/index-in.docbook:10111
#, no-wrap
msgid ""
"\n"
@@ -17530,18 +17492,11 @@ msgstr ""
"_WRAP_ENUM(ProxyFlags, GDBusProxyFlags, gtype_func g_dbus_proxy_flags_get_type)\n"
" "
-#: C/index-in.docbook:10173
-msgid ""
-"For example, from <filename>dbusproxy.hg</filename> in glibmm: <_:"
-"programlisting-1/>"
-msgstr ""
-"示例æ¥è‡ªäºŽglibmmçš„<filename>dbusproxy.hg</filename>:<_:programlisting-1/>"
-
-#: C/index-in.docbook:10181
+#: C/index-in.docbook:10117
msgid "CONV_TO_INT"
msgstr "CONV_TO_INT"
-#: C/index-in.docbook:10183
+#: C/index-in.docbook:10119
msgid ""
"\"Convertible to int.\" Generates a plain enum (not an enum class) within a "
"class. Such an enum is scoped like an enum class, but unlike an enum class, "
@@ -17550,7 +17505,11 @@ msgstr ""
"在一个类ä¸ç”Ÿæˆæ™®é€šæžšä¸¾è€Œä¸æ˜¯ç”Ÿæˆæžšä¸¾ç±»ã€‚这将å…许该枚举类型的值å¯ä»¥ç›´æŽ¥è½¬æ¢ä¸º"
"<type>int</type>ç±»åž‹çš„å€¼ï¼Œä¸”è¿™æ ·çš„æžšä¸¾è¿˜æ‹¥æœ‰ä¸Žæžšä¸¾ç±»ç±»ä¼¼çš„ä½œç”¨åŸŸã€‚"
-#: C/index-in.docbook:10187
+#: C/index-in.docbook:10122
+msgid "For example, from <filename>dialog.hg</filename>:"
+msgstr "示例æ¥è‡ªäºŽ<filename>dialog.hg</filename>:"
+
+#: C/index-in.docbook:10123
#, no-wrap
msgid ""
"\n"
@@ -17561,21 +17520,22 @@ msgstr ""
"_WRAP_ENUM(ResponseType, GtkResponseType, CONV_TO_INT)\n"
" "
-#: C/index-in.docbook:10186
-msgid "For example, from <filename>dialog.hg</filename>: <_:programlisting-1/>"
-msgstr "示例æ¥è‡ªäºŽ<filename>dialog.hg</filename>:<_:programlisting-1/>"
-
-#: C/index-in.docbook:10194
+#: C/index-in.docbook:10129
msgid "s#<from>#<to>#"
msgstr "s#<from>#<to>#"
-#: C/index-in.docbook:10196
+#: C/index-in.docbook:10131
msgid ""
"Substitutes (part of) the name of one or more enum constants. You can add "
"any number of substitutions."
msgstr "替æ¢ä¸€ä¸ªæˆ–多个枚举常é‡åç§°çš„å…¨éƒ¨æˆ–ä¸€éƒ¨åˆ†ã€‚ä½ å¯ä»¥æ·»åŠ ä»»æ„æ•°é‡çš„替æ¢ã€‚"
-#: C/index-in.docbook:10199
+#: C/index-in.docbook:10133
+msgid "For example, from <filename>iochannel.hg</filename> in glibmm:"
+msgstr ""
+"示例æ¥è‡ªäºŽglibmmä¸çš„<filename>iochannel.hg</filename>:"
+
+#: C/index-in.docbook:10134
#, no-wrap
msgid ""
"\n"
@@ -17586,18 +17546,11 @@ msgstr ""
"_WRAP_ENUM(SeekType, GSeekType, NO_GTYPE, s#^SEEK_#SEEK_TYPE_#)\n"
" "
-#: C/index-in.docbook:10198
-msgid ""
-"For example, from <filename>iochannel.hg</filename> in glibmm: <_:"
-"programlisting-1/>"
-msgstr ""
-"示例æ¥è‡ªäºŽglibmmä¸çš„<filename>iochannel.hg</filename>:<_:programlisting-1/>"
-
-#: C/index-in.docbook:10224
+#: C/index-in.docbook:10158
msgid "_WRAP_ENUM_DOCS_ONLY"
msgstr "_WRAP_ENUM_DOCS_ONLY"
-#: C/index-in.docbook:10225
+#: C/index-in.docbook:10159
msgid ""
"This macro just generates a Doxygen documentationn block for the enum. This "
"is useful for enums that can't be wrapped with <function>_WRAP_ENUM()</"
@@ -17613,11 +17566,11 @@ msgstr ""
"æˆçš„文档的枚举类型很有用。它与<function>_WRAP_ENUM()</function>使用åŒä¸€è¯æ³•ï¼Œ"
"也处ç†ä¸€æ ·çš„å‚数(尽管有些é¢å¤–å‚æ•°å› ä¸ºæ²¡æœ‰ä½œç”¨ä¼šè¢«å¿½ç•¥ï¼‰"
-#: C/index-in.docbook:10237
+#: C/index-in.docbook:10171
msgid "_WRAP_GERROR"
msgstr "_WRAP_GERROR"
-#: C/index-in.docbook:10238
+#: C/index-in.docbook:10172
msgid ""
"This macro generates a C++ exception class, derived from <classname>Glib::"
"Error</classname>, with a <type>Code</type> enum and a <methodname>code()</"
@@ -17628,13 +17581,17 @@ msgstr ""
"并具有一个<type>Code</type>枚举æˆå‘˜å˜é‡å’Œä¸€ä¸ª<methodname>code()</methodname>"
"æˆå‘˜å‡½æ•°ã€‚ä½ å¿…é¡»æŒ‡å®šæ‰€éœ€çš„C++å称ã€ä»¥åŠä¸Žå…¶å¯¹åº”çš„C枚举åã€C枚举值å‰ç¼€ã€‚"
-#: C/index-in.docbook:10241
+#: C/index-in.docbook:10175
msgid ""
"This exception can then be thrown by methods which are generated from "
"_WRAP_METHOD() with the errthrow option."
msgstr "然åŽå¯ä»¥ç”±å¸¦æœ‰errthrow选项的_WRAP_METHOD()生æˆçš„æˆå‘˜å‡½æ•°æŠ›å‡ºæ¤å¼‚常。"
-#: C/index-in.docbook:10244
+#: C/index-in.docbook:10177
+msgid "For instance, from <filename>pixbuf.hg</filename>:"
+msgstr "示例æ¥è‡ªäºŽ<filename>pixbuf.hg</filename>:"
+
+#: C/index-in.docbook:10178
#, no-wrap
msgid ""
"\n"
@@ -17643,12 +17600,7 @@ msgstr ""
"\n"
"_WRAP_GERROR(PixbufError, GdkPixbufError, GDK_PIXBUF_ERROR)\n"
-#: C/index-in.docbook:10243
-msgid ""
-"For instance, from <filename>pixbuf.hg</filename>: <_:programlisting-1/>"
-msgstr "示例æ¥è‡ªäºŽ<filename>pixbuf.hg</filename>:<_:programlisting-1/>"
-
-#: C/index-in.docbook:10248
+#: C/index-in.docbook:10181
msgid ""
"_WRAP_GERROR() accepts the same optional arguments as _WRAP_ENUM() (though "
"CONV_TO_INT is ignored because all exception class enums are plain enums "
@@ -17657,11 +17609,11 @@ msgstr ""
"_WRAP_GERROR()接å—与_WRAP_ENUM()ä¸€æ ·çš„å¯é€‰å‚数(尽管CONV_TO_INTå‚æ•°å› ä¸ºæ²¡æœ‰ä½œ"
"用而被忽略)。"
-#: C/index-in.docbook:10254
+#: C/index-in.docbook:10187
msgid "_MEMBER_GET / _MEMBER_SET"
msgstr "_MEMBER_GET / _MEMBER_SET"
-#: C/index-in.docbook:10255
+#: C/index-in.docbook:10188
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 "
@@ -17670,29 +17622,28 @@ msgstr ""
"如果è¦åŒ…装å¯ä»¥è¢«ç›´æŽ¥è®¿é—®å…¶æ•°æ®æˆå‘˜çš„简å•ç»“构体或装箱类型,请使用这些å®ã€‚这些"
"å®ä¼šä¸ºå…¶æ•°æ®æˆå‘˜åˆ›å»ºè®¿é—®å™¨æˆå‘˜å‡½æ•°ï¼ˆgetterå’Œsetter)。"
-#: C/index-in.docbook:10259
+#: C/index-in.docbook:10192
msgid "<function>_MEMBER_GET(C++ name, C name, C++ type, C type)</function>"
msgstr "<function>_MEMBER_GET(C++å, Cå, C++类型, C类型)</function>"
-#: C/index-in.docbook:10260
+#: C/index-in.docbook:10193
msgid "<function>_MEMBER_SET(C++ name, C name, C++ type, C type)</function>"
msgstr "<function>_MEMBER_SET(C++å, Cå, C++类型, C类型)</function>"
-#: C/index-in.docbook:10263
+#: C/index-in.docbook:10194
+msgid "For example, in <filename>rectangle.hg</filename>:"
+msgstr "示例æ¥è‡ªäºŽ<filename>rectangle.hg</filename>:"
+
+#: C/index-in.docbook:10197
#, no-wrap
msgid "_MEMBER_GET(x, x, int, int)"
msgstr "_MEMBER_GET(x, x, int, int)"
-#: C/index-in.docbook:10261
-msgid ""
-"For example, in <filename>rectangle.hg</filename>: <_:programlisting-1/>"
-msgstr "示例æ¥è‡ªäºŽ<filename>rectangle.hg</filename>:<_:programlisting-1/>"
-
-#: C/index-in.docbook:10267
+#: C/index-in.docbook:10200
msgid "_MEMBER_GET_PTR / _MEMBER_SET_PTR"
msgstr "_MEMBER_GET_PTR / _MEMBER_SET_PTR"
-#: C/index-in.docbook:10268
+#: C/index-in.docbook:10201
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 "
@@ -17701,18 +17652,26 @@ msgstr ""
"使用这些å®å¯ä»¥è‡ªåŠ¨ä¸ºæŒ‡é’ˆç±»åž‹çš„æ•°æ®æˆå‘˜æ供访问器(getterå’Œsetter)。对于"
"getter函数,将创建两个版本,一个const版本一个éžconst版本。"
-#: C/index-in.docbook:10273
+#: C/index-in.docbook:10206
msgid ""
"<function>_MEMBER_GET_PTR(C++ name, C name, C++ type, C type)</function>"
msgstr "<function>_MEMBER_GET_PTR(C++å, Cå, C++类型, C类型)</function>"
-#: C/index-in.docbook:10274
-#, fuzzy
+#: C/index-in.docbook:10207
msgid ""
"<function>_MEMBER_SET_PTR(C++ name, C name, C++ type, C type)</function>"
-msgstr "<function>_MEMBER_GET_PTR(C++å, Cå, C++类型, C类型)</function>"
+msgstr ""
+"<function>_MEMBER_GET_PTR(C++å, Cå, C++类型, C类型)</function>"
+
+#: C/index-in.docbook:10208
+msgid ""
+"For example, for <classname>Pango::Analysis</classname> in <filename>item."
+"hg</filename>:"
+msgstr ""
+"示例æ¥è‡ªäºŽ<filename>item.hg</filename>文件ä¸çš„<classname>Pango::Analysis</"
+"classname>:"
-#: C/index-in.docbook:10276
+#: C/index-in.docbook:10210
#, no-wrap
msgid ""
"\n"
@@ -17723,19 +17682,11 @@ msgstr ""
"// _MEMBER_GET_PTR(engine_lang, lang_engine, EngineLang*, PangoEngineLang*)\n"
"// It's just a comment. It's difficult to find a real-world example.\n"
-#: C/index-in.docbook:10275
-msgid ""
-"For example, for <classname>Pango::Analysis</classname> in <filename>item."
-"hg</filename>: <_:programlisting-1/>"
-msgstr ""
-"示例æ¥è‡ªäºŽ<filename>item.hg</filename>文件ä¸çš„<classname>Pango::Analysis</"
-"classname>: <_:programlisting-1/>"
-
-#: C/index-in.docbook:10283
+#: C/index-in.docbook:10216
msgid "_MEMBER_GET_GOBJECT / _MEMBER_SET_GOBJECT"
msgstr "_MEMBER_GET_GOBJECT / _MEMBER_SET_GOBJECT"
-#: C/index-in.docbook:10284
+#: C/index-in.docbook:10217
msgid ""
"Use these macros to provide getters and setters for a data member that is a "
"<classname>GObject</classname> type that must be referenced before being "
@@ -17744,17 +17695,22 @@ msgstr ""
"使用这些å®å¯ä»¥ä¸ºè¿”回之å‰å¿…须被引用的<classname>GObject</classname>类型数æ®æˆ"
"员æ供访问器(getterså’Œsetters)。"
-#: C/index-in.docbook:10289
+#: C/index-in.docbook:10222
msgid ""
"<function>_MEMBER_GET_GOBJECT(C++ name, C name, C++ type, C type)</function>"
msgstr "<function>_MEMBER_GET_GOBJECT(C++å, Cå, C++类型, C类型)</function>"
-#: C/index-in.docbook:10290
+#: C/index-in.docbook:10223
msgid ""
"<function>_MEMBER_SET_GOBJECT(C++ name, C name, C++ type, C type)</function>"
msgstr "<function>_MEMBER_SET_GOBJECT(C++å, Cå, C++类型, C类型)</function>"
-#: C/index-in.docbook:10292
+#: C/index-in.docbook:10224
+msgid "For example, in Pangomm, <filename>layoutline.hg</filename>:"
+msgstr ""
+"示例æ¥è‡ªäºŽPangommä¸çš„<filename>layoutline.hg</filename>:"
+
+#: C/index-in.docbook:10225
#, no-wrap
msgid ""
"\n"
@@ -17763,19 +17719,11 @@ msgstr ""
"\n"
"_MEMBER_GET_GOBJECT(layout, layout, Pango::Layout, PangoLayout*)\n"
-#: C/index-in.docbook:10291
-msgid ""
-"For example, in Pangomm, <filename>layoutline.hg</filename>: <_:"
-"programlisting-1/>"
-msgstr ""
-"示例æ¥è‡ªäºŽPangommä¸çš„<filename>layoutline.hg</filename>:<_:programlisting-1/"
-">"
-
-#: C/index-in.docbook:10301
+#: C/index-in.docbook:10233
msgid "gmmproc Parameter Processing"
msgstr "gmmprocå‚数处ç†"
-#: C/index-in.docbook:10302
+#: C/index-in.docbook:10234
msgid ""
"<command>gmmproc</command> allows processing the parameters in a method "
"signature for the macros that process method signatures (like "
@@ -17786,11 +17734,11 @@ msgstr ""
"<function>_WRAP_METHOD()</function>ã€<function>_WRAP_CTOR()</function>ã€"
"<function>_WRAP_CREATE()</function>)处ç†æˆå‘˜å‡½æ•°ç¾åä¸çš„å‚数:"
-#: C/index-in.docbook:10309
+#: C/index-in.docbook:10241
msgid "Parameter Reordering"
msgstr "对å‚æ•°é‡æ–°æŽ’åº"
-#: C/index-in.docbook:10316
+#: C/index-in.docbook:10248
#, no-wrap
msgid ""
"\n"
@@ -17801,7 +17749,7 @@ msgstr ""
"void gtk_widget_set_device_events(GtkWidget* widget, GdkDevice* device,\n"
" GdkEventMask events);\n"
-#: C/index-in.docbook:10323
+#: C/index-in.docbook:10255
#, no-wrap
msgid ""
"\n"
@@ -17814,7 +17762,7 @@ msgstr ""
" const Glib::RefPtr<const Gdk::Device>& device{device}),\n"
" gtk_widget_set_device_events)\n"
-#: C/index-in.docbook:10333
+#: C/index-in.docbook:10265
#, no-wrap
msgid ""
"\n"
@@ -17827,7 +17775,7 @@ msgstr ""
" const Glib::RefPtr<const Gdk::Device>& device{.}),\n"
" gtk_widget_set_device_events)\n"
-#: C/index-in.docbook:10310
+#: C/index-in.docbook:10242
msgid ""
"For all the macros that process method signatures, it is possible to specify "
"a different order for the C++ parameters than the existing order in the C "
@@ -17850,7 +17798,7 @@ msgstr ""
"知<command>gmmproc</command>å°†C++å‚æ•°æ˜ å°„åˆ°<literal>{}</literal>内的Cå‚数。由"
"于C++å‚æ•°å与Cå‚æ•°å相对应,所以上述代ç å¯ä»¥è¢«é‡å†™ä¸ºï¼š<_:programlisting-3/>"
-#: C/index-in.docbook:10340
+#: C/index-in.docbook:10272
msgid ""
"Please note that when reordering parameters for a <function>_WRAP_SIGNAL()</"
"function> method signature, the C parameter names would always be "
@@ -17864,11 +17812,11 @@ msgstr ""
"<filename>generate_extra_defs</filename>实用工具使用,而该实用工具ä¸åœ¨ä¹ŽC API"
"ä¸çš„å‚æ•°å是什么。"
-#: C/index-in.docbook:10352
+#: C/index-in.docbook:10284
msgid "Optional Parameter Processing"
msgstr "å¯é€‰å‚数处ç†"
-#: C/index-in.docbook:10361
+#: C/index-in.docbook:10293
#, no-wrap
msgid ""
"\n"
@@ -17877,7 +17825,7 @@ msgstr ""
"\n"
"GtkToolItem* gtk_tool_button_new(GtkWidget* icon_widget, const gchar* label);\n"
-#: C/index-in.docbook:10370
+#: C/index-in.docbook:10302
#, no-wrap
msgid ""
"\n"
@@ -17888,7 +17836,7 @@ msgstr ""
"_WRAP_CTOR(ToolButton(Widget& icon_widget, const Glib::ustring& label{?}),\n"
" gtk_tool_button_new)\n"
-#: C/index-in.docbook:10353
+#: C/index-in.docbook:10285
msgid ""
"For all macros processing method signatures except <function>_WRAP_SIGNAL()</"
"function> and <function>_WRAP_VFUNC()</function> it is also possible to make "
@@ -17914,11 +17862,11 @@ msgstr ""
"æ•°çš„åŽŸå§‹æž„é€ å‡½æ•°å’Œä¸€ä¸ªå¸¦æœ‰å¯é€‰å‚æ•°çš„æž„é€ å‡½æ•°ã€‚åœ¨å¦‚ä¸‹æ‰€ç¤ºçš„æƒ…å†µä¸‹ï¼š<_:"
"programlisting-2/> 将生æˆä¸¤ä¸ªæž„é€ å‡½æ•°ï¼šä¸€ä¸ªå¸¦å¯é€‰å‚数,å¦ä¸€ä¸ªä¸å¸¦å¯é€‰å‚数。"
-#: C/index-in.docbook:10380
+#: C/index-in.docbook:10312
msgid "Output Parameter Processing"
msgstr "输出å‚数处ç†"
-#: C/index-in.docbook:10390
+#: C/index-in.docbook:10322
#, no-wrap
msgid ""
"\n"
@@ -17927,7 +17875,7 @@ msgstr ""
"\n"
"GtkSizeRequestMode gtk_widget_get_request_mode(GtkWidget* widget);\n"
-#: C/index-in.docbook:10396
+#: C/index-in.docbook:10328
#, no-wrap
msgid ""
"\n"
@@ -17938,7 +17886,7 @@ msgstr ""
"_WRAP_METHOD(void get_request_mode(SizeRequestMode& mode{OUT}) const,\n"
" gtk_widget_get_request_mode)\n"
-#: C/index-in.docbook:10405
+#: C/index-in.docbook:10337
#, no-wrap
msgid ""
"\n"
@@ -17947,7 +17895,7 @@ msgstr ""
"\n"
"_INITIALIZATION(`SizeRequestMode&',`GtkSizeRequestMode',`$3 = (SizeRequestMode)($4)')\n"
-#: C/index-in.docbook:10409
+#: C/index-in.docbook:10341
#, no-wrap
msgid ""
"\n"
@@ -17956,7 +17904,7 @@ msgstr ""
"\n"
"_INITIALIZATION(`SizeRequestMode&',`GtkSizeRequestMode',`$3 = ($1)($4)')\n"
-#: C/index-in.docbook:10381
+#: C/index-in.docbook:10313
msgid ""
"With <function>_WRAP_METHOD()</function> it is also possible for the return "
"of the wrapped C function (if it has one) to be placed in an output "
@@ -17986,7 +17934,7 @@ msgstr ""
"必须指定必è¦çš„åˆå§‹åŒ–å®ã€‚如下所示:<_:programlisting-3/>也å¯ä»¥å†™æˆï¼š<_:"
"programlisting-4/>"
-#: C/index-in.docbook:10419
+#: C/index-in.docbook:10351
#, no-wrap
msgid ""
"\n"
@@ -17997,7 +17945,7 @@ msgstr ""
"gboolean gtk_icon_view_get_cell_rect(GtkIconView* icon_view,\n"
" GtkTreePath* path, GtkCellRenderer* cell, GdkRectangle* rect);\n"
-#: C/index-in.docbook:10426
+#: C/index-in.docbook:10358
#, no-wrap
msgid ""
"\n"
@@ -18010,7 +17958,7 @@ msgstr ""
" const CellRenderer& cell, Gdk::Rectangle& rect{>>}) const,\n"
" gtk_icon_view_get_cell_rect)\n"
-#: C/index-in.docbook:10441
+#: C/index-in.docbook:10373
#, no-wrap
msgid ""
"\n"
@@ -18019,7 +17967,7 @@ msgstr ""
"\n"
"_INITIALIZATION(`Gdk::Rectangle&',`GdkRectangle',`$3 = Glib::wrap(&($4))')\n"
-#: C/index-in.docbook:10413
+#: C/index-in.docbook:10345
msgid ""
"<function>_WRAP_METHOD()</function> also supports setting C++ output "
"parameters from C output parameters if the C function being wrapped has any. "
@@ -18052,11 +18000,11 @@ msgstr ""
"<classname>GdkRectangle*</classname>设置一个<classname>Gdk::Rectangle&</"
"classname>。如下所示:<_:programlisting-3/>"
-#: C/index-in.docbook:10448
+#: C/index-in.docbook:10380
msgid "String Parameter Processing"
msgstr "处ç†å—符串å‚æ•°"
-#: C/index-in.docbook:10449
+#: C/index-in.docbook:10381
msgid ""
"A string-valued input parameter in a C++ method is usually a <type>const "
"Glib::ustring&</type> or a <type>const std::string&</type>. In C "
@@ -18074,13 +18022,13 @@ msgstr ""
"<methodname>c_str()</methodname>)。一些C函数的一些å‚数接å—<literal>nullptr</"
"literal>,并以特殊方å¼è§£é‡Šå®ƒã€‚其他å‚æ•°ä¸èƒ½ä¸º<literal>nullptr</literal>。"
-#: C/index-in.docbook:10462
+#: C/index-in.docbook:10394
msgid ""
"for mandatory parameters (with or without default values): empty string to "
"empty string,"
msgstr "对于带有或ä¸å¸¦æœ‰é»˜è®¤å€¼çš„强制性å‚数:空å—符串到空å—符串"
-#: C/index-in.docbook:10464
+#: C/index-in.docbook:10396
msgid ""
"for optional parameters (with appended <literal>{?}</literal>): empty string "
"to <literal>nullptr</literal>."
@@ -18088,7 +18036,7 @@ msgstr ""
"å¯¹äºŽé™„åŠ äº†<literal>{?}</literal>çš„å¯é€‰å‚数:空å—符串到<literal>nullptr</"
"literal>。"
-#: C/index-in.docbook:10458
+#: C/index-in.docbook:10390
msgid ""
"The default conversion in <function>_WRAP_METHOD()</function> and similar "
"macros is <_:itemizedlist-1/> If the default conversion is not the best "
@@ -18104,11 +18052,11 @@ msgstr ""
"为éž<literal>NULL</literal>)。如果想åŒæ—¶æ·»åŠ Cå‚æ•°åå’Œ<literal>NULL</"
"literal>ï¼Œåˆ™ç”¨ç©ºæ ¼å¯¹å®ƒä»¬è¿›è¡Œåˆ†éš”ï¼š<literal>{c_param_name NULL}</literal>。"
-#: C/index-in.docbook:10478
+#: C/index-in.docbook:10410
msgid "Basic Types"
msgstr "基本类型"
-#: C/index-in.docbook:10479
+#: C/index-in.docbook:10411
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++ "
@@ -18119,66 +18067,66 @@ msgstr ""
"type>类型,所以ä¸éœ€è¦<type>gboolean</type>类型。以下列表显示了C APIä¸çš„一些常"
"用类型,以åŠä½ å¯ä»¥åœ¨C++å°è£…库ä¸å°†å®ƒä»¬è½¬æ¢ä¸ºå“ªäº›ç±»åž‹ã€‚"
-#: C/index-in.docbook:10484
+#: C/index-in.docbook:10416
msgid "Basic Type equivalents"
msgstr "基本类型的ç‰æ•ˆé¡¹"
-#: C/index-in.docbook:10486
+#: C/index-in.docbook:10418
msgid "C type"
msgstr "C 类型"
-#: C/index-in.docbook:10487
+#: C/index-in.docbook:10419
msgid "C++ type"
msgstr "C++类型"
-#: C/index-in.docbook:10488
+#: C/index-in.docbook:10420
msgid "<type>gboolean</type>"
msgstr "<type>gboolean</type>"
-#: C/index-in.docbook:10488
+#: C/index-in.docbook:10420
msgid "<type>bool</type>"
msgstr "<type>bool</type>"
-#: C/index-in.docbook:10489
+#: C/index-in.docbook:10421
msgid "<type>gint</type>"
msgstr "<type>gint</type>"
-#: C/index-in.docbook:10489
+#: C/index-in.docbook:10421
msgid "<type>int</type>"
msgstr "<type>int</type>"
-#: C/index-in.docbook:10490
+#: C/index-in.docbook:10422
msgid "<type>guint</type>"
msgstr "<type>guint</type>"
-#: C/index-in.docbook:10491
+#: C/index-in.docbook:10423
msgid "<type>gdouble</type>"
msgstr "<type>gdouble</type>"
-#: C/index-in.docbook:10491
+#: C/index-in.docbook:10423
msgid "<type>double</type>"
msgstr "<type>double</type>"
-#: C/index-in.docbook:10492
+#: C/index-in.docbook:10424
msgid "<type>gunichar</type>"
msgstr "<type>gunichar</type>"
-#: C/index-in.docbook:10493
+#: C/index-in.docbook:10425
msgid "<type>gchar*</type>"
msgstr "<type>gchar*</type>"
-#: C/index-in.docbook:10493
+#: C/index-in.docbook:10425
msgid ""
"<classname>Glib::ustring</classname> (or <classname>std::string</classname> "
"for filenames)"
msgstr ""
"<classname>Glib::ustring</classname>(或<classname>std::string</classname>)"
-#: C/index-in.docbook:10500
+#: C/index-in.docbook:10432
msgid "Hand-coded source files"
msgstr "手工编ç æºæ–‡ä»¶"
-#: C/index-in.docbook:10501
+#: C/index-in.docbook:10433
msgid ""
"You might want to include additional source files that will not be generated "
"by <command>gmmproc</command> from <filename>.hg</filename> and <filename>."
@@ -18193,11 +18141,28 @@ msgstr ""
"<filename>meson.build</filename>的<varname>extra_h_files</varname>和"
"<varname>extra_cc_files</varname>å˜é‡æ到它们。"
-#: C/index-in.docbook:10511
+#: C/index-in.docbook:10443
msgid "Initialization"
msgstr "åˆå§‹åŒ–"
-#: C/index-in.docbook:10520
+#: C/index-in.docbook:10444
+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 "
+"might have its own initialization function that you should call. You can do "
+"this in an <function>init()</function> function that you can place in hand-"
+"coded <filename>init.h</filename> and <filename>init.cc</filename> files. "
+"This function should initialize your dependencies (such as the C function, "
+"and <application>gtkmm</application>) and call your generated "
+"<function>wrap_init()</function> function. For instance:"
+msgstr ""
+"ä½ å¿…é¡»åˆå§‹åŒ–ä½ çš„åº“ï¼Œä»¥ä¾¿æ³¨å†Œåº“æä¾›ç»™çš„æ–°ç±»åž‹ï¼Œè¿™æ ·ä½ æ‰èƒ½ä½¿ç”¨å®ƒã€‚å¦å¤–ä½ æ‰€å°è£…"
+"çš„C库å¯èƒ½æœ‰è‡ªå·±éœ€è¦è°ƒç”¨çš„åˆå§‹åŒ–å‡½æ•°ã€‚ä½ å¯ä»¥å°†å…¶æ”¾åœ¨æ‰‹åŠ¨ç¼–ç çš„<filename>init."
+"h</filename>å’Œ<filename>init.cc</filename>文件ä¸çš„<function>init()</function>"
+"函数ä¸å®Œæˆæ¤æ“作。这个函数应该åˆå§‹åŒ–ä½ çš„ä¾èµ–é¡¹å’Œè°ƒç”¨ä½ ç”Ÿæˆçš„"
+"<function>wrap_init()</function>函数。例如:"
+
+#: C/index-in.docbook:10452
#, no-wrap
msgid ""
"\n"
@@ -18214,25 +18179,7 @@ msgstr ""
" wrap_init(); //Tells the Glib::wrap() table about the libsomethingmm classes.\n"
"}\n"
-#: C/index-in.docbook:10512
-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 "
-"might have its own initialization function that you should call. You can do "
-"this in an <function>init()</function> function that you can place in hand-"
-"coded <filename>init.h</filename> and <filename>init.cc</filename> files. "
-"This function should initialize your dependencies (such as the C function, "
-"and <application>gtkmm</application>) and call your generated "
-"<function>wrap_init()</function> function. For instance: <_:programlisting-1/"
-">"
-msgstr ""
-"ä½ å¿…é¡»åˆå§‹åŒ–ä½ çš„åº“ï¼Œä»¥ä¾¿æ³¨å†Œåº“æä¾›ç»™çš„æ–°ç±»åž‹ï¼Œè¿™æ ·ä½ æ‰èƒ½ä½¿ç”¨å®ƒã€‚å¦å¤–ä½ æ‰€å°è£…"
-"çš„C库å¯èƒ½æœ‰è‡ªå·±éœ€è¦è°ƒç”¨çš„åˆå§‹åŒ–å‡½æ•°ã€‚ä½ å¯ä»¥å°†å…¶æ”¾åœ¨æ‰‹åŠ¨ç¼–ç çš„<filename>init."
-"h</filename>å’Œ<filename>init.cc</filename>文件ä¸çš„<function>init()</function>"
-"函数ä¸å®Œæˆæ¤æ“作。这个函数应该åˆå§‹åŒ–ä½ çš„ä¾èµ–é¡¹å’Œè°ƒç”¨ä½ ç”Ÿæˆçš„"
-"<function>wrap_init()</function>函数。例如:<_:programlisting-1/>"
-
-#: C/index-in.docbook:10528
+#: C/index-in.docbook:10459
msgid ""
"The implementation of the <function>wrap_init()</function> method in "
"<filename>wrap_init.cc</filename> is generated by "
@@ -18247,11 +18194,11 @@ msgstr ""
"<filename>wrap_init.h</filename>文件以使<function>wrap_init()</function>函数"
"出现在æ£ç¡®çš„C++命å空间ä¸ã€‚"
-#: C/index-in.docbook:10537
+#: C/index-in.docbook:10468
msgid "Problems in the C API."
msgstr "C APIä¸çš„问题"
-#: C/index-in.docbook:10538
+#: C/index-in.docbook:10469
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 "
@@ -18260,11 +18207,16 @@ msgstr ""
"ä½ å¯èƒ½ä¼šåœ¨å°è£…库的过程ä¸é‡åˆ°ä¸€äº›é—®é¢˜ã€‚特别是它是一个新项目的时候。以下是一些"
"常è§é—®é¢˜ä»¥åŠè§£å†³æ–¹æ¡ˆã€‚"
-#: C/index-in.docbook:10540
+#: C/index-in.docbook:10471
msgid "Unable to predeclare structs"
msgstr "æ— æ³•æå‰å£°æ˜Žçš„结构体"
-#: C/index-in.docbook:10542
+#: C/index-in.docbook:10472
+msgid "By convention, structs are declared in glib/GTK-style headers like so:"
+msgstr ""
+"按照约定,glib/GTKé£Žæ ¼çš„å¤´æ–‡ä»¶ä¸ç»“构体声明应如下所示:"
+
+#: C/index-in.docbook:10473
#, no-wrap
msgid ""
"\n"
@@ -18283,14 +18235,7 @@ msgstr ""
" ...\n"
"};\n"
-#: C/index-in.docbook:10541
-msgid ""
-"By convention, structs are declared in glib/GTK-style headers like so: <_:"
-"programlisting-1/>"
-msgstr ""
-"按照约定,glib/GTKé£Žæ ¼çš„å¤´æ–‡ä»¶ä¸ç»“构体声明应如下所示:<_:programlisting-1/>"
-
-#: C/index-in.docbook:10551
+#: C/index-in.docbook:10481
msgid ""
"The extra typedef allows the struct to be used in a header without including "
"its full definition, simply by predeclaring it, by repeating that typedef. "
@@ -18304,7 +18249,7 @@ msgstr ""
"ä»¶ã€‚ï¼Œä»Žè€Œå°†å…¶æŽ’é™¤åœ¨ä½ çš„å…¬å…±API之外。<command>gmmproc</command>å‡å®šä½¿ç”¨äº†è¿™ä¸ª"
"æŠ€æœ¯ï¼Œå› æ¤å¦‚果没使用这ç§æŠ€æœ¯å°±ä¼šé‡åˆ°ç¼–译错误。"
-#: C/index-in.docbook:10558
+#: C/index-in.docbook:10488
#, no-wrap
msgid ""
"\n"
@@ -18317,7 +18262,7 @@ msgstr ""
"../../libexample/libexamplemm/example-widget.h:34: error: 'ExampleWidget' has a previous declaration here\n"
"make[4]: *** [example-widget.lo] Error 1\n"
-#: C/index-in.docbook:10564
+#: C/index-in.docbook:10494
#, no-wrap
msgid ""
"\n"
@@ -18328,7 +18273,7 @@ msgstr ""
"example-widget.h:60: error: '_ExampleWidget ExampleWidget' redeclared as different kind of symbol\n"
"../../libexample/libexamplemm/example-widget.h:34: error: previous declaration of 'typedef struct
_ExampleWidget ExampleWidget'\n"
-#: C/index-in.docbook:10556
+#: C/index-in.docbook:10486
msgid ""
"This compiler error might look like this: <_:programlisting-1/> or this: <_:"
"programlisting-2/>"
@@ -18336,17 +18281,31 @@ msgstr ""
"编译错误看起æ¥å¯èƒ½å¦‚下所示:<_:programlisting-1/>或如下所示:<_:"
"programlisting-2/>"
-#: C/index-in.docbook:10569
+#: C/index-in.docbook:10499
msgid ""
"This is easy to correct in the C library, so do send a patch to the relevant "
"maintainer."
msgstr "这很容易在C库ä¸ä¿®å¤ï¼Œä½ å¯ä»¥å‘相关库的维护者å‘é€è¡¥ä¸ã€‚"
-#: C/index-in.docbook:10573
+#: C/index-in.docbook:10503
msgid "Lack of properties"
msgstr "缺少属性"
-#: C/index-in.docbook:10580
+#: C/index-in.docbook:10504
+msgid ""
+"By convention, glib/GTK-style objects have <function>*_new()</function> "
+"functions, such as <function>example_widget_new()</function> that do nothing "
+"more than call <function>g_object_new()</function> and return the result. "
+"The input parameters are supplied to <function>g_object_new()</function> "
+"along with the names of the properties for which they are values. For "
+"instance,"
+msgstr ""
+"按照约定,glib/GTKé£Žæ ¼å¯¹è±¡åº”å…·æœ‰<function>*_new()</function>函数,例如"
+"<function>example_widget_new()</function>仅调用<function>g_object_new()</"
+"function>并返回其结果。输入å‚数为<function>g_object_new()</function>函数æä¾›"
+"属性å和属性值。例如:"
+
+#: C/index-in.docbook:10510
#, no-wrap
msgid ""
"\n"
@@ -18361,21 +18320,7 @@ msgstr ""
" return g_object_new (EXAMPLE_TYPE_WIDGET, \"something\", something, \"thing\", thing, NULL);\n"
"}\n"
-#: C/index-in.docbook:10574
-msgid ""
-"By convention, glib/GTK-style objects have <function>*_new()</function> "
-"functions, such as <function>example_widget_new()</function> that do nothing "
-"more than call <function>g_object_new()</function> and return the result. "
-"The input parameters are supplied to <function>g_object_new()</function> "
-"along with the names of the properties for which they are values. For "
-"instance, <_:programlisting-1/>"
-msgstr ""
-"按照约定,glib/GTKé£Žæ ¼å¯¹è±¡åº”å…·æœ‰<function>*_new()</function>函数,例如"
-"<function>example_widget_new()</function>仅调用<function>g_object_new()</"
-"function>并返回其结果。输入å‚数为<function>g_object_new()</function>函数æä¾›"
-"属性å和属性值。例如:<_:programlisting-1/>"
-
-#: C/index-in.docbook:10587
+#: C/index-in.docbook:10516
msgid ""
"This allows language bindings to implement their own equivalents (such as C+"
"+ constructors), without using the <function>*_new()</function> function. "
@@ -18386,7 +18331,7 @@ msgstr ""
"<function>*_new()</function>函数。这通常是必须的,这是为了让它们å¯ä»¥å®žä¾‹åŒ–æ´¾"
"生的GTypeï¼Œè¿™æ ·å°±å¯ä»¥ä¸ºä¿¡å·å¤„ç†å‡½æ•°å’Œè™šå‡½æ•°æ·»åŠ 自己的钩å。"
-#: C/index-in.docbook:10591
+#: C/index-in.docbook:10520
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 "
@@ -18398,7 +18343,16 @@ msgstr ""
"对应的函数,有时我们也å¯ä»¥åœ¨<function>_new()</function>函数ä¸é‡æ–°å®žçŽ°2到3行代"
"ç ,åªè¦è¿™äº›è¡Œä½¿ç”¨çš„API是å¯ç”¨çš„。"
-#: C/index-in.docbook:10599
+#: C/index-in.docbook:10525
+msgid ""
+"Another workaround is to add a <function>*_construct()</function> function "
+"that the C++ constructor can call after instantiating its own type. For "
+"instance,"
+msgstr ""
+"å¦ä¸€ä¸ªè§£å†³æ–¹æ³•æ˜¯æ·»åŠ 一个C++æž„é€ å‡½æ•°å¯ä»¥åœ¨å®žä¾‹åŒ–自身类型åŽè°ƒç”¨çš„"
+"<function>*_construct()</function>函数。例如:"
+
+#: C/index-in.docbook:10528
#, no-wrap
msgid ""
"\n"
@@ -18431,16 +18385,7 @@ msgstr ""
" do_something(something);\n"
"}\n"
-#: C/index-in.docbook:10596
-msgid ""
-"Another workaround is to add a <function>*_construct()</function> function "
-"that the C++ constructor can call after instantiating its own type. For "
-"instance, <_:programlisting-1/>"
-msgstr ""
-"å¦ä¸€ä¸ªè§£å†³æ–¹æ³•æ˜¯æ·»åŠ 一个C++æž„é€ å‡½æ•°å¯ä»¥åœ¨å®žä¾‹åŒ–自身类型åŽè°ƒç”¨çš„"
-"<function>*_construct()</function>函数。例如:<_:programlisting-1/>"
-
-#: C/index-in.docbook:10615
+#: C/index-in.docbook:10543
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 "
@@ -18450,11 +18395,11 @@ msgstr ""
"çš„ã€‚è‹¥ä½ å‘现了一个bug请è”系相关的维护人员并å‘å…¶æ供相关信æ¯ä»¥ä¾¿å°½å¿«ä¿®å¤è¯¥"
"bug。"
-#: C/index-in.docbook:10623
+#: C/index-in.docbook:10551
msgid "Documentation"
msgstr "文档"
-#: C/index-in.docbook:10624
+#: C/index-in.docbook:10552
msgid ""
"In general, gtkmm-style projects use Doxygen, which reads specially "
"formatted C++ comments and generates HTML documentation. You may write these "
@@ -18463,11 +18408,11 @@ msgstr ""
"通常,gtkmmé£Žæ ¼é¡¹ç›®ä½¿ç”¨Doxygen生æˆæ–‡æ¡£ï¼Œå®ƒä¼šè¯»å–ç‰¹æ®Šæ ¼å¼çš„C++注释并生æˆHTMLæ–‡"
"æ¡£ã€‚ä½ å¯ä»¥ç›´æŽ¥å°†è¿™äº›doxygenå¯è¯»çš„注释写到头文件ä¸ã€‚"
-#: C/index-in.docbook:10627
+#: C/index-in.docbook:10555
msgid "Reusing C documentation"
msgstr "é‡ç”¨C文档"
-#: C/index-in.docbook:10628
+#: C/index-in.docbook:10556
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 "
@@ -18485,12 +18430,12 @@ msgstr ""
"doxygen注释。<command>gmmproc</command>甚至会å°è¯•è½¬æ¢æ–‡æ¡£ä»¥ä½¿å…¶æ›´é€‚åˆC++ "
"API。"
-#: C/index-in.docbook:10638
+#: C/index-in.docbook:10566
#, no-wrap
msgid "./docextract_to_xml.py -s ~/checkout/gnome/gtk/gtk/ > gtk_docs.xml\n"
msgstr "./docextract_to_xml.py -s ~/checkout/gnome/gtk/gtk/ > gtk_docs.xml\n"
-#: C/index-in.docbook:10641
+#: C/index-in.docbook:10568
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 "
@@ -18504,11 +18449,11 @@ msgstr ""
"<filename>something_docs_override.xml</filename>æ–‡ä»¶å¹¶æ›´æ”¹å…¶å†…å®¹ã€‚ä½ ä¹Ÿå¯ä»¥åœ¨"
"<filename>.hg</filename>文件ä¸ç¼–写自己的文档。"
-#: C/index-in.docbook:10651
+#: C/index-in.docbook:10578
msgid "Documentation build structure"
msgstr "文档构建结构"
-#: C/index-in.docbook:10652
+#: C/index-in.docbook:10579
msgid ""
"If you copied the skeleton source tree in <application>mm-common</"
"application> and substituted the placeholder text, then you will already "
@@ -18528,6 +18473,44 @@ msgstr ""
"入文件ä¸æ˜¯é€šè¿‡Doxygené…置文件定义的,而是由<command>meson/ninja</command>ä¼ é€’"
"文件内容到<command>doxygen</command>çš„æ ‡å‡†è¾“å…¥ã€‚"
+#~ msgid "For instance, <_:programlisting-1/>"
+#~ msgstr "例如:<_:programlisting-1/>"
+
+#~ msgid ""
+#~ "For instance, from <filename>accelgroup.hg</filename>: <_:"
+#~ "programlisting-1/>"
+#~ msgstr ""
+#~ "æ¥è‡ª<filename>accelgroup.hg</filename>文件ä¸çš„例å:<_:programlisting-1/>"
+
+#~ 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"
+
+#~ msgid ""
+#~ "For instance, for <classname>Pango::Coverage</classname>: <_:"
+#~ "programlisting-1/>"
+#~ msgstr ""
+#~ "示例æ¥è‡ª<classname>Pango::Coverage</classname>:<_:programlisting-1/>"
+
+#~ msgid ""
+#~ "\n"
+#~ "_CLASS_GENERIC(AttrIter, PangoAttrIterator)\n"
+#~ msgstr ""
+#~ "\n"
+#~ "_CLASS_GENERIC(AttrIter, PangoAttrIterator)\n"
+
+#~ msgid ""
+#~ "For instance, for <classname>Pango::AttrIter</classname>: <_:"
+#~ "programlisting-1/>"
+#~ msgstr ""
+#~ "示例æ¥è‡ª<classname>Pango::AttrIter</classname>:<_:programlisting-1/>"
+
+#~ msgid "For example: <_:programlisting-1/>"
+#~ msgstr "例如:<_:programlisting-1/>"
+
#~ msgid "Murray"
#~ msgstr "Murray"
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]