Quality check results
msgid ""
msgstr ""
"Project-Id-Version: gtkmm-documentation master\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-08 14:05+0000\n"
"PO-Revision-Date: 2023-04-08 11:18+0200\n"
"Last-Translator: Anders Jonsson <anders.jonsson@norsjovallen.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
"Language: sv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 3.2.2\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: abstract/para
#: C/index-in.docbook:101
#, fuzzy
#| msgid ""
#| "This book explains key concepts of the <application>gtkmm</application> C+"
#| "+ API for creating user interfaces. It also introduces the main user "
#| "interface elements (\"widgets\")."
msgid ""
"This book explains key concepts of the <application>gtkmm</application> "
"<phrase role=\"nowrap\">C++</phrase> API for creating user interfaces. It "
"also introduces the main user interface elements (\"widgets\")."
msgstr ""
"Denna bok förklarar nyckelkoncept i <application>gtkmm</application>:s C++-"
"API för att skapa användargränssnitt. Den introducerar också huvudelementen "
"i användargränssnitt (”komponenter”)."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: legalnotice/para
#: C/index-in.docbook:110
#, fuzzy
#| 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 version published by the Free Software Foundation; with no "
#| "Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You "
#| "may obtain a copy of the GNU Free Documentation License from the Free "
#| "Software Foundation by visiting their Web site or by writing to: Free "
#| "Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA "
#| "02111-1307, USA."
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 "
"version published by the Free Software Foundation; with no Invariant "
"Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the "
"license is included in the section entitled <link linkend=\"chapter-"
"gfdl\">\"GNU Free Documentation License\"</link>."
msgstr ""
"Tillstånd att kopiera, distribuera och/eller modifiera detta dokument ges "
"under villkoren i GNU Free Documentation License, version 1.2 eller senare, "
"utgivet av Free Software Foundation, utan standardavsnitt och omslagstexter. "
"Du kan erhålla en kopia av GNU Free Documentation License från Free Software "
"Foundation genom att besöka deras webbplats eller genom att skriva till: "
"Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA "
"02111-1307, USA."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:127
#, fuzzy
#| msgid ""
#| "This book explains key concepts of the <application>gtkmm</application> C+"
#| "+ API for creating user interfaces. It also introduces the main user "
#| "interface elements (\"widgets\"). Although it mentions classes, "
#| "constructors, and methods, it does not go into great detail. Therefore, "
#| "for full API information you should follow the links into the reference "
#| "documentation."
msgid ""
"This book explains key concepts of the <application>gtkmm</application> "
"<phrase role=\"nowrap\">C++</phrase> API for creating user interfaces. It "
"also introduces the main user interface elements (\"widgets\"). Although it "
"mentions classes, constructors, and methods, it does not go into great "
"detail. Therefore, for full API information you should follow the links into "
"the reference documentation."
msgstr ""
"Denna bok förklarar nyckelkoncept i <application>gtkmm</application>:s C++-"
"API för att skapa användargränssnitt. Den introducerar också huvudelementen "
"i användargränssnitt (”komponenter”). Även om den nämner klasser, "
"konstruktorer och metoder så går den inte på djupet. För fullständig API-"
"information bör du därmed följa länkarna till referensdokumentationen."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:129
#, fuzzy
#| msgid ""
#| "This book assumes a good understanding of C++, and how to create C++ "
#| "programs."
msgid ""
"This book assumes a good understanding of <phrase role=\"nowrap\">C++</"
"phrase>, and how to create <phrase role=\"nowrap\">C++</phrase> programs."
msgstr ""
"Denna bok förutsätter en god förståelse av C++ och hur du skapar C++-program."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:141
#, fuzzy
#| msgid ""
#| "<application>gtkmm</application> is a C++ wrapper for <link xlink:"
#| "href=\"http://www.gtk.org/\">GTK</link>, a library used to create "
#| "graphical user interfaces. It is licensed using the LGPL license, so you "
#| "can develop open software, free software, or even commercial non-free "
#| "software using <application>gtkmm</application> without purchasing "
#| "licenses."
msgid ""
"<application>gtkmm</application> is a <phrase role=\"nowrap\">C++</phrase> "
"wrapper for <link xlink:href=\"http://www.gtk.org/\">GTK</link>, a library "
"used to create graphical user interfaces. It is licensed using the LGPL "
"license, so you can develop open software, free software, or even commercial "
"non-free software using <application>gtkmm</application> without purchasing "
"licenses."
msgstr ""
"<application>gtkmm</application> är ett C++-omslag för <link xlink:"
"href=\"http://www.gtk.org/\">GTK</link>, ett bibliotek som används för att "
"skapa grafiska användargränssnitt. Det är licensierat under licensen LGPL, "
"så du kan utveckla öppen programvara, fri programvara eller till och med "
"kommersiell icke-fri programvara med <application>gtkmm</application> utan "
"att köpa licenser."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:156
#, fuzzy
#| msgid ""
#| "<application>gtkmm</application> allows you to write code using normal C+"
#| "+ techniques such as encapsulation, derivation, and polymorphism. As a C+"
#| "+ programmer you probably already realize that this leads to clearer and "
#| "better organized code."
msgid ""
"<application>gtkmm</application> allows you to write code using normal "
"<phrase role=\"nowrap\">C++</phrase> techniques such as encapsulation, "
"derivation, and polymorphism. As a <phrase role=\"nowrap\">C++</phrase> "
"programmer you probably already realize that this leads to clearer and "
"better organized code."
msgstr ""
"<application>gtkmm</application> låter dig skriva kod med vanliga C++-"
"tekniker som inkapsling, härledning och polymorfism. Som C++-programmerare "
"inser du förmodligen redan att detta leder till tydligare och bättre "
"organiserad kod."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:158
#, fuzzy
#| 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 it. As a C++ developer you know that derivation is an essential "
#| "Object Orientated technique."
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 "
"it. As a <phrase role=\"nowrap\">C++</phrase> developer you know that "
"derivation is an essential Object Orientated technique."
msgstr ""
"Arv kan användas för att härleda nya komponenter. Härledandet av nya "
"komponenter i GTK:s C-kod är så komplicerad och inbjudande till fel, så att "
"nästan inga C-kodare gör det. Som C++-utvecklare vet du att härledning är en "
"viktig teknik i objektorientering."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:159
#, fuzzy
#| 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 "
#| "pointers should be avoided where possible."
msgid ""
"Member instances can be used, simplifying memory management. All GTK C "
"widgets are dealt with by use of pointers. As a <phrase role=\"nowrap\">C++</"
"phrase> coder you know that pointers should be avoided where possible."
msgstr ""
"Medlemsinstanser kan användas vilket förenklar minneshantering. Alla C-"
"komponenter i GTK hanteras genom användning av pekare. Som C++-kodare vet du "
"att pekare ska undvikas när möjligt."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:168
#, fuzzy
#| msgid ""
#| "<application>gtkmm</application> developers tend to prefer "
#| "<application>gtkmm</application> to Qt because <application>gtkmm</"
#| "application> does things in a more C++ way. Qt originates from a time "
#| "when C++ and the standard library were not standardized or well supported "
#| "by compilers. It therefore duplicates a lot of stuff that is now in the "
#| "standard library, such as containers and type information. Most "
#| "significantly, Trolltech modified the C++ language to provide signals, so "
#| "that Qt classes cannot be used easily with non-Qt classes. "
#| "<application>gtkmm</application> was able to use standard C++ to provide "
#| "signals without changing the C++ language. See the <link xlink:"
#| "href=\"https://wiki.gnome.org/Projects/gtkmm/FAQ\">FAQ</link> for more "
#| "detailed differences."
msgid ""
"<application>gtkmm</application> developers tend to prefer "
"<application>gtkmm</application> to Qt because <application>gtkmm</"
"application> does things in a more <phrase role=\"nowrap\">C++</phrase> way. "
"Qt originates from a time when <phrase role=\"nowrap\">C++</phrase> and the "
"standard library were not standardized or well supported by compilers. It "
"therefore duplicates a lot of stuff that is now in the standard library, "
"such as containers and type information. Most significantly, Trolltech "
"modified the <phrase role=\"nowrap\">C++</phrase> language to provide "
"signals, so that Qt classes cannot be used easily with non-Qt classes. "
"<application>gtkmm</application> was able to use standard <phrase "
"role=\"nowrap\">C++</phrase> to provide signals without changing the <phrase "
"role=\"nowrap\">C++</phrase> language. See the <link xlink:href=\"https://"
"gtkmm.gnome.org/en/faq.html\">FAQ</link> for more detailed differences."
msgstr ""
"<application>gtkmm</application>-utvecklare tenderar att föredra "
"<application>gtkmm</application> över Qt för att <application>gtkmm</"
"application> gör saker på ett mer C++-aktigt sätt. Qt härstammar från en tid "
"då C++ och standardbiblioteket varken standardiserats eller stöddes "
"ordentligt av kompilatorer. Det duplicerar därför mycket saker som nu är i "
"standardbiblioteket, som behållare och typinformation. I synnerhet "
"modifierade Trolltech C++-språket så det tillhandahöll signaler, så Qt-"
"klasser kan inte lätt användas med klasser som inte är Qt. "
"<application>gtkmm</application> kunde använda standard-C++ för att "
"tillhandahålla signaler utan att ändra C++-språket. Se <link xlink:"
"href=\"https://wiki.gnome.org/Projects/gtkmm/FAQ\">frågor och svar</link> "
"för mer detaljerade skillnader."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:175
#, fuzzy
#| 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 advantages. The <application>gtkmm</application> developers spend "
#| "most of their time talking about how <application>gtkmm</application> can "
#| "present the clearest API, without awkward compromises due to obscure "
#| "technical details. We contribute a little to the underlying GTK code "
#| "base, but so do the C coders, and the Perl coders and the Python coders, "
#| "etc. Therefore GTK benefits from a broader user base than language-"
#| "specific toolkits - there are more implementers, more developers, more "
#| "testers, and more users."
msgid ""
"<application>gtkmm</application> is not a native <phrase role=\"nowrap\">C+"
"+</phrase> toolkit, but a <phrase role=\"nowrap\">C++</phrase> wrapper of a "
"C toolkit. This separation of interface and implementation has advantages. "
"The <application>gtkmm</application> developers spend most of their time "
"talking about how <application>gtkmm</application> can present the clearest "
"API, without awkward compromises due to obscure technical details. We "
"contribute a little to the underlying GTK code base, but so do the C coders, "
"and the Perl coders and the Python coders, etc. Therefore GTK benefits from "
"a broader user base than language-specific toolkits - there are more "
"implementers, more developers, more testers, and more users."
msgstr ""
"<application>gtkmm</application> är inte en inhemsk C++-verktygslåda, utan "
"ett C++-omslag för en C-verktygslåda. Denna uppdelning av gränssnitt och "
"implementation har fördelar. Utvecklarna av <application>gtkmm</application> "
"spenderar sin mesta tid åt att prata om hur <application>gtkmm</application> "
"kan erbjuda det klaraste API:t, utan klumpiga kompromisser på grund av "
"obskyra tekniska detaljer. Vi bidrar lite grann till den underliggande GTK-"
"kodbasen, men så gör även C-kodarna, Perl-kodarna och Python-kodarna o.s.v. "
"Därigenom drar GTK nytta av en bredare användarbas än språkspecifika "
"verktygslådor - det finns fler implementatörer, fler utvecklare, fler "
"testare, och fler användare."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: chapter/para
#: C/index-in.docbook:333
#, fuzzy
#| msgid ""
#| "Your existing knowledge of C++ will help you with <application>gtkmm</"
#| "application> as it would with any library. Unless we state otherwise, you "
#| "can expect <application>gtkmm</application> classes to behave like any "
#| "other C++ class, and you can expect to use your existing C++ techniques "
#| "with <application>gtkmm</application> classes."
msgid ""
"Your existing knowledge of <phrase role=\"nowrap\">C++</phrase> will help "
"you with <application>gtkmm</application> as it would with any library. "
"Unless we state otherwise, you can expect <application>gtkmm</application> "
"classes to behave like any other <phrase role=\"nowrap\">C++</phrase> class, "
"and you can expect to use your existing <phrase role=\"nowrap\">C++</phrase> "
"techniques with <application>gtkmm</application> classes."
msgstr ""
"Din befintliga C++-kunskap kommer hjälpa dig med <application>gtkmm</"
"application> som den skulle göra med alla bibliotek. Om vi inte uttryckligen "
"säger annat kan du förvänta dig att <application>gtkmm</application>-klasser "
"kommer bete sig som vilken annan C++-klass som helst, och du kan förvänta "
"dig att använda dina befintliga C++-tekniker med <application>gtkmm</"
"application>-klasser."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:348
#, fuzzy, no-wrap
#| msgid "#include &lt;gtkmm.h&gt;"
msgid "<code>#include &lt;gtkmm.h&gt;</code>"
msgstr "#include &lt;gtkmm.h&gt;"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:349
#, fuzzy
#| msgid ""
#| "All <application>gtkmm</application> programs must include certain "
#| "<application>gtkmm</application> headers; <literal>gtkmm.h</literal> "
#| "includes the entire <application>gtkmm</application> kit. This is usually "
#| "not a good idea, because it includes a megabyte or so of headers, but for "
#| "simple programs, it suffices."
msgid ""
"All <application>gtkmm</application> programs must include certain "
"<application>gtkmm</application> headers; <filename>gtkmm.h</filename> "
"includes the entire <application>gtkmm</application> kit. This is usually "
"not a good idea, because it includes a megabyte or so of headers, but for "
"simple programs, it suffices."
msgstr ""
"Alla <application>gtkmm</application>-program måste innehålla vissa "
"<application>gtkmm</application>-huvuden; <literal>gtkmm.h</literal> "
"inkluderar hela <application>gtkmm</application>-kittet. Detta är vanligen "
"ingen bra idé, då det inkluderar en megabyte eller så med huvuden, men för "
"enkla program duger det."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:357
#, fuzzy, no-wrap
#| msgid ""
#| "class MyWindow : public Gtk::Window\n"
#| "{\n"
#| "public:\n"
#| " MyWindow();\n"
#| "};\n"
#| "\n"
#| "MyWindow::MyWindow()\n"
#| "{\n"
#| " set_title(\"Basic application\");\n"
#| " set_default_size(200, 200);\n"
#| "}"
msgid ""
"<code>class MyWindow : public Gtk::Window\n"
"{\n"
"public:\n"
" MyWindow();\n"
"};\n"
"\n"
"MyWindow::MyWindow()\n"
"{\n"
" set_title(\"Basic application\");\n"
" set_default_size(200, 200);\n"
"}</code>"
msgstr ""
"class MyWindow : public Gtk::Window\n"
"{\n"
"public:\n"
" MyWindow();\n"
"};\n"
"\n"
"MyWindow::MyWindow()\n"
"{\n"
" set_title(\"Enkelt program\");\n"
" set_default_size(200, 200);\n"
"}"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:374
#, fuzzy, no-wrap
#| msgid "auto app = Gtk::Application::create(\"org.gtkmm.examples.base\");"
msgid "<code>auto app = Gtk::Application::create(\"org.gtkmm.examples.base\");</code>"
msgstr "auto app = Gtk::Application::create(\"org.gtkmm.examples.base\");"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:386
#, fuzzy, no-wrap
#| msgid "return app-&gt;make_window_and_run&lt;MyWindow&gt;(argc, argv);"
msgid "<code>return app-&gt;make_window_and_run&lt;MyWindow&gt;(argc, argv);</code>"
msgstr "return app-&gt;make_window_and_run&lt;MyWindow&gt;(argc, argv);"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:388
#, fuzzy
#| msgid ""
#| "After putting the source code in <literal>simple.cc</literal> you can "
#| "compile the above program with <application>gcc</application> using:"
msgid ""
"After putting the source code in <filename>base.cc</filename> you can "
"compile the above program with <application>gcc</application> using:"
msgstr ""
"Efter att ha stoppat källkoden i <literal>simple.cc</literal> kan du "
"kompilera programmet ovan med <application>gcc</application> genom:"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:392
#, fuzzy, no-wrap
#| msgid "g++ simple.cc -o simple `pkg-config --cflags --libs gtkmm-4.0` -std=c++17"
msgid "<code>g++ base.cc -o base `pkg-config --cflags --libs gtkmm-4.0` -std=c++17</code>"
msgstr "g++ simple.cc -o simple `pkg-config --cflags --libs gtkmm-4.0` -std=c++17"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:393
#, fuzzy
#| msgid ""
#| "Note that you must surround the <literal>pkg-config</literal> invocation "
#| "with backquotes. Backquotes cause the shell to execute the command inside "
#| "them, and to use the command's output as part of the command line. Note "
#| "also that <literal>simple.cc</literal> must come before the <literal>pkg-"
#| "config</literal> invocation on the command line. <literal>-std=c++17</"
#| "literal> is necessary only if your compiler is not C++17 compliant by "
#| "default."
msgid ""
"Note that you must surround the <application>pkg-config</application> "
"invocation with backquotes. Backquotes cause the shell to execute the "
"command inside them, and to use the command's output as part of the command "
"line. Note also that <filename>base.cc</filename> must come before the "
"<application>pkg-config</application> invocation on the command line. "
"<literal><phrase role=\"nowrap\">-std=c++17</phrase></literal> is necessary "
"only if your compiler is not <phrase role=\"nowrap\">C++17</phrase> "
"compliant by default."
msgstr ""
"Observera att du måste omsluta anropet av <literal>pkg-config</literal> med "
"grav accent (`). Grava accenter får skalet att exekvera kommandot inuti dem, "
"och att använda kommandots utdata som en del av kommandoraden. Observera "
"också att <literal>simple.cc</literal> måste komma före anropet av "
"<literal>pkg-config</literal> på kommandoraden. <literal>-std=c++17</"
"literal> är endast nödvändigt om din kompilator inte följer C++17 som "
"standard."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:428
#, fuzzy, no-wrap
#| msgid "gtkmm_dep = dependency('gtkmm-4.0', version: '&gt;= 4.6.0')"
msgid "<code>gtkmm_dep = dependency('gtkmm-4.0', version: '&gt;= 4.6.0')</code>"
msgstr "gtkmm_dep = dependency('gtkmm-4.0', version: '&gt;= 4.6.0')"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:433
#, fuzzy, no-wrap
msgid ""
"<code>exe_file = executable('my_program', 'my_source1.cc', 'my_source2.cc',\n"
" dependencies: gtkmm_dep,\n"
" win_subsystem: 'windows',\n"
")</code>"
msgstr ""
"exe_file = executable('my_program', 'my_source1.cc', 'my_source2.cc',\n"
" dependencies: gtkmm_dep,\n"
" win_subsystem: 'windows',\n"
")"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:462
#, fuzzy
msgid ""
"<application>gtkmm</application> applications consist of windows containing "
"widgets, such as buttons and text boxes. In some other systems, widgets are "
"called \"controls\". For each widget in your application's windows, there is "
"a <phrase role=\"nowrap\">C++</phrase> object in your application's code. So "
"you just need to call a method of the widget's class to affect the visible "
"widget."
msgstr ""
"<application>gtkmm</application>-program består av fönster som innehåller "
"komponenter, som knappar och textrutor. I några andra system kallas "
"komponenter för ”kontroller”. För varje komponent i ditt programs fönster "
"finns det ett C++-objekt i ditt programs kod. Så du behöver bara anropa en "
"metod av komponentens klass för att påverka den synliga komponenten."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:463
#, fuzzy
msgid ""
"Widgets are arranged inside container widgets such as frames and notebooks, "
"in a hierarchy of widgets within widgets. Some of these container widgets, "
"such as <classname>Gtk::Grid</classname>, are not visible - they exist only "
"to arrange other widgets. Here is some example code that adds 2 "
"<classname>Gtk::Button</classname> widgets to a <classname>Gtk::Box</"
"classname> container widget:"
msgstr ""
"Komponenter arrangeras inuti behållarkomponenter som ramar och "
"anteckningsblock, i en hierarki av komponenter i komponenter. Vissa av dessa "
"behållarkomponenter, som <classname>Gtk::Grid</classname>, är inte synliga - "
"de existerar bara för att arrangera andra komponenter. Här är exempelkod som "
"lägger till två <classname>Gtk::Button</classname>-komponenter till en "
"<classname>Gtk::Box</classname>-behållarkomponent: <_:programlisting-1/> och "
"här är hur du lägger till denna <classname>Gtk::Box</classname> som "
"innehåller knapparna till en <classname>Gtk::Frame</classname> som har en "
"synlig ram och titel: <_:programlisting-2/>"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:465
#, fuzzy, no-wrap
#| msgid ""
#| "m_box.append(m_Button1);\n"
#| "m_box.append(m_Button2);"
msgid ""
"<code>m_box.append(m_Button1);\n"
"m_box.append(m_Button2);</code>"
msgstr ""
"m_box.append(m_Button1);\n"
"m_box.append(m_Button2);"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:469
#, fuzzy, no-wrap
#| msgid "m_frame.set_child(m_box);"
msgid "<code>m_frame.set_child(m_box);</code>"
msgstr "m_frame.set_child(m_box);"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:474
#, fuzzy
#| 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 interfaces with <literal>Glade</literal> and load them at runtime "
#| "with <literal>Gtk::Builder</literal>. See the <link linkend=\"chapter-"
#| "builder\">Glade and Gtk::Builder</link> chapter."
msgid ""
"Although you can specify the layout and appearance of windows and widgets "
"with <phrase role=\"nowrap\">C++</phrase> code, you will probably find it "
"more convenient to design your user interfaces with <filename "
"class=\"extension\">.ui</filename> XML files and load them at runtime with "
"<classname>Gtk::Builder</classname>. See the <link linkend=\"chapter-"
"builder\">Gtk::Builder</link> chapter."
msgstr ""
"Även om du kan ange layouten och utseendet för fönster och komponenter med C+"
"+-kod så kommer du troligen finna det mer bekvämt att designa dina "
"användargränssnitt med <literal>Glade</literal> och läsa in dem vid körning "
"med <literal>Gtk::Builder</literal>. Se kapitlet <link linkend=\"chapter-"
"builder\">Glade och Gtk::Builder</link>."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:480
#, fuzzy
msgid ""
"Although <application>gtkmm</application> widget instances have lifetimes "
"and scopes just like those of other <phrase role=\"nowrap\">C++</phrase> "
"classes, <application>gtkmm</application> has an optional time-saving "
"feature that you will see in some of the examples. The <function>Gtk::"
"make_managed()</function> allows you to create a new widget and state that "
"it will become owned by the container into which you place it. This allows "
"you to create the widget, add it to the container and not be concerned about "
"deleting it, since that will occur when the parent container (which may "
"itself be managed) is deleted. You can learn more about <application>gtkmm</"
"application> memory management techniques in the <link linkend=\"chapter-"
"memory\">Memory Management chapter</link>."
msgstr ""
"Även om <application>gtkmm</application>-komponentinstanser har livslängder "
"och räckvidder precis som de hos andra C++ classes, så har "
"<application>gtkmm</application> en valfri tidssparande funktion som du "
"kommer se i några av exemplen. <function>Gtk::make_managed()</function> "
"låter dig skapa en ny komponent och ange att den kommer att ägas av "
"behållaren som du placerar den i. Detta låter dig skapa komponenten, lägga "
"till den i behållaren och inte behöva bry dig om att ta bort den, då det "
"kommer att inträffa då den överordnade behållaren (som i sin tur kan vara "
"hanterad) tas bort. Du kan lära dig mer om minneshanteringstekniker för "
"<application>gtkmm</application> i kapitlet <link linkend=\"chapter-"
"memory\">Minneshantering</link>."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:505
#, fuzzy, no-wrap
#| msgid ""
#| "m_button1.signal_clicked().connect( sigc::mem_fun(*this,\n"
#| " &amp;HelloWorld::on_button_clicked) );"
msgid ""
"<code>m_button1.signal_clicked().connect( sigc::mem_fun(*this,\n"
" &amp;HelloWorld::on_button_clicked) );</code>"
msgstr ""
"m_button1.signal_clicked().connect( sigc::mem_fun(*this,\n"
" &amp;HelloWorld::on_button_clicked) );"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:518
#, fuzzy
#| 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 these languages have been specified by the <link xlink:href=\"http://"
#| "www.unicode.org/\">Unicode Consortium</link>, the C and C++ languages do "
#| "not yet provide any standardized Unicode support for UTF-8 encoding. GTK "
#| "and GNOME chose to implement Unicode using UTF-8, and that's what is "
#| "wrapped by Glib::ustring. It provides almost exactly the same interface "
#| "as std::string, along with automatic conversions to and from std::string."
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 "
"these languages have been specified by the <link xlink:href=\"http://www."
"unicode.org/\">Unicode Consortium</link>, the C and <phrase "
"role=\"nowrap\">C++</phrase> languages do not yet provide any standardized "
"Unicode support for UTF-8 encoding. GTK and GNOME chose to implement Unicode "
"using UTF-8, and that's what is wrapped by Glib::ustring. It provides almost "
"exactly the same interface as std::string, along with automatic conversions "
"to and from std::string."
msgstr ""
"std::string använder 8 bitar per tecken, men 8 bitar räcker inte till för "
"att koda språk som arabiska, kinesiska och japanska. Även om kodningarna för "
"dessa språk har angivits av <link xlink:href=\"http://www.unicode.org/"
"\">Unicode Consortium</link> så tillhandahåller språken C och C++ ännu inte "
"något standardiserat Unicode-stöd för UTF-8-kodning. GTK och GNOME valde att "
"implementera Unicode med UTF-8, och det är vad som är omslaget av Glib::"
"ustring. Det tillhandahåller nästan exakt samma gränssnitt som std::string, "
"tillsammans med automatiska konverteringar till och från std::string."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:538
#, fuzzy
#| 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</"
#| "application> helps by providing access to the underlying C object, and "
#| "providing an easy way to create a C++ wrapper object from a C object, "
#| "provided that the C API is also based on the <classname>GObject</"
#| "classname> system."
msgid ""
"You can use C APIs which do not yet have convenient <phrase "
"role=\"nowrap\">C++</phrase> interfaces. It is generally not a problem to "
"use C APIs from <phrase role=\"nowrap\">C++</phrase>, and "
"<application>gtkmm</application> helps by providing access to the underlying "
"C object, and providing an easy way to create a <phrase role=\"nowrap\">C++</"
"phrase> wrapper object from a C object, provided that the C API is also "
"based on the <classname>GObject</classname> system."
msgstr ""
"Du kan använda C-API:er som inte ännu har praktiska C++-gränssnitt. Det är "
"allmänt inte ett problem att använda C-API:er från C++, och "
"<application>gtkmm</application> hjälper till genom att ge åtkomst till det "
"underliggande C-objektet, och tillhandahåller ett lätt sätt att skapa ett C+"
"+-omslagsobjekt från ett C-objekt, givet att C-API:t också är baserat på "
"<classname>GObject</classname>-systemet."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:544
#, fuzzy
msgid ""
"To use a <application>gtkmm</application> instance with a C function that "
"requires a C <classname>GObject</classname> instance, use the <phrase "
"role=\"nowrap\">C++</phrase> instance’s <function>gobj()</function> function "
"to obtain a pointer to the underlying C instance. For example:"
msgstr ""
"För att använda en <application>gtkmm</application>-instans med en C-"
"funktion som kräver en <classname>GObject</classname>-instans i C, använder "
"du C++-instansens <function>gobj()</function>-funktion för att erhålla en "
"pekare till den underliggande C-instansen. Till exempel:"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:549
#, fuzzy, no-wrap
msgid ""
"<code>Gtk::Button button(\"example\");\n"
"gtk_button_do_something_that_gtkmm_cannot(button.gobj());\n"
"</code>"
msgstr ""
"\n"
"Gtk::Button button(\"exempel\");\n"
"gtk_button_do_something_that_gtkmm_cannot(button.gobj());\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:553
#, fuzzy
msgid ""
"To obtain a <application>gtkmm</application> instance from a C "
"<classname>GObject</classname> instance, use one of the many overloaded "
"<function>Glib::wrap()</function> functions. The C instance’s reference "
"count is not incremented, unless you set the optional <parameter>take_copy</"
"parameter> argument to <literal>true</literal>. For example:"
msgstr ""
"För att erhålla en <application>gtkmm</application>-instans från en "
"<classname>GObject</classname>-instans i C, använd en av de många "
"överlagrade <function>Glib::wrap()</function>-funktionerna. C-instansens "
"referensantal ökas inte, om du inte ställer in det valfria argumentet "
"<parameter>take_copy</parameter> till <literal>true</literal>. Till exempel: "
"<_:programlisting-1/> C++-omslaget ska explicit tas bort om <_:"
"itemizedlist-2/> <function>Glib::wrap()</function> binder C- och C++-"
"instanserna till varandra. Ta inte bort C++-instansen innan du vill att C-"
"instansen ska dö."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:559
#, fuzzy, no-wrap
msgid ""
"<code>GtkButton* cbutton = get_a_button();\n"
"Gtk::Button* button = Glib::wrap(cbutton);\n"
"button-&gt;set_label(\"Now I speak C++ too!\");\n"
"</code>"
msgstr ""
"\n"
"GtkButton* cbutton = get_a_button();\n"
"Gtk::Button* button = Glib::wrap(cbutton);\n"
"button-&gt;set_label(\"Nu talar jag även C++!\");\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:573
#, fuzzy
msgid ""
"In all other cases the <phrase role=\"nowrap\">C++</phrase> instance is "
"automatically deleted when the last reference to the C instance is dropped. "
"This includes all <function>Glib::wrap()</function> overloads that return a "
"<classname>Glib::RefPtr</classname>."
msgstr ""
"I alla andra fall tas C++-instansen automatiskt bort när den sista "
"referensen till C-instansen släpps. Detta inkluderar alla <function>Glib::"
"wrap()</function>-överlagringar som returnerar en <classname>Glib::RefPtr</"
"classname>."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:605
#, fuzzy, no-wrap
#| msgid ""
#| "class HelloWorld : public Gtk::Window\n"
#| "{\n"
#| "public:\n"
#| " HelloWorld();\n"
#| " ~HelloWorld() override;\n"
#| "\n"
#| "protected:\n"
#| " //Signal handlers:\n"
#| " void on_button_clicked();\n"
#| "\n"
#| " //Member widgets:\n"
#| " Gtk::Button m_button;\n"
#| "};"
msgid ""
"<code>class HelloWorld : public Gtk::Window\n"
"{\n"
"public:\n"
" HelloWorld();\n"
" ~HelloWorld() override;\n"
"\n"
"protected:\n"
" //Signal handlers:\n"
" void on_button_clicked();\n"
"\n"
" //Member widgets:\n"
" Gtk::Button m_button;\n"
"};</code>"
msgstr ""
"class HelloWorld : public Gtk::Window\n"
"{\n"
"public:\n"
" HelloWorld();\n"
" ~HelloWorld() override;\n"
"\n"
"protected:\n"
" //Signalhanterare:\n"
" void on_button_clicked();\n"
"\n"
" //Medlemskomponenter:\n"
" Gtk::Button m_button;\n"
"};"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:628
#, fuzzy, no-wrap
#| msgid ""
#| "HelloWorld::HelloWorld()\n"
#| ": m_button(\"Hello World\")\n"
#| "{\n"
#| " m_button.set_margin(10);\n"
#| " m_button.signal_clicked().connect(sigc::mem_fun(*this,\n"
#| " &amp;HelloWorld::on_button_clicked));\n"
#| " set_child(m_button);\n"
#| "}"
msgid ""
"<code>HelloWorld::HelloWorld()\n"
": m_button(\"Hello World\")\n"
"{\n"
" m_button.set_margin(10);\n"
" m_button.signal_clicked().connect(sigc::mem_fun(*this,\n"
" &amp;HelloWorld::on_button_clicked));\n"
" set_child(m_button);\n"
"}</code>"
msgstr ""
"HelloWorld::HelloWorld()\n"
": m_button(\"Hej världen\")\n"
"{\n"
" m_button.set_margin(10);\n"
" m_button.signal_clicked().connect(sigc::mem_fun(*this,\n"
" &amp;HelloWorld::on_button_clicked));\n"
" set_child(m_button);\n"
"}"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:663
#, fuzzy, no-wrap
#| msgid ""
#| "int main(int argc, char* argv[])\n"
#| "{\n"
#| " auto app = Gtk::Application::create(\"org.gtkmm.example\");\n"
#| " return app-&gt;make_window_and_run&lt;HelloWorld&gt;(argc, argv);\n"
#| "}"
msgid ""
"<code>int main(int argc, char* argv[])\n"
"{\n"
" auto app = Gtk::Application::create(\"org.gtkmm.example\");\n"
" return app-&gt;make_window_and_run&lt;HelloWorld&gt;(argc, argv);\n"
"}</code>"
msgstr ""
"int main(int argc, char* argv[])\n"
"{\n"
" auto app = Gtk::Application::create(\"org.gtkmm.example\");\n"
" return app-&gt;make_window_and_run&lt;HelloWorld&gt;(argc, argv);\n"
"}"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: chapter/para
#: C/index-in.docbook:760
#, fuzzy
#| msgid ""
#| "<application>gtkmm</application>-4.0 is used in combination with "
#| "<application>glibmm-2.68</application>, which sets the global locale for "
#| "your program. The older <application>glibmm-2.4</application> does not do "
#| "that, and <application>gtkmm</application>-3.0 does it only to some "
#| "extent. What this means is briefly that if your <application>gtkmm</"
#| "application>-3.0 program contains a call to <function>std::locale::"
#| "global(std::locale(\"\"))</function>, you can probably remove it. If you "
#| "don't want <application>glibmm</application> or <application>gtkmm</"
#| "application> to set the global locale for you, you should add a call to "
#| "<function>Glib::set_init_to_users_preferred_locale(false)</function> "
#| "before any call to <function>Glib::init()</function> or <methodname>Gtk::"
#| "Application::create()</methodname>."
msgid ""
"<application>gtkmm</application>-4.0 is used in combination with "
"<application>glibmm-2.68</application>, which sets the global locale for "
"your program. The older <application>glibmm-2.4</application> does not do "
"that, and <application>gtkmm</application>-3.0 does it only to some extent. "
"What this means is briefly that if your <application>gtkmm</application>-3.0 "
"program contains a call to <function>std::locale::global(std::locale(\"\"))</"
"function>, you can probably remove it. If you don't want "
"<application>glibmm</application> or <application>gtkmm</application> to set "
"the global locale for you, you should add a call to <function>Glib::"
"set_init_to_users_preferred_locale(false)</function> before any call to "
"<function>Glib::init()</function> or <methodname>Gtk::Application::create()</"
"methodname>. See the <application>glibmm</application> <link xlink:"
"href=\"https://gnome.pages.gitlab.gnome.org/glibmm/namespaceGlib.html\"> "
"reference</link>."
msgstr ""
"<application>gtkmm</application>-4.0 används i kombination med "
"<application>glibmm-2.68</application>, vilket ställer in den globala "
"lokalen för ditt program. Det äldre <application>glibmm-2.4</application> "
"gör inte det, och <application>gtkmm</application>-3.0 gör det bara till "
"viss del. Vad detta betyder är helt kort att om ditt <application>gtkmm</"
"application>-3.0-program innehåller ett anrop till <function>std::locale::"
"global(std::locale(\"\"))</function> så kan du troligen ta bort det. Om du "
"inte vill att <application>glibmm</application> eller <application>gtkmm</"
"application> ska ställa in den globala lokalen åt dig så ska du lägga till "
"ett anrop till <function>Glib::set_init_to_users_preferred_locale(false)</"
"function> före anrop <function>Glib::init()</function> eller "
"<methodname>Gtk::Application::create()</methodname>."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: listitem/simpara
#: C/index-in.docbook:828
#, fuzzy
#| msgid ""
#| "<classname>Glib::ArrayHandle</classname>, <classname>Glib::"
#| "StringArrayHandle</classname>, <classname>Glib::ListHandle</classname> "
#| "and <classname>Glib::SListHandle</classname> have been removed. They were "
#| "used in <application>glibmm</application>-2.4, but not used in "
#| "<application>gtkmm</application>-3.0. If you've ever used these classes, "
#| "replace them with a standard C++ container, such as <classname>std::"
#| "vector</classname>."
msgid ""
"<classname>Glib::ArrayHandle</classname>, <classname>Glib::"
"StringArrayHandle</classname>, <classname>Glib::ListHandle</classname> and "
"<classname>Glib::SListHandle</classname> have been removed. They were used "
"in <application>glibmm</application>-2.4, but not used in "
"<application>gtkmm</application>-3.0. If you've ever used these classes, "
"replace them with a standard <phrase role=\"nowrap\">C++</phrase> container, "
"such as <classname>std::vector</classname>."
msgstr ""
"<classname>Glib::ArrayHandle</classname>, <classname>Glib::"
"StringArrayHandle</classname>, <classname>Glib::ListHandle</classname> och "
"<classname>Glib::SListHandle</classname> har tagits bort. De användes i "
"<application>glibmm</application>-2.4, men används inte i "
"<application>gtkmm</application>-3.0. Om du har använt dessa klasser kan du "
"ersätta dem med en C++-standardbehållare som <classname>std::vector</"
"classname>."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:984
#, fuzzy, no-wrap
msgid "<code>Gtk::Button* pButton = new Gtk::Button(\"_Something\", true);</code>"
msgstr "Gtk::Button* pButton = new Gtk::Button(\"_Något\", true);"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:1084
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "auto rb1 = Gtk::make_managed&lt;Gtk::CheckButton&gt;(\"button1\");\n"
#| "auto rb2 = Gtk::make_managed&lt;Gtk::CheckButton&gt;(\"button2\");\n"
#| "auto rb3 = Gtk::make_managed&lt;Gtk::CheckButton&gt;(\"button3\");\n"
#| "rb2-&gt;set_group(*rb1);\n"
#| "rb3-&gt;set_group(*rb1);\n"
msgid ""
"<code>auto rb1 = Gtk::make_managed&lt;Gtk::CheckButton&gt;(\"button1\");\n"
"auto rb2 = Gtk::make_managed&lt;Gtk::CheckButton&gt;(\"button2\");\n"
"auto rb3 = Gtk::make_managed&lt;Gtk::CheckButton&gt;(\"button3\");\n"
"rb2-&gt;set_group(*rb1);\n"
"rb3-&gt;set_group(*rb1);\n"
"</code>"
msgstr ""
"\n"
"auto rb1 = Gtk::make_managed&lt;Gtk::CheckButton&gt;(\"knapp1\");\n"
"auto rb2 = Gtk::make_managed&lt;Gtk::CheckButton&gt;(\"knapp2\");\n"
"auto rb3 = Gtk::make_managed&lt;Gtk::CheckButton&gt;(\"knapp3\");\n"
"rb2-&gt;set_group(*rb1);\n"
"rb3-&gt;set_group(*rb1);\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:2125
#, fuzzy, no-wrap
#| msgid ""
#| "Gtk::Box(Gtk::Orientation orientation = Gtk::Orientation::HORIZONTAL, int spacing = 0);\n"
#| "void set_orientation(Gtk::Orientation orientation);\n"
#| "void set_spacing(int spacing);\n"
#| "void set_homogeneous(bool homogeneous = true);"
msgid ""
"<code>Gtk::Box(Gtk::Orientation orientation = Gtk::Orientation::HORIZONTAL, int spacing = 0);\n"
"void set_orientation(Gtk::Orientation orientation);\n"
"void set_spacing(int spacing);\n"
"void set_homogeneous(bool homogeneous = true);</code>"
msgstr ""
"Gtk::Box(Gtk::Orientation orientation = Gtk::Orientation::HORIZONTAL, int spacing = 0);\n"
"void set_orientation(Gtk::Orientation orientation);\n"
"void set_spacing(int spacing);\n"
"void set_homogeneous(bool homogeneous = true);"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:2129
#, fuzzy
msgid ""
"Passing <literal>true</literal> to <methodname>set_homogeneous()</"
"methodname> will cause all of the contained widgets to be the same size. "
"<parameter>spacing</parameter> is a (minimum) number of pixels to leave "
"between each widget."
msgstr ""
"Här är konstruktorn för komponenten <classname>Box</classname>, och metoder "
"som ställer in packningsalternativ per behållare: <_:programlisting-1/> Att "
"skicka <literal>true</literal> till <methodname>set_homogeneous()</"
"methodname> kommer få alla inneslutna komponenter att vara samma storlek. "
"<parameter>spacing</parameter> är ett (minsta) antal bildpunkter att lämna "
"mellan varje komponent."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:2393 C/index-in.docbook:3391
#, fuzzy, no-wrap
#| msgid ""
#| "class ModelColumns : public Glib::Object\n"
#| "{\n"
#| "public:\n"
#| " int m_col_id;\n"
#| " Glib::ustring m_col_name;\n"
#| "\n"
#| " static Glib::RefPtr&lt;ModelColumns&gt; create(\n"
#| " int col_id, const Glib::ustring&amp; col_name)\n"
#| " {\n"
#| " return Glib::make_refptr_for_instance&lt;ModelColumns&gt;(\n"
#| " new ModelColumns(col_id, col_name));\n"
#| " }\n"
#| "\n"
#| "protected:\n"
#| " ModelColumns(int col_id, const Glib::ustring&amp; col_name)\n"
#| " : m_col_id(col_id), m_col_name(col_name)\n"
#| " {}\n"
#| "};\n"
#| "\n"
#| "Glib::RefPtr&lt;Gio::ListStore&lt;ModelColumns&gt;&gt; m_ListStore;\n"
msgid ""
"<code>class ModelColumns : public Glib::Object\n"
"{\n"
"public:\n"
" int m_col_id;\n"
" Glib::ustring m_col_name;\n"
"\n"
" static Glib::RefPtr&lt;ModelColumns&gt; create(\n"
" int col_id, const Glib::ustring&amp; col_name)\n"
" {\n"
" return Glib::make_refptr_for_instance&lt;ModelColumns&gt;(\n"
" new ModelColumns(col_id, col_name));\n"
" }\n"
"\n"
"protected:\n"
" ModelColumns(int col_id, const Glib::ustring&amp; col_name)\n"
" : m_col_id(col_id), m_col_name(col_name)\n"
" {}\n"
"};\n"
"\n"
"Glib::RefPtr&lt;Gio::ListStore&lt;ModelColumns&gt;&gt; m_ListStore;\n"
"</code>"
msgstr ""
"class ModelColumns : public Glib::Object\n"
"{\n"
"public:\n"
" int m_col_id;\n"
" Glib::ustring m_col_name;\n"
"\n"
" static Glib::RefPtr&lt;ModelColumns&gt; create(\n"
" int col_id, const Glib::ustring&amp; col_name)\n"
" {\n"
" return Glib::make_refptr_for_instance&lt;ModelColumns&gt;(\n"
" new ModelColumns(col_id, col_name));\n"
" }\n"
"\n"
"protected:\n"
" ModelColumns(int col_id, const Glib::ustring&amp; col_name)\n"
" : m_col_id(col_id), m_col_name(col_name)\n"
" {}\n"
"};\n"
"\n"
"Glib::RefPtr&lt;Gio::ListStore&lt;ModelColumns&gt;&gt; m_ListStore;\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:2728
#, fuzzy, no-wrap
#| msgid ""
#| "class ModelColumns : public Gtk::TreeModelColumnRecord\n"
#| "{\n"
#| "public:\n"
#| "\n"
#| " ModelColumns()\n"
#| " { add(m_col_text); add(m_col_number); }\n"
#| "\n"
#| " Gtk::TreeModelColumn&lt;Glib::ustring&gt; m_col_text;\n"
#| " Gtk::TreeModelColumn&lt;int&gt; m_col_number;\n"
#| "};\n"
#| "\n"
#| "ModelColumns m_Columns;"
msgid ""
"<code>class ModelColumns : public Gtk::TreeModelColumnRecord\n"
"{\n"
"public:\n"
"\n"
" ModelColumns()\n"
" { add(m_col_text); add(m_col_number); }\n"
"\n"
" Gtk::TreeModelColumn&lt;Glib::ustring&gt; m_col_text;\n"
" Gtk::TreeModelColumn&lt;int&gt; m_col_number;\n"
"};\n"
"\n"
"ModelColumns m_Columns;</code>"
msgstr ""
"class ModelColumns : public Gtk::TreeModelColumnRecord\n"
"{\n"
"public:\n"
"\n"
" ModelColumns()\n"
" { add(m_col_text); add(m_col_number); }\n"
"\n"
" Gtk::TreeModelColumn&lt;Glib::ustring&gt; m_col_text;\n"
" Gtk::TreeModelColumn&lt;int&gt; m_col_number;\n"
"};\n"
"\n"
"ModelColumns m_Columns;"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:2745
#, fuzzy, no-wrap
#| msgid ""
#| "Glib::RefPtr&lt;Gtk::ListStore&gt; refListStore =\n"
#| " Gtk::ListStore::create(m_Columns);"
msgid ""
"<code>Glib::RefPtr&lt;Gtk::ListStore&gt; refListStore =\n"
" Gtk::ListStore::create(m_Columns);</code>"
msgstr ""
"Glib::RefPtr&lt;Gtk::ListStore&gt; refListStore =\n"
" Gtk::ListStore::create(m_Columns);"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:2765
#, fuzzy, no-wrap
#| msgid "auto iter = m_refListStore-&gt;append();"
msgid "<code>auto iter = m_refListStore-&gt;append();</code>"
msgstr "auto iter = m_refListStore-&gt;append();"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:2768
#, fuzzy, no-wrap
#| msgid "auto row = *iter;"
msgid "<code>auto row = *iter;</code>"
msgstr "auto row = *iter;"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:2776
#, fuzzy, no-wrap
#| msgid ""
#| "auto iter_child =\n"
#| " m_refTreeStore-&gt;append(row.children());"
msgid ""
"<code>auto iter_child =\n"
" m_refTreeStore-&gt;append(row.children());</code>"
msgstr ""
"auto iter_child =\n"
" m_refTreeStore-&gt;append(row.children());"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:2790
#, fuzzy, no-wrap
#| msgid "row[m_Columns.m_col_text] = \"sometext\";"
msgid "<code>row[m_Columns.m_col_text] = \"sometext\";</code>"
msgstr "row[m_Columns.m_col_text] = \"litetext\";"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:2801
#, fuzzy, no-wrap
#| msgid ""
#| "auto strText = row[m_Columns.m_col_text];\n"
#| "auto number = row[m_Columns.m_col_number];"
msgid ""
"<code>auto strText = row[m_Columns.m_col_text];\n"
"auto number = row[m_Columns.m_col_number];</code>"
msgstr ""
"auto strText = row[m_Columns.m_col_text];\n"
"auto number = row[m_Columns.m_col_number];"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:2807
#, fuzzy, no-wrap
#| msgid ""
#| "//compiler error - no conversion from ustring to int.\n"
#| "int number = row[m_Columns.m_col_text];"
msgid ""
"<code>//compiler error - no conversion from ustring to int.\n"
"int number = row[m_Columns.m_col_text];</code>"
msgstr ""
"//kompileringsfel - ingen konvertering från ustring till int.\n"
"int number = row[m_Columns.m_col_text];"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:2842
#, fuzzy, no-wrap
#| msgid "m_TreeView.set_model(m_refListStore);"
msgid "<code>m_TreeView.set_model(m_refListStore);</code>"
msgstr "m_TreeView.set_model(m_refListStore);"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:2853
#, fuzzy, no-wrap
msgid "<code>m_TreeView.append_column(\"Messages\", m_Columns.m_col_text);</code>"
msgstr "m_TreeView.append_column(\"Meddelanden\", m_Columns.m_col_text);"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:2888
#, fuzzy, no-wrap
msgid ""
"<code>auto pColumn = Gtk::make_managed&lt;Gtk::TreeView::Column&gt;(\"Icon Name\");\n"
"\n"
"// m_columns.icon and m_columns.iconname are columns in the model.\n"
"// pColumn is the column in the TreeView:\n"
"pColumn-&gt;pack_start(m_columns.icon, /* expand= */ false);\n"
"pColumn-&gt;pack_start(m_columns.iconname);\n"
"\n"
"m_TreeView.append_column(*pColumn);</code>"
msgstr ""
"\n"
"auto pColumn = Gtk::make_managed&lt;Gtk::TreeView::Column&gt;(\"Ikonnamn\");\n"
"\n"
"// m_columns.icon och m_columns.iconname är kolumner i modellen.\n"
"// pColumn är kolumnen i vår TreeView:\n"
"pColumn-&gt;pack_start(m_columns.icon, /* expand= */ false);\n"
"pColumn-&gt;pack_start(m_columns.iconname);\n"
"\n"
"m_TreeView.append_column(*pColumn);"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:2909
#, fuzzy, no-wrap
msgid ""
"<code>auto cols_count = m_TreeView.append_column_editable(\"Alex\", m_columns.alex);\n"
"auto pColumn = m_TreeView.get_column(cols_count-1);\n"
"if(pColumn)\n"
"{\n"
" auto pRenderer = static_cast&lt;Gtk::CellRendererToggle*&gt;(pColumn-&gt;get_first_cell());\n"
" pColumn-&gt;add_attribute(pRenderer-&gt;property_visible(), m_columns.visible);\n"
" pColumn-&gt;add_attribute(pRenderer-&gt;property_activatable(), m_columns.world);</code>"
msgstr ""
"auto cols_count = m_TreeView.append_column_editable(\"Alex\", m_columns.alex);\n"
"auto pColumn = m_TreeView.get_column(cols_count-1);\n"
"if(pColumn)\n"
"{\n"
" auto pRenderer = static_cast&lt;Gtk::CellRendererToggle*&gt;(pColumn-&gt;get_first_cell());\n"
" pColumn-&gt;add_attribute(pRenderer-&gt;property_visible(), m_columns.visible);\n"
" pColumn-&gt;add_attribute(pRenderer-&gt;property_activatable(), m_columns.world);"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:2921
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "auto pRenderer = Gtk::make_managed&lt;Gtk::CellRendererToggle&gt;();\n"
#| "pRenderer-&gt;signal_toggled().connect(\n"
#| " sigc::bind( sigc::mem_fun(*this,\n"
#| " &amp;Example_TreeView_TreeStore::on_cell_toggled), m_columns.dave)\n"
#| ");"
msgid ""
"<code>auto pRenderer = Gtk::make_managed&lt;Gtk::CellRendererToggle&gt;();\n"
"pRenderer-&gt;signal_toggled().connect(\n"
" sigc::bind( sigc::mem_fun(*this,\n"
" &amp;Example_TreeView_TreeStore::on_cell_toggled), m_columns.dave)\n"
");</code>"
msgstr ""
"\n"
"auto pRenderer = Gtk::make_managed&lt;Gtk::CellRendererToggle&gt;();\n"
"pRenderer-&gt;signal_toggled().connect(\n"
" sigc::bind( sigc::mem_fun(*this,\n"
" &amp;Example_TreeView_TreeStore::on_cell_toggled), m_columns.dave)\n"
");"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:2968
#, fuzzy, no-wrap
#| msgid "cell-&gt;property_editable() = true;"
msgid "<code>cell-&gt;property_editable() = true;</code>"
msgstr "cell-&gt;property_editable() = true;"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:2992
#, fuzzy
msgid ""
"<classname>Gtk::TreeModel</classname> provides a <phrase role=\"nowrap\">C+"
"+</phrase> Standard Library-style container of its children, via the "
"<methodname>children()</methodname> method. You can use the familiar "
"<methodname>begin()</methodname> and <methodname>end()</methodname> methods "
"iterator incrementing, like so:"
msgstr ""
"<classname>Gtk::TreeModel</classname> tillhandahåller en behållare av sina "
"underordnade enligt stilen hos C++-standardbiblioteket, via metoden "
"<methodname>children()</methodname>. Du kan använda iteratorökning med de "
"bekanta metoderna <methodname>begin()</methodname> och <methodname>end()</"
"methodname>, så här:"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:2998
#, fuzzy, no-wrap
msgid ""
"<code>auto children = refModel-&gt;children();\n"
"for (auto iter = children.begin(), end = children.end(); iter != end; ++iter)\n"
"{\n"
" auto row = *iter;\n"
" //Do something with the row - see above for set/get.\n"
"}</code>"
msgstr ""
"\n"
"auto children = refModel-&gt;children();\n"
"for (auto iter = children.begin(), end = children.end(); iter != end; ++iter)\n"
"{\n"
" auto row = *iter;\n"
" //Gör något med raden - se ovan för set/get.\n"
"}"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:3004
#, fuzzy
msgid ""
"If you always want to iterate across the entire range, much more succinct "
"syntax is possible using <phrase role=\"nowrap\">C++</phrase>'s range-based "
"<literal>for</literal> loop:"
msgstr ""
"Om du alltid vill iterera längs hela intervallet är mycket mer kortfattad "
"syntax möjlig med C++:s intervallbaserade <literal>for</literal>-loop:"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:3008
#, fuzzy, no-wrap
msgid ""
"<code>for (auto row: refModel-&gt;children())\n"
"{\n"
" //Do something with the row - see above for set/get.\n"
"}</code>"
msgstr ""
"\n"
"for (auto row: refModel-&gt;children())\n"
"{\n"
" //Gör något med raden - se ovan för set/get.\n"
"}"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:3021
#, fuzzy, no-wrap
#| msgid "Gtk::TreeModel::Children children = row.children();"
msgid "<code>Gtk::TreeModel::Children children = row.children();</code>"
msgstr "Gtk::TreeModel::Children children = row.children();"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:3034
#, fuzzy, no-wrap
#| msgid "auto refTreeSelection = m_TreeView.get_selection();"
msgid "<code>auto refTreeSelection = m_TreeView.get_selection();</code>"
msgstr "auto refTreeSelection = m_TreeView.get_selection();"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:3043
#, fuzzy, no-wrap
#| msgid "refTreeSelection-&gt;set_mode(Gtk::SelectionMode::MULTIPLE);"
msgid "<code>refTreeSelection-&gt;set_mode(Gtk::SelectionMode::MULTIPLE);</code>"
msgstr "refTreeSelection-&gt;set_mode(Gtk::SelectionMode::MULTIPLE);"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:3053
#, fuzzy, no-wrap
msgid ""
"<code>auto iter = refTreeSelection-&gt;get_selected();\n"
"if(iter) //If anything is selected\n"
"{\n"
" auto row = *iter;\n"
" //Do something with the row.\n"
"}</code>"
msgstr ""
"auto iter = refTreeSelection-&gt;get_selected();\n"
"if(iter) //Om något är markerat\n"
"{\n"
" auto row = *iter;\n"
" //Gör något med raden.\n"
"}"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:3067
#, fuzzy, no-wrap
#| msgid ""
#| "refTreeSelection-&gt;selected_foreach_iter(\n"
#| " sigc::mem_fun(*this, &amp;TheClass::selected_row_callback) );\n"
#| "\n"
#| "void TheClass::selected_row_callback(\n"
#| " const Gtk::TreeModel::const_iterator&amp; iter)\n"
#| "{\n"
#| " auto row = *iter;\n"
#| " //Do something with the row.\n"
#| "}"
msgid ""
"<code>refTreeSelection-&gt;selected_foreach_iter(\n"
" sigc::mem_fun(*this, &amp;TheClass::selected_row_callback) );\n"
"\n"
"void TheClass::selected_row_callback(\n"
" const Gtk::TreeModel::const_iterator&amp; iter)\n"
"{\n"
" auto row = *iter;\n"
" //Do something with the row.\n"
"}</code>"
msgstr ""
"refTreeSelection-&gt;selected_foreach_iter(\n"
" sigc::mem_fun(*this, &amp;TheClass::selected_row_callback) );\n"
"\n"
"void TheClass::selected_row_callback(\n"
" const Gtk::TreeModel::const_iterator&amp; iter)\n"
"{\n"
" auto row = *iter;\n"
" //Gör något med raden.\n"
"}"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:3086
#, fuzzy, no-wrap
#| msgid ""
#| "refTreeSelection-&gt;signal_changed().connect(\n"
#| " sigc::mem_fun(*this, &amp;Example_IconTheme::on_selection_changed)\n"
#| ");"
msgid ""
"<code>refTreeSelection-&gt;signal_changed().connect(\n"
" sigc::mem_fun(*this, &amp;Example_IconTheme::on_selection_changed)\n"
");</code>"
msgstr ""
"refTreeSelection-&gt;signal_changed().connect(\n"
" sigc::mem_fun(*this, &amp;Example_IconTheme::on_selection_changed)\n"
");"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:3104
#, fuzzy, no-wrap
#| msgid ""
#| "m_refTreeSelection-&gt;set_select_function( sigc::mem_fun(*this,\n"
#| " &amp;DemoWindow::select_function) );"
msgid ""
"<code>m_refTreeSelection-&gt;set_select_function( sigc::mem_fun(*this,\n"
" &amp;DemoWindow::select_function) );</code>"
msgstr ""
"m_refTreeSelection-&gt;set_select_function( sigc::mem_fun(*this,\n"
" &amp;DemoWindow::select_function) );"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:3109
#, fuzzy, no-wrap
msgid ""
"<code>bool DemoWindow::select_function(\n"
" const Glib::RefPtr&lt;Gtk::TreeModel&gt;&amp; model,\n"
" const Gtk::TreeModel::Path&amp; path, bool)\n"
"{\n"
" const auto iter = model-&gt;get_iter(path);\n"
" return iter-&gt;children().empty(); // only allow leaf nodes to be selected\n"
"}</code>"
msgstr ""
"bool DemoWindow::select_function(\n"
" const Glib::RefPtr&lt;Gtk::TreeModel&gt;&amp; model,\n"
" const Gtk::TreeModel::Path&amp; path, bool)\n"
"{\n"
" const auto iter = model-&gt;get_iter(path);\n"
" return iter-&gt;children().empty(); // tillåt endast lövnoder att markeras\n"
"}"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:3126
#, fuzzy, no-wrap
#| msgid ""
#| "auto row = m_refModel-&gt;children()[5]; //The sixth row.\n"
#| "if(row)\n"
#| " refTreeSelection-&gt;select(row.get_iter());"
msgid ""
"<code>auto row = m_refModel-&gt;children()[5]; //The sixth row.\n"
"if(row)\n"
" refTreeSelection-&gt;select(row.get_iter());</code>"
msgstr ""
"auto row = m_refModel-&gt;children()[5]; //Den sjätte raden.\n"
"if(row)\n"
" refTreeSelection-&gt;select(row.get_iter());"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:3132
#, fuzzy, no-wrap
#| msgid ""
#| "auto iter = m_refModel-&gt;children().begin()\n"
#| "if(iter)\n"
#| " refTreeSelection-&gt;select(iter);"
msgid ""
"<code>auto iter = m_refModel-&gt;children().begin()\n"
"if(iter)\n"
" refTreeSelection-&gt;select(iter);</code>"
msgstr ""
"auto iter = m_refModel-&gt;children().begin()\n"
"if(iter)\n"
" refTreeSelection-&gt;select(iter);"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:3153
#, fuzzy, no-wrap
#| msgid ""
#| "auto pColumn = treeview.get_column(0);\n"
#| "if(pColumn)\n"
#| " pColumn-&gt;set_sort_column(m_columns.m_col_id);"
msgid ""
"<code>auto pColumn = treeview.get_column(0);\n"
"if(pColumn)\n"
" pColumn-&gt;set_sort_column(m_columns.m_col_id);</code>"
msgstr ""
"auto pColumn = treeview.get_column(0);\n"
"if(pColumn)\n"
" pColumn-&gt;set_sort_column(m_columns.m_col_id);"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:3169
#, fuzzy, no-wrap
msgid ""
"<code>auto sorted_model = Gtk::TreeModelSort::create(model);\n"
"sorted_model-&gt;set_sort_column(columns.m_col_name, Gtk::SortType::ASCENDING);\n"
"treeview.set_model(sorted_model);</code>"
msgstr ""
"auto sorted_model = Gtk::TreeModelSort::create(model);\n"
"sorted_model-&gt;set_sort_column(columns.m_col_name, Gtk::SortType::ASCENDING);\n"
"treeview.set_model(sorted_model);"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:3175
#, fuzzy, no-wrap
#| msgid ""
#| "void ExampleWindow::on_button_delete()\n"
#| "{\n"
#| " auto refTreeSelection = m_treeview.get_selection();\n"
#| " if(refTreeSelection)\n"
#| " {\n"
#| " auto sorted_iter = m_refTreeSelection-&gt;get_selected();\n"
#| " if(sorted_iter)\n"
#| " {\n"
#| " auto iter = m_refModelSort-&gt;convert_iter_to_child_iter(sorted_iter);\n"
#| " m_refModel-&gt;erase(iter);\n"
#| " }\n"
#| " }\n"
#| "}"
msgid ""
"<code>void ExampleWindow::on_button_delete()\n"
"{\n"
" auto refTreeSelection = m_treeview.get_selection();\n"
" if(refTreeSelection)\n"
" {\n"
" auto sorted_iter = m_refTreeSelection-&gt;get_selected();\n"
" if(sorted_iter)\n"
" {\n"
" auto iter = m_refModelSort-&gt;convert_iter_to_child_iter(sorted_iter);\n"
" m_refModel-&gt;erase(iter);\n"
" }\n"
" }\n"
"}</code>"
msgstr ""
"void ExampleWindow::on_button_delete()\n"
"{\n"
" auto refTreeSelection = m_treeview.get_selection();\n"
" if(refTreeSelection)\n"
" {\n"
" auto sorted_iter = m_refTreeSelection-&gt;get_selected();\n"
" if(sorted_iter)\n"
" {\n"
" auto iter = m_refModelSort-&gt;convert_iter_to_child_iter(sorted_iter);\n"
" m_refModel-&gt;erase(iter);\n"
" }\n"
" }\n"
"}"

# (pofilter) accelerators: Accelerator '_' occurs 2 time(s) in original and 0 time(s) in translation
#. (itstool) path: section/para
#: C/index-in.docbook:3220
msgid "This is demonstrated in the drag_and_drop example."
msgstr "Detta demonstreras i dra-och-släpp-exemplet."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:3433
#, fuzzy, no-wrap
msgid ""
"<code>unsigned int sel = m_DropDown.get_selected();\n"
"if (sel != GTK_INVALID_LIST_POSITION)\n"
"{\n"
" // Get the data for the selected row, using our knowledge of the list model:\n"
" auto id = m_ListStore-&gt;get_item(sel).m_col_id;\n"
" set_some_id_chosen(id); // Your own function.\n"
"}\n"
"else\n"
" set_nothing_chosen(); // Your own function.\n"
"</code>"
msgstr ""
"unsigned int sel = m_DropDown.get_selected();\n"
"if (sel != GTK_INVALID_LIST_POSITION)\n"
"{\n"
" // Få data för markerad rad, med vår kunskap om listmodellen:\n"
" auto id = m_ListStore-&gt;get_item(sel).m_col_id;\n"
" set_some_id_chosen(id); // Din egen funktion.\n"
"}\n"
"else\n"
" set_nothing_chosen(); // Din egen funktion.\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:3452
#, fuzzy, no-wrap
#| msgid ""
#| "m_DropDown.property_selected().signal_changed().connect(\n"
#| " sigc::mem_fun(*this, &amp;ExampleWindow::on_dropdown_changed));\n"
msgid ""
"<code>m_DropDown.property_selected().signal_changed().connect(\n"
" sigc::mem_fun(*this, &amp;ExampleWindow::on_dropdown_changed));\n"
"</code>"
msgstr ""
"m_DropDown.property_selected().signal_changed().connect(\n"
" sigc::mem_fun(*this, &amp;ExampleWindow::on_dropdown_changed));\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:3477
#, fuzzy, no-wrap
#| msgid ""
#| "m_DropDown.set_enable_search(true);\n"
#| "auto expression = Gtk::ClosureExpression&lt;Glib::ustring&gt;::create(\n"
#| " sigc::mem_fun(*this, &amp;ExampleWindow::get_col_name));\n"
#| "m_DropDown.set_expression(expression);\n"
#| "\n"
#| "//-------\n"
#| "Glib::ustring ExampleWindow::get_col_name(const Glib::RefPtr&lt;Glib::ObjectBase&gt;&amp; item)\n"
#| "{\n"
#| " const auto col = std::dynamic_pointer_cast&lt;ModelColumns&gt;(item);\n"
#| " return col ? col-&gt;m_col_name : \"\";\n"
#| "}\n"
msgid ""
"<code>m_DropDown.set_enable_search(true);\n"
"auto expression = Gtk::ClosureExpression&lt;Glib::ustring&gt;::create(\n"
" sigc::mem_fun(*this, &amp;ExampleWindow::get_col_name));\n"
"m_DropDown.set_expression(expression);\n"
"\n"
"//-------\n"
"Glib::ustring ExampleWindow::get_col_name(const Glib::RefPtr&lt;Glib::ObjectBase&gt;&amp; item)\n"
"{\n"
" const auto col = std::dynamic_pointer_cast&lt;ModelColumns&gt;(item);\n"
" return col ? col-&gt;m_col_name : \"\";\n"
"}\n"
"</code>"
msgstr ""
"m_DropDown.set_enable_search(true);\n"
"auto expression = Gtk::ClosureExpression&lt;Glib::ustring&gt;::create(\n"
" sigc::mem_fun(*this, &amp;ExampleWindow::get_col_name));\n"
"m_DropDown.set_expression(expression);\n"
"\n"
"//-------\n"
"Glib::ustring ExampleWindow::get_col_name(const Glib::RefPtr&lt;Glib::ObjectBase&gt;&amp; item)\n"
"{\n"
" const auto col = std::dynamic_pointer_cast&lt;ModelColumns&gt;(item);\n"
" return col ? col-&gt;m_col_name : \"\";\n"
"}\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:3562
#, fuzzy, no-wrap
msgid ""
"<code>class ModelColumns : public Gtk::TreeModel::ColumnRecord\n"
"{\n"
"public:\n"
" ModelColumns()\n"
" { add(m_col_id); add(m_col_name); }\n"
"\n"
" Gtk::TreeModelColumn&lt;int&gt; m_col_id;\n"
" Gtk::TreeModelColumn&lt;Glib::ustring&gt; m_col_name;\n"
"};\n"
"\n"
"ModelColumns m_columns;</code>"
msgstr ""
"class ModelColumns : public Gtk::TreeModel::ColumnRecord\n"
"{\n"
"public:\n"
" ModelColumns()\n"
" { add(m_col_id); add(m_col_name); }\n"
"\n"
" Gtk::TreeModelColumn&lt;int&gt; m_col_id;\n"
" Gtk::TreeModelColumn&lt;Glib::ustring&gt; m_col_name;\n"
"};\n"
"\n"
"ModelColumns m_columns;"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:3582
#, fuzzy, no-wrap
msgid ""
"<code>Gtk::TreeModel::iterator iter = m_Combo.get_active();\n"
"if(iter)\n"
"{\n"
" auto row = *iter;\n"
"\n"
" //Get the data for the selected row, using our knowledge\n"
" //of the tree model:\n"
" auto id = row[m_Columns.m_col_id];\n"
" set_something_id_chosen(id); //Your own function.\n"
"}\n"
"else\n"
" set_nothing_chosen(); //Your own function.</code>"
msgstr ""
"Gtk::TreeModel::iterator iter = m_Combo.get_active();\n"
"if(iter)\n"
"{\n"
" auto row = *iter;\n"
"\n"
" //Få data för markerad rad, med vår kunskap\n"
" //om trädmodellen:\n"
" auto id = row[m_Columns.m_col_id];\n"
" set_something_id_chosen(id); //Din egen funktion.\n"
"}\n"
"else\n"
" set_nothing_chosen(); //Din egen funktion."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:3602
#, fuzzy, no-wrap
#| msgid ""
#| "m_combo.signal_changed().connect( sigc::mem_fun(*this,\n"
#| " &amp;ExampleWindow::on_combo_changed) );"
msgid ""
"<code>m_combo.signal_changed().connect( sigc::mem_fun(*this,\n"
" &amp;ExampleWindow::on_combo_changed) );</code>"
msgstr ""
"m_combo.signal_changed().connect( sigc::mem_fun(*this,\n"
" &amp;ExampleWindow::on_combo_changed) );"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:3644
#, fuzzy, no-wrap
msgid "<code>m_combo.set_entry_text_column(m_columns.m_col_name);</code>"
msgstr "m_combo.set_entry_text_column(m_columns.m_col_name);"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:3670
#, fuzzy, no-wrap
msgid ""
"<code>auto entry = m_Combo.get_entry();\n"
"if (entry)\n"
"{\n"
" // Alternatively you can connect to m_Combo.signal_changed().\n"
" entry-&gt;signal_changed().connect(sigc::mem_fun(*this,\n"
" &amp;ExampleWindow::on_entry_changed));\n"
" entry-&gt;signal_activate().connect(sigc::mem_fun(*this,\n"
" &amp;ExampleWindow::on_entry_activate));\n"
" // The Entry shall receive focus-leave events.\n"
" auto controller = Gtk::EventControllerFocus::create();\n"
" m_ConnectionFocusLeave = controller-&gt;signal_leave().connect(\n"
" sigc::mem_fun(*this, &amp;ExampleWindow::on_entry_focus_leave));\n"
" entry-&gt;add_controller(controller);\n"
"}</code>"
msgstr ""
"auto entry = m_Combo.get_entry();\n"
"if (entry)\n"
"{\n"
" // Alternativt kan du ansluta till m_Combo.signal_changed().\n"
" entry-&gt;signal_changed().connect(sigc::mem_fun(*this,\n"
" &amp;ExampleWindow::on_entry_changed));\n"
" entry-&gt;signal_activate().connect(sigc::mem_fun(*this,\n"
" &amp;ExampleWindow::on_entry_activate));\n"
" // Entry ska ta emot fokuslämnande händelser.\n"
" auto controller = Gtk::EventControllerFocus::create();\n"
" m_ConnectionFocusLeave = controller-&gt;signal_leave().connect(\n"
" sigc::mem_fun(*this, &amp;ExampleWindow::on_entry_focus_leave));\n"
" entry-&gt;add_controller(controller);\n"
"}"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:3776
#, fuzzy, no-wrap
#| msgid ""
#| "auto refTagMatch = Gtk::TextBuffer::Tag::create();\n"
#| "refTagMatch-&gt;property_background() = \"orange\";"
msgid ""
"<code>auto refTagMatch = Gtk::TextBuffer::Tag::create();\n"
"refTagMatch-&gt;property_background() = \"orange\";</code>"
msgstr ""
"auto refTagMatch = Gtk::TextBuffer::Tag::create();\n"
"refTagMatch-&gt;property_background() = \"orange\";"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:3802
#, fuzzy, no-wrap
msgid ""
"<code>auto refTagTable = Gtk::TextBuffer::TagTable::create();\n"
"refTagTable-&gt;add(refTagMatch);\n"
"//Hopefully a future version of gtkmm will have a set_tag_table() method,\n"
"//for use after creation of the buffer.\n"
"auto refBuffer = Gtk::TextBuffer::create(refTagTable);</code>"
msgstr ""
"auto refTagTable = Gtk::TextBuffer::TagTable::create();\n"
"refTagTable-&gt;add(refTagMatch);\n"
"//Förhoppningsvis kommer en framtida version av <application>gtkmm</application> ha en set_tag_table()-metod,\n"
"//för användning efter skapande av bufferten.\n"
"auto refBuffer = Gtk::TextBuffer::create(refTagTable);"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:3828
#, fuzzy, no-wrap
msgid "<code>refBuffer-&gt;apply_tag(refTagMatch, iterRangeStart, iterRangeStop);</code>"
msgstr "refBuffer-&gt;apply_tag(refTagMatch, iterRangeStart, iterRangeStop);"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:3832
#, fuzzy, no-wrap
msgid "<code>refBuffer-&gt;insert_with_tag(iter, \"Some text\", refTagMatch);</code>"
msgstr "refBuffer-&gt;insert_with_tag(iter, \"Lite text\", refTagMatch);"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:3853
#, fuzzy, no-wrap
#| msgid "auto refMark = refBuffer-&gt;create_mark(iter);"
msgid "<code>auto refMark = refBuffer-&gt;create_mark(iter);</code>"
msgstr "auto refMark = refBuffer-&gt;create_mark(iter);"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:3930
#, fuzzy, no-wrap
#| msgid "auto refAnchor = refBuffer-&gt;create_child_anchor(iter);"
msgid "<code>auto refAnchor = refBuffer-&gt;create_child_anchor(iter);</code>"
msgstr "auto refAnchor = refBuffer-&gt;create_child_anchor(iter);"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:3936
#, fuzzy, no-wrap
#| msgid "m_TextView.add_child_at_anchor(m_Button, refAnchor);"
msgid "<code>m_TextView.add_child_at_anchor(m_Button, refAnchor);</code>"
msgstr "m_TextView.add_child_at_anchor(m_Button, refAnchor);"

# (pofilter) accelerators: Missing accelerator '_'
# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:3965
#, fuzzy
#| msgid ""
#| "Some examples are shown in this chapter. There are more examples in the "
#| "<link xlink:href=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/"
#| "tree/master/examples/book/listmodelviews/\">listmodelviews directory</"
#| "link> in <application>gtkmm-documentation</application>'s examples."
msgid ""
"There is a more complicated example among <link xlink:href=\"https://gitlab."
"gnome.org/GNOME/gtkmm/tree/master/demos/gtk-demo/example_textview."
"cc\"><application>gtkmm</application>'s demo programs</link>."
msgstr ""
"Några exempel visas i detta kapitel. Det finns mer exempel i <link xlink:"
"href=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/master/"
"examples/book/listmodelviews/\">listmodelviews-katalogen</link> i "
"<application>gtkmm-documentation</application>s exempel."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:4011
#, fuzzy, no-wrap
msgid ""
"<code>m_refActionGroup = Gio::SimpleActionGroup::create();\n"
"\n"
"m_refActionGroup-&gt;add_action(\"new\", sigc::mem_fun(*this, &amp;ExampleWindow::on_action_file_new));\n"
"m_refActionGroup-&gt;add_action(\"open\", sigc::mem_fun(*this, &amp;ExampleWindow::on_action_file_open));\n"
"m_refActionGroup-&gt;add_action(\"quit\", sigc::mem_fun(*this, &amp;ExampleWindow::on_action_file_quit));\n"
"\n"
"insert_action_group(\"example\", m_refActionGroup);\n"
"</code>"
msgstr ""
"\n"
"m_refActionGroup = Gio::SimpleActionGroup::create();\n"
"\n"
"m_refActionGroup-&gt;add_action(\"new\", sigc::mem_fun(*this, &amp;ExampleWindow::on_action_file_new));\n"
"m_refActionGroup-&gt;add_action(\"open\", sigc::mem_fun(*this, &amp;ExampleWindow::on_action_file_open));\n"
"m_refActionGroup-&gt;add_action(\"quit\", sigc::mem_fun(*this, &amp;ExampleWindow::on_action_file_quit));\n"
"\n"
"insert_action_group(\"example\", m_refActionGroup);\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:4041
#, fuzzy, no-wrap
msgid ""
"<code>m_refBuilder = Gtk::Builder::create();\n"
"\n"
"app-&gt;set_accel_for_action(\"example.new\", \"&lt;Primary&gt;n\");\n"
"app-&gt;set_accel_for_action(\"example.quit\", \"&lt;Primary&gt;q\");\n"
"app-&gt;set_accel_for_action(\"example.copy\", \"&lt;Primary&gt;c\");\n"
"app-&gt;set_accel_for_action(\"example.paste\", \"&lt;Primary&gt;v\");\n"
"</code>"
msgstr ""
"\n"
"m_refBuilder = Gtk::Builder::create();\n"
"\n"
"app-&gt;set_accel_for_action(\"example.new\", \"&lt;Primary&gt;n\");\n"
"app-&gt;set_accel_for_action(\"example.quit\", \"&lt;Primary&gt;q\");\n"
"app-&gt;set_accel_for_action(\"example.copy\", \"&lt;Primary&gt;c\");\n"
"app-&gt;set_accel_for_action(\"example.paste\", \"&lt;Primary&gt;v\");\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:4065
#, fuzzy, no-wrap
msgid ""
"<code>Glib::ustring ui_info =\n"
" \"&lt;interface&gt;\"\n"
" \" &lt;menu id='menubar'&gt;\"\n"
" \" &lt;submenu&gt;\"\n"
" \" &lt;attribute name='label' translatable='yes'&gt;_File&lt;/attribute&gt;\"\n"
" \" &lt;section&gt;\"\n"
" \" &lt;item&gt;\"\n"
" \" &lt;attribute name='label' translatable='yes'&gt;_New&lt;/attribute&gt;\"\n"
" \" &lt;attribute name='action'&gt;example.new&lt;/attribute&gt;\"\n"
" \" &lt;/item&gt;\"\n"
" \" &lt;/section&gt;\"\n"
" \" &lt;section&gt;\"\n"
" \" &lt;item&gt;\"\n"
" \" &lt;attribute name='label' translatable='yes'&gt;_Quit&lt;/attribute&gt;\"\n"
" \" &lt;attribute name='action'&gt;example.quit&lt;/attribute&gt;\"\n"
" \" &lt;/item&gt;\"\n"
" \" &lt;/section&gt;\"\n"
" \" &lt;/submenu&gt;\"\n"
" \" &lt;submenu&gt;\"\n"
" \" &lt;attribute name='label' translatable='yes'&gt;_Edit&lt;/attribute&gt;\"\n"
" \" &lt;item&gt;\"\n"
" \" &lt;attribute name='label' translatable='yes'&gt;_Copy&lt;/attribute&gt;\"\n"
" \" &lt;attribute name='action'&gt;example.copy&lt;/attribute&gt;\"\n"
" \" &lt;/item&gt;\"\n"
" \" &lt;item&gt;\"\n"
" \" &lt;attribute name='label' translatable='yes'&gt;_Paste&lt;/attribute&gt;\"\n"
" \" &lt;attribute name='action'&gt;example.paste&lt;/attribute&gt;\"\n"
" \" &lt;/item&gt;\"\n"
" \" &lt;/submenu&gt;\"\n"
" \" &lt;/menu&gt;\"\n"
" \"&lt;/interface&gt;\";\n"
"\n"
"m_refBuilder-&gt;add_from_string(ui_info);\n"
"m_refBuilder-&gt;add_from_resource(\"/toolbar/toolbar.ui\");\n"
"</code>"
msgstr ""
"\n"
"Glib::ustring ui_info =\n"
" \"&lt;interface&gt;\"\n"
" \" &lt;menu id='menubar'&gt;\"\n"
" \" &lt;submenu&gt;\"\n"
" \" &lt;attribute name='label' translatable='yes'&gt;_File&lt;/attribute&gt;\"\n"
" \" &lt;section&gt;\"\n"
" \" &lt;item&gt;\"\n"
" \" &lt;attribute name='label' translatable='yes'&gt;_New&lt;/attribute&gt;\"\n"
" \" &lt;attribute name='action'&gt;example.new&lt;/attribute&gt;\"\n"
" \" &lt;/item&gt;\"\n"
" \" &lt;/section&gt;\"\n"
" \" &lt;section&gt;\"\n"
" \" &lt;item&gt;\"\n"
" \" &lt;attribute name='label' translatable='yes'&gt;_Quit&lt;/attribute&gt;\"\n"
" \" &lt;attribute name='action'&gt;example.quit&lt;/attribute&gt;\"\n"
" \" &lt;/item&gt;\"\n"
" \" &lt;/section&gt;\"\n"
" \" &lt;/submenu&gt;\"\n"
" \" &lt;submenu&gt;\"\n"
" \" &lt;attribute name='label' translatable='yes'&gt;_Edit&lt;/attribute&gt;\"\n"
" \" &lt;item&gt;\"\n"
" \" &lt;attribute name='label' translatable='yes'&gt;_Copy&lt;/attribute&gt;\"\n"
" \" &lt;attribute name='action'&gt;example.copy&lt;/attribute&gt;\"\n"
" \" &lt;/item&gt;\"\n"
" \" &lt;item&gt;\"\n"
" \" &lt;attribute name='label' translatable='yes'&gt;_Paste&lt;/attribute&gt;\"\n"
" \" &lt;attribute name='action'&gt;example.paste&lt;/attribute&gt;\"\n"
" \" &lt;/item&gt;\"\n"
" \" &lt;/submenu&gt;\"\n"
" \" &lt;/menu&gt;\"\n"
" \"&lt;/interface&gt;\";\n"
"\n"
"m_refBuilder-&gt;add_from_string(ui_info);\n"
"m_refBuilder-&gt;add_from_resource(\"/toolbar/toolbar.glade\");\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:4112
#, fuzzy, no-wrap
msgid ""
"<code>auto gmenu = m_refBuilder-&gt;get_object&lt;Gio::Menu&gt;(\"menubar\");\n"
"auto pMenuBar = Gtk::make_managed&lt;Gtk::PopoverMenuBar&gt;(gmenu);\n"
"m_Box.append(*pMenuBar);\n"
"\n"
"auto toolbar = m_refBuilder-&gt;get_widget&lt;Gtk::Box&gt;(\"toolbar\");\n"
"m_Box.append(*toolbar);\n"
"</code>"
msgstr ""
"\n"
"auto gmenu = m_refBuilder-&gt;get_object&lt;Gio::Menu&gt;(\"menubar\");\n"
"auto pMenuBar = Gtk::make_managed&lt;Gtk::PopoverMenuBar&gt;(gmenu);\n"
"m_Box.append(*pMenuBar);\n"
"\n"
"auto toolbar = m_refBuilder-&gt;get_widget&lt;Gtk::Box&gt;(\"toolbar\");\n"
"m_Box.append(*toolbar);\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:4134
#, fuzzy, no-wrap
msgid ""
"<code>Glib::ustring ui_info =\n"
" \"&lt;interface&gt;\"\n"
" \" &lt;menu id='menu-examplepopup'&gt;\"\n"
" \" &lt;section&gt;\"\n"
" \" &lt;item&gt;\"\n"
" \" &lt;attribute name='label' translatable='yes'&gt;Edit&lt;/attribute&gt;\"\n"
" \" &lt;attribute name='action'&gt;examplepopup.edit&lt;/attribute&gt;\"\n"
" \" &lt;/item&gt;\"\n"
" \" &lt;item&gt;\"\n"
" \" &lt;attribute name='label' translatable='yes'&gt;Process&lt;/attribute&gt;\"\n"
" \" &lt;attribute name='action'&gt;examplepopup.process&lt;/attribute&gt;\"\n"
" \" &lt;/item&gt;\"\n"
" \" &lt;item&gt;\"\n"
" \" &lt;attribute name='label' translatable='yes'&gt;Remove&lt;/attribute&gt;\"\n"
" \" &lt;attribute name='action'&gt;examplepopup.remove&lt;/attribute&gt;\"\n"
" \" &lt;/item&gt;\"\n"
" \" &lt;/section&gt;\"\n"
" \" &lt;/menu&gt;\"\n"
" \"&lt;/interface&gt;\";\n"
"\n"
"m_refBuilder-&gt;add_from_string(ui_info);\n"
"\n"
"auto gmenu = m_refBuilder-&gt;get_object&lt;Gio::Menu&gt;(\"menu-examplepopup\");\n"
"m_MenuPopup.set_menu_model(gmenu);\n"
"</code>"
msgstr ""
"\n"
"Glib::ustring ui_info =\n"
" \"&lt;interface&gt;\"\n"
" \" &lt;menu id='menu-examplepopup'&gt;\"\n"
" \" &lt;section&gt;\"\n"
" \" &lt;item&gt;\"\n"
" \" &lt;attribute name='label' translatable='yes'&gt;Edit&lt;/attribute&gt;\"\n"
" \" &lt;attribute name='action'&gt;examplepopup.edit&lt;/attribute&gt;\"\n"
" \" &lt;/item&gt;\"\n"
" \" &lt;item&gt;\"\n"
" \" &lt;attribute name='label' translatable='yes'&gt;Process&lt;/attribute&gt;\"\n"
" \" &lt;attribute name='action'&gt;examplepopup.process&lt;/attribute&gt;\"\n"
" \" &lt;/item&gt;\"\n"
" \" &lt;item&gt;\"\n"
" \" &lt;attribute name='label' translatable='yes'&gt;Remove&lt;/attribute&gt;\"\n"
" \" &lt;attribute name='action'&gt;examplepopup.remove&lt;/attribute&gt;\"\n"
" \" &lt;/item&gt;\"\n"
" \" &lt;/section&gt;\"\n"
" \" &lt;/menu&gt;\"\n"
" \"&lt;/interface&gt;\";\n"
"\n"
"m_refBuilder-&gt;add_from_string(ui_info);\n"
"\n"
"auto gmenu = m_refBuilder-&gt;get_object&lt;Gio::Menu&gt;(\"menu-examplepopup\");\n"
"m_MenuPopup.set_menu_model(gmenu);\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:4166
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "void ExampleWindow::on_label_pressed(int /* n_press */, double x, double y)\n"
#| "{\n"
#| " const Gdk::Rectangle rect(x, y, 1, 1);\n"
#| " m_MenuPopup.set_pointing_to(rect);\n"
#| " m_MenuPopup.popup();\n"
#| "}"
msgid ""
"<code>void ExampleWindow::on_label_pressed(int /* n_press */, double x, double y)\n"
"{\n"
" const Gdk::Rectangle rect(x, y, 1, 1);\n"
" m_MenuPopup.set_pointing_to(rect);\n"
" m_MenuPopup.popup();\n"
"}</code>"
msgstr ""
"\n"
"void ExampleWindow::on_label_pressed(int /* n_press */, double x, double y)\n"
"{\n"
" const Gdk::Rectangle rect(x, y, 1, 1);\n"
" m_MenuPopup.set_pointing_to(rect);\n"
" m_MenuPopup.popup();\n"
"}"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:4198
#, fuzzy
#| msgid ""
#| "Resource bundles are created by the <link xlink:href=\"https://developer-"
#| "old.gnome.org/gio/stable/glib-compile-resources.html\">glib-compile-"
#| "resources</link> program which takes an xml file that describes the "
#| "bundle, and a set of files that the xml references. These are combined "
#| "into a binary resource bundle."
msgid ""
"Resource bundles are created by the <application>glib-compile-resources</"
"application> program which takes an xml file that describes the bundle, and "
"a set of files that the xml references. These are combined into a binary "
"resource bundle."
msgstr ""
"Resursbuntar skapas av programmet <link xlink:href=\"https://developer-old."
"gnome.org/gio/stable/glib-compile-resources.html\">glib-compile-resources</"
"link> som tar en xml-fil som beskriver bunten, och en uppsättning filer som "
"xml-filen refererar till. Dessa kombineras till en binär resursbunt."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:4205
#, fuzzy, no-wrap
msgid ""
"<code>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\n"
"&lt;gresources&gt;\n"
" &lt;gresource prefix=\"/toolbar\"&gt;\n"
" &lt;file preprocess=\"xml-stripblanks\"&gt;toolbar.ui&lt;/file&gt;\n"
" &lt;file&gt;rain.png&lt;/file&gt;\n"
" &lt;/gresource&gt;\n"
"&lt;/gresources&gt;\n"
"</code>"
msgstr ""
"\n"
"&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\n"
"&lt;gresources&gt;\n"
" &lt;gresource prefix=\"/toolbar\"&gt;\n"
" &lt;file preprocess=\"xml-stripblanks\"&gt;toolbar.glade&lt;/file&gt;\n"
" &lt;file&gt;rain.png&lt;/file&gt;\n"
" &lt;/gresource&gt;\n"
"&lt;/gresources&gt;\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:4213
#, fuzzy
#| msgid ""
#| "An example: <_:programlisting-1/> This will create a resource bundle with "
#| "the files <_:itemizedlist-2/>"
msgid "This will create a resource bundle with the files <_:itemizedlist-1/>"
msgstr ""
"Ett exempel: <_:programlisting-1/> Detta kommer skapa en resursbunt med "
"filerna <_:itemizedlist-2/>"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:4328
#, fuzzy, no-wrap
#| msgid ""
#| "Glib::RefPtr&lt;Gtk::Adjustment&gt; Gtk::Adjustment::create(\n"
#| " double value,\n"
#| " double lower,\n"
#| " double upper,\n"
#| " double step_increment = 1,\n"
#| " double page_increment = 10,\n"
#| " double page_size = 0);"
msgid ""
"<code>Glib::RefPtr&lt;Gtk::Adjustment&gt; Gtk::Adjustment::create(\n"
" double value,\n"
" double lower,\n"
" double upper,\n"
" double step_increment = 1,\n"
" double page_increment = 10,\n"
" double page_size = 0);</code>"
msgstr ""
"Glib::RefPtr&lt;Gtk::Adjustment&gt; Gtk::Adjustment::create(\n"
" double value,\n"
" double lower,\n"
" double upper,\n"
" double step_increment = 1,\n"
" double page_increment = 10,\n"
" double page_size = 0);"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:4388
#, fuzzy, no-wrap
msgid ""
"<code>// creates its own adjustments\n"
"Gtk::TextView textview;\n"
"// uses the newly-created adjustment for the scrollbar as well\n"
"Gtk::Scrollbar vscrollbar(textview.get_vadjustment(), Gtk::Orientation::VERTICAL);</code>"
msgstr ""
"// skapar sina egna justeringar\n"
"Gtk::TextView textview;\n"
"// använder den nyss skapade justeringen även för rullningslisten\n"
"Gtk::Scrollbar vscrollbar(textview.get_vadjustment(), Gtk::Orientation::VERTICAL);"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:4420
#, fuzzy, no-wrap
msgid ""
"<code>void cb_rotate_picture(MyPicture* picture)\n"
"{\n"
" picture-&gt;set_rotation(adj-&gt;get_value());\n"
"...</code>"
msgstr ""
"void cb_rotate_picture(MyPicture* picture)\n"
"{\n"
" picture-&gt;set_rotation(adj-&gt;get_value());\n"
"..."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:4427
#, fuzzy, no-wrap
msgid ""
"<code>adj-&gt;signal_value_changed().connect(sigc::bind&lt;MyPicture*&gt;(sigc::mem_fun(*this,\n"
" &amp;cb_rotate_picture), picture));</code>"
msgstr ""
"adj-&gt;signal_value_changed().connect(sigc::bind&lt;MyPicture*&gt;(sigc::mem_fun(*this,\n"
" &amp;cb_rotate_picture), picture));"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:4450
#, fuzzy, no-wrap
msgid "<code>adjustment-&gt;signal_changed();</code>"
msgstr "adjustment-&gt;signal_changed();"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: chapter/para
#: C/index-in.docbook:4691
#, fuzzy
#| msgid ""
#| "GTK uses the <link xlink:href=\"http://cairographics.org\">Cairo</link> "
#| "drawing API. With <application>gtkmm</application>, you may use the <link "
#| "xlink:href=\"http://www.cairographics.org/cairomm/\">cairomm</link> C++ "
#| "API for cairo."
msgid ""
"GTK uses the <link xlink:href=\"http://cairographics.org\">Cairo</link> "
"drawing API. With <application>gtkmm</application>, you may use the <link "
"xlink:href=\"http://www.cairographics.org/cairomm/\">cairomm</link> <phrase "
"role=\"nowrap\">C++</phrase> API for cairo."
msgstr ""
"GTK använder <link xlink:href=\"http://cairographics.org\">Cairo</link>s rit-"
"API. Med <application>gtkmm</application> kan du använda C++-API:t <link "
"xlink:href=\"http://www.cairographics.org/cairomm/\">cairomm</link> för "
"cairo."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:4747
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "Gtk::DrawingArea myArea;\n"
#| "auto gdkCairoContext = myArea.get_surface()-&gt;create_cairo_context();\n"
#| "auto myContext = gdkCairoContext-&gt;cairo_create();\n"
#| "myContext-&gt;set_source_rgb(1.0, 0.0, 0.0);\n"
#| "myContext-&gt;set_line_width(2.0);\n"
#| " "
msgid ""
"<code>Gtk::DrawingArea myArea;\n"
"auto gdkCairoContext = myArea.get_surface()-&gt;create_cairo_context();\n"
"auto myContext = gdkCairoContext-&gt;cairo_create();\n"
"myContext-&gt;set_source_rgb(1.0, 0.0, 0.0);\n"
"myContext-&gt;set_line_width(2.0);\n"
" </code>"
msgstr ""
"\n"
"Gtk::DrawingArea myArea;\n"
"auto gdkCairoContext = myArea.get_surface()-&gt;create_cairo_context();\n"
"auto myContext = gdkCairoContext-&gt;cairo_create();\n"
"myContext-&gt;set_source_rgb(1.0, 0.0, 0.0);\n"
"myContext-&gt;set_line_width(2.0);\n"
" "

# (pofilter) xmltags: Different XML tags
#. (itstool) path: tip/programlisting
#: C/index-in.docbook:4799
#, fuzzy, no-wrap
#| msgid ""
#| "void doSomething(const Cairo::RefPtr&lt;Cairo::Context&gt;&amp; context, int x)\n"
#| "{\n"
#| " context-&gt;save();\n"
#| " // change graphics state\n"
#| " // perform drawing operations\n"
#| " context-&gt;restore();\n"
#| "}"
msgid ""
"<code>void doSomething(const Cairo::RefPtr&lt;Cairo::Context&gt;&amp; context, int x)\n"
"{\n"
" context-&gt;save();\n"
" // change graphics state\n"
" // perform drawing operations\n"
" context-&gt;restore();\n"
"}</code>"
msgstr ""
"void doSomething(const Cairo::RefPtr&lt;Cairo::Context&gt;&amp; context, int x)\n"
"{\n"
" context-&gt;save();\n"
" // ändra grafiktillstånd\n"
" // utför ritoperationer\n"
" context-&gt;restore();\n"
"}"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:4940
#, fuzzy
#| msgid ""
#| "There are other things you can customize as well, including creating "
#| "dashed lines and other things. For more information, see the Cairo API "
#| "documentation."
msgid ""
"There are other things you can customize as well, including creating dashed "
"lines and other things. For more information, see the Cairo API "
"documentation. Dashed lines are shown in the example in the <link "
"linkend=\"cairo-example-curves\">Drawing Curved Lines</link> section."
msgstr ""
"Det finns även andra saker du kan anpassa, som att skapa streckade linjer "
"och andra saker. Se Cairos API-dokumentation för mer information."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:5065
#, fuzzy, no-wrap
msgid ""
"<code>context-&gt;save();\n"
"context-&gt;translate(x, y);\n"
"context-&gt;scale(width / 2.0, height / 2.0);\n"
"context-&gt;arc(0.0, 0.0, 1.0, 0.0, 2 * M_PI);\n"
"context-&gt;restore();</code>"
msgstr ""
"context-&gt;save();\n"
"context-&gt;translate(x, y);\n"
"context-&gt;scale(width / 2.0, height / 2.0);\n"
"context-&gt;arc(0.0, 0.0, 1.0, 0.0, 2 * M_PI);\n"
"context-&gt;restore();"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:5146
#, fuzzy
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-"
"examples\">example</link> of drawing text."
msgstr ""
"Här kommer ett exempel på ett program som ritar lite text, delar av den upp "
"och ner. Utskriftskapitlet innehåller ett annat <link linkend=\"sec-printing-"
"example\">exempel</link> på att rita text."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:5202
#, fuzzy, no-wrap
msgid ""
"<code>void MyArea::on_draw(const Cairo::RefPtr&lt;Cairo::Context&gt;&amp; cr, int width, int height)\n"
"{\n"
" auto image = Gdk::Pixbuf::create_from_file(\"myimage.png\");\n"
" // Draw the image at 110, 90, except for the outermost 10 pixels.\n"
" Gdk::Cairo::set_source_pixbuf(cr, image, 100, 80);\n"
" cr-&gt;rectangle(110, 90, image-&gt;get_width()-20, image-&gt;get_height()-20);\n"
" cr-&gt;fill();\n"
"}</code>"
msgstr ""
"void MyArea::on_draw(const Cairo::RefPtr&lt;Cairo::Context&gt;&amp; cr, int width, int height)\n"
"{\n"
" auto image = Gdk::Pixbuf::create_from_file(\"myimage.png\");\n"
" // Rita bilden på 110, 90, förutom de yttersta 10 bildpunkterna.\n"
" Gdk::Cairo::set_source_pixbuf(cr, image, 100, 80);\n"
" cr-&gt;rectangle(110, 90, image-&gt;get_width()-20, image-&gt;get_height()-20);\n"
" cr-&gt;fill();\n"
"}"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:5213
#, fuzzy
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-"
"resource\">Gio::Resource and glib-compile-resources</link> section. Use "
"<application>glib-compile-resources</application> to compile the resources "
"into a C source file that can be compiled and linked with the <phrase "
"role=\"nowrap\">C++</phrase> code. E.g. <_:screen-1/>"
msgstr ""
"Här är ett exempel på ett enkelt program som ritar en bild. Programmet läser "
"in bilden från en resursfil. Se avsnittet <link linkend=\"sec-gio-"
"resource\">Gio::Resource och glib-compile-resources</link>. Använd "
"<application>glib-compile-resources</application> för att kompilera "
"resurserna till en C-källfil som kan kompileras och länkas med C++-koden. "
"Exempelvis <_:screen-1/>"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:5330
#, fuzzy, no-wrap
#| msgid ""
#| "auto source = Gtk::DragSource::create();\n"
#| "m_source_widget.add_controller(source);"
msgid ""
"<code>auto source = Gtk::DragSource::create();\n"
"m_source_widget.add_controller(source);</code>"
msgstr ""
"auto source = Gtk::DragSource::create();\n"
"m_source_widget.add_controller(source);"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:5358
#, fuzzy, no-wrap
msgid ""
"<code>auto target = Gtk::DropTarget::create(gtype, actions);\n"
"m_target_widget.add_controller(target);</code>"
msgstr ""
"auto target = Gtk::DropTarget::create(gtype, actions);\n"
"m_target_widget.add_controller(target);"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:5530
#, fuzzy, no-wrap
msgid ""
"<code>void ExampleWindow::on_button_copy()\n"
"{\n"
" get_clipboard()-&gt;set_text(\"example_custom_target\");\n"
"}</code>"
msgstr ""
"void ExampleWindow::on_button_copy()\n"
"{\n"
" get_clipboard()-&gt;set_text(\"example_custom_target\");\n"
"}"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:5545
#, fuzzy, no-wrap
#| msgid ""
#| "void ExampleWindow::on_button_paste()\n"
#| "{\n"
#| " get_clipboard()-&gt;read_text_async(sigc::mem_fun(*this,\n"
#| " &amp;ExampleWindow::on_clipboard_received));\n"
#| "}"
msgid ""
"<code>void ExampleWindow::on_button_paste()\n"
"{\n"
" get_clipboard()-&gt;read_text_async(sigc::mem_fun(*this,\n"
" &amp;ExampleWindow::on_clipboard_received));\n"
"}</code>"
msgstr ""
"void ExampleWindow::on_button_paste()\n"
"{\n"
" get_clipboard()-&gt;read_text_async(sigc::mem_fun(*this,\n"
" &amp;ExampleWindow::on_clipboard_received));\n"
"}"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:5553
#, fuzzy, no-wrap
msgid ""
"<code>void ExampleWindow::on_clipboard_received(Glib::RefPtr&lt;Gio::AsyncResult&gt;&amp; result)\n"
"{\n"
" auto text = get_clipboard()-&gt;read_text_finish(result);\n"
" //Do something with the pasted data.\n"
"}</code>"
msgstr ""
"void ExampleWindow::on_clipboard_received(Glib::RefPtr&lt;Gio::AsyncResult&gt;&amp; result)\n"
"{\n"
" auto text = get_clipboard()-&gt;read_text_finish(result);\n"
" //Gör något med inklistrade data.\n"
"}"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:5752
#, fuzzy, no-wrap
#| msgid ""
#| "\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"
msgid ""
"<code>// 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"
"</code>"
msgstr ""
"\n"
"// I en klass som ärver från Gtk::Window och behåller m_refPageSetup\n"
"// och m_refSettings som medlemmar...\n"
"auto new_page_setup = Gtk::run_page_setup_dialog(*this, m_refPageSetup, m_refSettings);\n"
"m_refPageSetup = new_page_setup;\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:5791
#, fuzzy
#| msgid ""
#| "See <link linkend=\"sec-printing-example-simple\">an example</link> of "
#| "exactly how this can be done."
msgid ""
"See <link linkend=\"sec-printing-examples-simple\">an example</link> of "
"exactly how this can be done."
msgstr ""
"Se <link linkend=\"sec-printing-example-simple\">ett exempel</link> på exakt "
"hur detta kan göras."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:5816
#, fuzzy, no-wrap
msgid ""
"<code>// in class ExampleWindow's method...\n"
"auto op = PrintOperation::create();\n"
"// ...set up op...\n"
"op-&gt;signal_done().connect(sigc::bind(sigc::mem_fun(\n"
" *this, &amp;ExampleWindow::on_printoperation_done), op));\n"
"// run the op\n"
"</code>"
msgstr ""
"\n"
"// i klassen ExampleWindows metod...\n"
"auto op = PrintOperation::create();\n"
"// ...konfigurera op...\n"
"op-&gt;signal_done().connect(sigc::bind(sigc::mem_fun(\n"
" *this, &amp;ExampleWindow::on_printoperation_done), op));\n"
"// kör op\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:5826
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "void ExampleWindow::on_printoperation_done(Gtk::PrintOperation::Result result,\n"
#| " const Glib::RefPtr&lt;PrintOperation&gt;&amp; op)\n"
#| "{\n"
#| " if (result == Gtk::PrintOperation::Result::ERROR)\n"
#| " //notify user\n"
#| " else if (result == Gtk::PrintOperation::Result::APPLY)\n"
#| " //Update PrintSettings with the ones used in this PrintOperation\n"
#| "\n"
#| " if (! op-&gt;is_finished())\n"
#| " op-&gt;signal_status_changed().connect(sigc::bind(sigc::mem_fun(\n"
#| " *this, &amp;ExampleWindow::on_printoperation_status_changed), op));\n"
#| "}\n"
msgid ""
"<code>void ExampleWindow::on_printoperation_done(Gtk::PrintOperation::Result result,\n"
" const Glib::RefPtr&lt;PrintOperation&gt;&amp; op)\n"
"{\n"
" if (result == Gtk::PrintOperation::Result::ERROR)\n"
" //notify user\n"
" else if (result == Gtk::PrintOperation::Result::APPLY)\n"
" //Update PrintSettings with the ones used in this PrintOperation\n"
"\n"
" if (! op-&gt;is_finished())\n"
" op-&gt;signal_status_changed().connect(sigc::bind(sigc::mem_fun(\n"
" *this, &amp;ExampleWindow::on_printoperation_status_changed), op));\n"
"}\n"
"</code>"
msgstr ""
"\n"
"void ExampleWindow::on_printoperation_done(Gtk::PrintOperation::Result result,\n"
" const Glib::RefPtr&lt;PrintOperation&gt;&amp; op)\n"
"{\n"
" if (result == Gtk::PrintOperation::Result::ERROR)\n"
" //meddela användare\n"
" else if (result == Gtk::PrintOperation::Result::APPLY)\n"
" //Uppdatera PrintSettings med de som används i denna PrintOperation\n"
"\n"
" if (! op-&gt;is_finished())\n"
" op-&gt;signal_status_changed().connect(sigc::bind(sigc::mem_fun(\n"
" *this, &amp;ExampleWindow::on_printoperation_status_changed), op));\n"
"}\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:5841
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "void ExampleWindow::on_printoperation_status_changed(const Glib::RefPtr&lt;PrintOperation&gt;&amp; op)\n"
#| "{\n"
#| " if (op-&gt;is_finished())\n"
#| " //the print job is finished\n"
#| " else\n"
#| " //get the status with get_status() or get_status_string()\n"
#| "\n"
#| " //update UI\n"
#| "}\n"
msgid ""
"<code>void ExampleWindow::on_printoperation_status_changed(const Glib::RefPtr&lt;PrintOperation&gt;&amp; op)\n"
"{\n"
" if (op-&gt;is_finished())\n"
" //the print job is finished\n"
" else\n"
" //get the status with get_status() or get_status_string()\n"
"\n"
" //update UI\n"
"}\n"
"</code>"
msgstr ""
"\n"
"void ExampleWindow::on_printoperation_status_changed(const Glib::RefPtr&lt;PrintOperation&gt;&amp; op)\n"
"{\n"
" if (op-&gt;is_finished())\n"
" //utskriftsjobbet är klart\n"
" else\n"
" //få status med get_status() eller get_status_string()\n"
"\n"
" //uppdatera användargränssnitt\n"
"}\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:5860
#, fuzzy, no-wrap
msgid ""
"<code>auto op = Gtk::PrintOperation::create();\n"
"// ...set up op...\n"
"op-&gt;set_export_filename(\"test.pdf\");\n"
"auto res = op-&gt;run(Gtk::PrintOperation::Action::EXPORT);\n"
"</code>"
msgstr ""
"\n"
"auto op = Gtk::PrintOperation::create();\n"
"// ...konfigurera op...\n"
"op-&gt;set_export_filename(\"test.pdf\");\n"
"auto res = op-&gt;run(Gtk::PrintOperation::Action::EXPORT);\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:5901
#, fuzzy, no-wrap
msgid ""
"<code>Gtk::Widget* CustomPrintOperation::on_create_custom_widget()\n"
"{\n"
" set_custom_tab_label(\"My custom tab\");\n"
"\n"
" auto hbox = new Gtk::Box(Gtk::Orientation::HORIZONTAL, 8);\n"
" hbox-&gt;set_margin(6);\n"
"\n"
" auto label = Gtk::make_managed&lt;Gtk::Label&gt;(\"Enter some text: \");\n"
" hbox-&gt;append(*label);\n"
"\n"
" hbox-&gt;append(m_Entry);\n"
"\n"
" return hbox;\n"
"}\n"
"\n"
"void CustomPrintOperation::on_custom_widget_apply(Gtk::Widget* /* widget */)\n"
"{\n"
" auto user_input = m_Entry.get_text();\n"
" //...\n"
"}\n"
"</code>"
msgstr ""
"\n"
"Gtk::Widget* CustomPrintOperation::on_create_custom_widget()\n"
"{\n"
" set_custom_tab_label(\"Min anpassade flik\");\n"
"\n"
" auto hbox = new Gtk::Box(Gtk::Orientation::HORIZONTAL, 8);\n"
" hbox-&gt;set_margin(6);\n"
"\n"
" auto label = Gtk::make_managed&lt;Gtk::Label&gt;(\"Mata in lite text: \");\n"
" hbox-&gt;append(*label);\n"
"\n"
" hbox-&gt;append(m_Entry);\n"
"\n"
" return hbox;\n"
"}\n"
"\n"
"void CustomPrintOperation::on_custom_widget_apply(Gtk::Widget* /* widget */)\n"
"{\n"
" auto user_input = m_Entry.get_text();\n"
" //...\n"
"}\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:5936
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "// in a class that inherits from Gtk::Window...\n"
#| "auto op = PrintOperation::create();\n"
#| "// ...set up op...\n"
#| "op-&gt;run(Gtk::PrintOperation::Action::PREVIEW, *this);\n"
msgid ""
"<code>// in a class that inherits from Gtk::Window...\n"
"auto op = PrintOperation::create();\n"
"// ...set up op...\n"
"op-&gt;run(Gtk::PrintOperation::Action::PREVIEW, *this);\n"
"</code>"
msgstr ""
"\n"
"// i en klass som ärver från Gtk::Window...\n"
"auto op = PrintOperation::create();\n"
"// ...konfigurera op...\n"
"op-&gt;run(Gtk::PrintOperation::Action::PREVIEW, *this);\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:5970
#, fuzzy
msgid ""
"The following example demonstrates how to print some input from a user "
"interface using <classname>PrintOperation</classname>. It shows how to "
"implement <literal>on_begin_print</literal> and <literal>on_draw_page</"
"literal>, as well as how to track print status and update the print settings."
msgstr ""
"Följande exempel demonstrerar hur inmatning från ett användargränssnitt kan "
"skrivas ut. Det visar hur man implementerar <literal>on_begin_print</"
"literal> och <literal>on_draw_page</literal>, såväl som att spåra "
"utskriftsstatus och uppdatera utskriftsinställningarna."

# (pofilter) accelerators: Missing accelerator '_'
#. (itstool) path: imageobject/imagedata
#. This is a reference to an external file such as an image or video. When
#. the file changes, the md5 hash will change to let you know you need to
#. update your localized copy. The msgstr is not used at all. Set it to
#. whatever you like once you have updated your copy of the file.
#: C/index-in.docbook:5980
#, fuzzy
msgctxt "_"
msgid ""
"external ref='figures/printing_simple.png' "
"md5='8e7f72103094230cafcd912cb6b34277'"
msgstr ""
"external ref='figures/printing.png' md5='d4565328475ec89edf5f2230cb3fc5d0'"

# (pofilter) accelerators: Added accelerator '_'
# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:5991
#, fuzzy
msgid ""
"The following example demonstrates how to print some input from a user "
"interface using <classname>PrintDialog</classname>. The user interface is "
"similar to the previous example."
msgstr ""
"Följande exempel demonstrerar hur inmatning från ett användargränssnitt kan "
"skrivas ut. Det visar hur man implementerar <literal>on_begin_print</"
"literal> och <literal>on_draw_page</literal>, såväl som att spåra "
"utskriftsstatus och uppdatera utskriftsinställningarna."

# (pofilter) accelerators: Missing accelerator '_'
#. (itstool) path: imageobject/imagedata
#. This is a reference to an external file such as an image or video. When
#. the file changes, the md5 hash will change to let you know you need to
#. update your localized copy. The msgstr is not used at all. Set it to
#. whatever you like once you have updated your copy of the file.
#: C/index-in.docbook:6000
#, fuzzy
msgctxt "_"
msgid ""
"external ref='figures/printing_printdialog.png' "
"md5='131a217e90587b80335c230cace02a57'"
msgstr ""
"external ref='figures/printing.png' md5='d4565328475ec89edf5f2230cb3fc5d0'"

# (pofilter) accelerators: Missing accelerator '_'
#. (itstool) path: section/para
#: C/index-in.docbook:6004
#, fuzzy
#| msgid ""
#| "<link xlink:href=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/"
#| "tree/master/examples/book/printing/simple/\">Source Code</link>"
msgid ""
"<link xlink:href=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/"
"master/examples/book/printing/print_dialog/\">Source Code</link>"
msgstr ""
"<link xlink:href=\"https://gitlab.gnome.org/GNOME/gtkmm-documentation/tree/"
"master/examples/book/printing/simple/\">Källkod</link>"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:6046
#, fuzzy, no-wrap
#| msgid ""
#| "auto recent_manager = Gtk::RecentManager::get_default();\n"
#| "recent_manager-&gt;add_item(uri);"
msgid ""
"<code>auto recent_manager = Gtk::RecentManager::get_default();\n"
"recent_manager-&gt;add_item(uri);</code>"
msgstr ""
"auto recent_manager = Gtk::RecentManager::get_default();\n"
"recent_manager-&gt;add_item(uri);"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:6104
#, fuzzy, no-wrap
msgid ""
"<code>Glib::RefPtr&lt;Gtk::RecentInfo&gt; info;\n"
"try\n"
"{\n"
" info = recent_manager-&gt;lookup_item(uri);\n"
"}\n"
"catch(const Gtk::RecentManagerError&amp; ex)\n"
"{\n"
" std::cerr &lt;&lt; \"RecentManagerError: \" &lt;&lt; ex.what() &lt;&lt; std::endl;\n"
"}\n"
"if (info)\n"
"{\n"
" // item was found\n"
"}</code>"
msgstr ""
"Glib::RefPtr&lt;Gtk::RecentInfo&gt; info;\n"
"try\n"
"{\n"
" info = recent_manager-&gt;lookup_item(uri);\n"
"}\n"
"catch(const Gtk::RecentManagerError&amp; ex)\n"
"{\n"
" std::cerr &lt;&lt; \"RecentManagerError: \" &lt;&lt; ex.what() &lt;&lt; std::endl;\n"
"}\n"
"if (info)\n"
"{\n"
" // objektet hittades\n"
"}"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:6131
#, fuzzy, no-wrap
#| msgid "auto info_list = recent_manager-&gt;get_items();"
msgid "<code>auto info_list = recent_manager-&gt;get_items();</code>"
msgstr "auto info_list = recent_manager-&gt;get_items();"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:6281
#, fuzzy, no-wrap
msgid ""
"<code>\n"
"bool MyClass::on_key_pressed(guint keyval, guint, Gdk::ModifierType state)\n"
"{\n"
" if (keyval == GDK_KEY_1 &amp;&amp;\n"
" (state &amp; (Gdk::ModifierType::SHIFT_MASK | Gdk::ModifierType::CONTROL_MASK |\n"
" Gdk::ModifierType::ALT_MASK)) == Gdk::ModifierType::ALT_MASK)\n"
" {\n"
" handle_alt_press();\n"
" return true;\n"
" }\n"
" return false;\n"
"}\n"
"\n"
"// in MyClass constructor\n"
"auto controller = Gtk::EventControllerKey::create();\n"
"controller-&gt;signal_key_pressed().connect(\n"
" sigc::mem_fun(*this, &amp;MyClass::on_key_pressed), false);\n"
"add_controller(controller);\n"
"</code>"
msgstr ""
"\n"
"bool MyClass::on_key_pressed(guint keyval, guint, Gdk::ModifierType state)\n"
"{\n"
" if (keyval == GDK_KEY_1 &amp;&amp;\n"
" (state &amp; (Gdk::ModifierType::SHIFT_MASK | Gdk::ModifierType::CONTROL_MASK |\n"
" Gdk::ModifierType::ALT_MASK)) == Gdk::ModifierType::ALT_MASK)\n"
" {\n"
" handle_alt_press();\n"
" return true;\n"
" }\n"
" return false;\n"
"}\n"
"\n"
"// i MyClass-konstruktor\n"
"auto controller = Gtk::EventControllerKey::create();\n"
"controller-&gt;signal_key_pressed().connect(\n"
" sigc::mem_fun(*this, &amp;MyClass::on_key_pressed), false);\n"
"add_controller(controller);\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: listitem/para
#: C/index-in.docbook:6394
#, fuzzy
#| msgid ""
#| "<classname>Gtk::EventControllerKey</classname>, <classname>Gtk::"
#| "EventControllerMotion</classname>, <classname>Gtk::EventControllerScroll</"
#| "classname> and <classname>Gtk::GestureStylus</classname>"
msgid ""
"There are other event classes that can be used for handling mouse events, "
"for instance <classname>Gtk::EventControllerMotion</classname> and "
"<classname>Gtk::EventControllerScroll</classname>."
msgstr ""
"<classname>Gtk::EventControllerKey</classname>, <classname>Gtk::"
"EventControllerMotion</classname>, <classname>Gtk::EventControllerScroll</"
"classname> och <classname>Gtk::GestureStylus</classname>"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:6402
#, fuzzy
#| msgid ""
#| "The data model is a class that implements the <classname>Gio::ListModel</"
#| "classname> interface. Examples of such classes are <classname>Gio::"
#| "ListStore</classname> (not to be confused with the deprecated "
#| "<classname>Gtk::ListStore</classname>), <classname>Gtk:StringList</"
#| "classname>, <classname>Gtk:DirectoryList</classname> and "
#| "<classname>Pango::FontMap</classname>."
msgid ""
"The event classes that handle mouse events are also useful for handling "
"events from touchscreens. There are also many subclasses of <classname>Gtk::"
"EventController</classname> which are only (or mainly) useful for "
"touchscreens. Examples: <classname>Gtk::GestureRotate</classname>, "
"<classname>Gtk::GestureZoom</classname>, <classname>Gtk::GestureSwipe</"
"classname>, <classname>Gtk::GestureLongPress</classname>."
msgstr ""
"Datamodellen är en klass som implementerar <classname>Gio::ListModel</"
"classname>-gränssnittet. Exempel på sådana klasser är <classname>Gio::"
"ListStore</classname> (inte att förväxlas med den föråldrade <classname>Gtk::"
"ListStore</classname>), <classname>Gtk:StringList</classname>, "
"<classname>Gtk:DirectoryList</classname> och <classname>Pango::FontMap</"
"classname>."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:6443
#, fuzzy, no-wrap
msgid ""
"<code>sigc::connection Glib::SignalTimeout::connect(const sigc::slot&lt;bool()&gt;&amp; slot,\n"
" unsigned int interval, int priority = Glib::PRIORITY_DEFAULT);\n"
"</code>"
msgstr ""
"\n"
"sigc::connection Glib::SignalTimeout::connect(const sigc::slot&lt;bool()&gt;&amp; slot,\n"
" unsigned int interval, int priority = Glib::PRIORITY_DEFAULT);\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:6455
#, fuzzy, no-wrap
msgid ""
"<code>my_connection.disconnect();\n"
"</code>"
msgstr ""
"\n"
"my_connection.disconnect();\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:6466
#, fuzzy, no-wrap
msgid ""
"<code>bool MyCallback() { std::cout &lt;&lt; \"Hello World!\\n\" &lt;&lt; std::endl; return true; }\n"
"</code>"
msgstr ""
"\n"
"bool MyCallback() { std::cout &lt;&lt; \"Hej världen!\\n\" &lt;&lt; std::endl; return true; }\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:6493
#, fuzzy, no-wrap
msgid ""
"<code>sigc::connection Glib::SignalIO::connect(const sigc::slot&lt;bool(Glib::IOCondition)&gt;&amp; slot,\n"
" Glib::PollFD::fd_t fd, Glib::IOCondition condition,\n"
" int priority = Glib::PRIORITY_DEFAULT);\n"
"</code>"
msgstr ""
"\n"
"sigc::connection Glib::SignalIO::connect(const sigc::slot&lt;bool(Glib::IOCondition)&gt;&amp; slot,\n"
" Glib::PollFD::fd_t fd, Glib::IOCondition condition,\n"
" int priority = Glib::PRIORITY_DEFAULT);\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:6541
#, fuzzy, no-wrap
msgid ""
"<code>bool input_callback(Glib::IOCondition condition);\n"
"</code>"
msgstr ""
"\n"
"bool input_callback(Glib::IOCondition condition);\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:6573
#, fuzzy, no-wrap
msgid ""
"<code>sigc::connection Glib::SignalIdle::connect(const sigc::slot&lt;bool()&gt;&amp; slot,\n"
" int priority = Glib::PRIORITY_DEFAULT_IDLE);\n"
"</code>"
msgstr ""
"\n"
"sigc::connection Glib::SignalIdle::connect(const sigc::slot&lt;bool()&gt;&amp; slot,\n"
" int priority = Glib::PRIORITY_DEFAULT_IDLE);\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:6586
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "bool idleFunc();\n"
msgid ""
"<code>bool idleFunc();\n"
"</code>"
msgstr ""
"\n"
"bool idleFunc();\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:6622
#, fuzzy
msgid ""
"<application>gtkmm</application> allows the programmer to control the "
"lifetime (that is, the construction and destruction) of any widget in the "
"same manner as any other <phrase role=\"nowrap\">C++</phrase> object. This "
"flexibility allows you to use <literal>new</literal> and <literal>delete</"
"literal> to create and destroy objects dynamically or to use regular class "
"members (that are destroyed automatically when the class is destroyed) or to "
"use local instances (that are destroyed when the instance goes out of "
"scope). This flexibility is not present in some <phrase role=\"nowrap\">C++</"
"phrase> GUI toolkits, which restrict the programmer to only a subset of "
"<phrase role=\"nowrap\">C++</phrase>'s memory management features."
msgstr ""
"<application>gtkmm</application> tillåter programmeraren att styra livstiden "
"(det vill säga konstruktionen och förstörandet) av alla komponenter på samma "
"sätt som andra C++-objekt. Denna flexibilitet låter dig använda "
"<literal>new</literal> och <literal>delete</literal> för att skapa och "
"förstöra objekt dynamiskt eller använda vanliga klassmedlemmar (som förstörs "
"automatiskt när klassen förstörs) eller använda lokala instanser (som "
"förstörs när instansen lämnar räckvidden). Denna flexibilitet finns inte i "
"vissa C++-GUI-verktygslådor, vilket begränsar programmeraren till bara en "
"delmängd av C++:s minneshanteringsfunktioner."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:6640
#, fuzzy
#| msgid "Here are some examples of normal C++ memory management:"
msgid ""
"Here are some examples of normal <phrase role=\"nowrap\">C++</phrase> memory "
"management:"
msgstr "Här är några exempel på vanlig C++-minneshantering:"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:6654
#, fuzzy, no-wrap
msgid ""
"<code>#include &lt;gtkmm/button.h&gt;\n"
"#include &lt;gtkmm/window.h&gt;\n"
"class Foo : public Gtk::Window\n"
"{\n"
"private:\n"
" Gtk::Button theButton;\n"
" // will be destroyed when the Foo object is destroyed\n"
"};\n"
"</code>"
msgstr ""
"\n"
"#include &lt;gtkmm/button.h&gt;\n"
"#include &lt;gtkmm/window.h&gt;\n"
"class Foo : public Gtk::Window\n"
"{\n"
"private:\n"
" Gtk::Button theButton;\n"
" // kommer förstöras när objektet Foo förstörs\n"
"};\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:6672
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "{\n"
#| " Gtk::Button aButton;\n"
#| " aButton.set_visible(true);\n"
#| " ...\n"
#| " app-&gt;run();\n"
#| "}\n"
msgid ""
"<code>{\n"
" Gtk::Button aButton;\n"
" aButton.set_visible(true);\n"
" ...\n"
" app-&gt;run();\n"
"}\n"
"</code>"
msgstr ""
"\n"
"{\n"
" Gtk::Button aButton;\n"
" aButton.set_visible(true);\n"
" ...\n"
" app-&gt;run();\n"
"}\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:6690
#, fuzzy
#| msgid ""
#| "Usually, the programmer will prefer to allow containers to automatically "
#| "destroy their children by creating them using <function>Gtk::"
#| "make_managed()</function> (see below). This is not strictly required, as "
#| "the <literal>new</literal> and <literal>delete</literal> operators may "
#| "also be used, but modern C++ style discourages those in favor of safer "
#| "models of memory management, so it is better to create widgets using "
#| "<function>Gtk::make_managed()</function> and let their parent destroy "
#| "them, than to manually perform dynamic allocation. <_:programlisting-1/> "
#| "Here, the programmer deletes <varname>pButton</varname> to prevent a "
#| "memory leak."
msgid ""
"Usually, the programmer will prefer to allow containers to automatically "
"destroy their children by creating them using <function>Gtk::make_managed()</"
"function> (see below). This is not strictly required, as the <literal>new</"
"literal> and <literal>delete</literal> operators may also be used, but "
"modern <phrase role=\"nowrap\">C++</phrase> style discourages those in favor "
"of safer models of memory management, so it is better to create widgets "
"using <function>Gtk::make_managed()</function> and let their parent destroy "
"them, than to manually perform dynamic allocation."
msgstr ""
"Vanligen kommer programmeraren föredra att tillåta behållare att automatiskt "
"förstöra sina underordnade genom att skapa dem med <function>Gtk::"
"make_managed()</function> (se nedan). Detta är inte strikt nödvändigt då "
"operatorerna <literal>new</literal> och <literal>delete</literal> också kan "
"användas, men modern C++-stil avråder från dessa till förmån för säkrare "
"minneshanteringsmodeller, så det är bättre att skapa komponenter med "
"<function>Gtk::make_managed()</function> och låta deras överordnade förstöra "
"dem än att manuellt utföra dynamisk allokering. <_:programlisting-1/> Här "
"tar programmeraren bort <varname>pButton</varname> för att förhindra en "
"minnesläcka."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:6699
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "auto pButton = new Gtk::Button(\"Test\");\n"
#| "\n"
#| "// do something useful with pButton\n"
#| "\n"
#| "delete pButton;\n"
msgid ""
"<code>auto pButton = new Gtk::Button(\"Test\");\n"
"// do something useful with pButton\n"
"delete pButton;\n"
"</code>"
msgstr ""
"\n"
"auto pButton = new Gtk::Button(\"Test\");\n"
"\n"
"// gör något användbart med pButton\n"
"\n"
"delete pButton;\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:6740
#, fuzzy
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, "
"modern <phrase role=\"nowrap\">C++</phrase> style discourages use of the "
"<literal>new</literal> operator, which was required when passing a newly "
"created widget to <function>manage()</function>. Therefore, "
"<application>gtkmm</application> has added <function>make_managed()</"
"function>, which combines creation and marking with <function>manage()</"
"function> into a single step. This avoids you having to write <literal>new</"
"literal>, which is discouraged in modern <phrase role=\"nowrap\">C++</"
"phrase> style, and more clearly expresses intent to create a managed widget."
msgstr ""
"Oftast kommer du dock när du skapar en sådan komponent redan veta att dess "
"överordnade behållare ska vara ansvarig för att förstöra den. Vidare avråder "
"modern C++-stil från användning av <literal>new</literal>-operatorn, vilken "
"krävdes då en nyss skapad komponent skickades till <function>manage()</"
"function>. <application>gtkmm</application> har därför lagt till "
"<function>make_managed()</function> som kombinerar skapande och markerande "
"med <function>manage()</function> till ett enda steg. Detta undviker att du "
"behöver skriva <literal>new</literal>, vilket avrådes från i modern C++-"
"stil, och mer tydligt uttrycker avsikten att skapa en hanterad komponent."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:6751
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "MyContainer::MyContainer()\n"
#| "{\n"
#| " auto pButton = Gtk::make_managed&lt;Gtk::Button&gt;(\"Test\");\n"
#| " append(*pButton); //add *pButton to MyContainer\n"
#| "}\n"
msgid ""
"<code>MyContainer::MyContainer()\n"
"{\n"
" auto pButton = Gtk::make_managed&lt;Gtk::Button&gt;(\"Test\");\n"
" append(*pButton); //add *pButton to MyContainer\n"
"}\n"
"</code>"
msgstr ""
"\n"
"MyContainer::MyContainer()\n"
"{\n"
" auto pButton = Gtk::make_managed&lt;Gtk::Button&gt;(\"Test\");\n"
" append(*pButton); //lägg till *pButton till MyContainer\n"
"}\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:6771
#, fuzzy
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 "
"of the traditional <phrase role=\"nowrap\">C++</phrase> techniques. Or you "
"can let <methodname>Gtk::Application::make_window_and_run()</methodname> "
"create a top-level window and delete it when it's hidden."
msgstr ""
"En toppnivåbehållare kommer förstås inte läggas till i en annan behållare. "
"Programmeraren är ansvarig att förstöra toppnivåbehållaren med en av de "
"traditionella C++-teknikerna. Eller så kan du låta <methodname>Gtk::"
"Application::make_window_and_run()</methodname> skapa ett toppnivåfönster "
"och ta bort det då det döljs."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:6799
#, fuzzy, no-wrap
msgid ""
"<code>auto pixbuf = Gdk::Pixbuf::create_from_file(filename);\n"
"</code>"
msgstr ""
"\n"
"auto pixbuf = Gdk::Pixbuf::create_from_file(filnamn);\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:6807
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "auto width = 0;\n"
#| "if(pixbuf)\n"
#| "{\n"
#| " width = pixbuf-&gt;get_width();\n"
#| "}\n"
msgid ""
"<code>auto width = 0;\n"
"if(pixbuf)\n"
"{\n"
" width = pixbuf-&gt;get_width();\n"
"}\n"
"</code>"
msgstr ""
"\n"
"auto width = 0;\n"
"if(pixbuf)\n"
"{\n"
" width = pixbuf-&gt;get_width();\n"
"}\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:6822
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "auto pixbuf2 = pixbuf;\n"
msgid ""
"<code>auto pixbuf2 = pixbuf;\n"
"</code>"
msgstr ""
"\n"
"auto pixbuf2 = pixbuf;\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:6824
#, fuzzy
msgid ""
"or if you pass it as a method argument or a return type, then "
"<classname>RefPtr</classname> will do any necessary referencing to ensure "
"that the instance will not be destroyed until the last <classname>RefPtr</"
"classname> has gone out of scope."
msgstr ""
"Om du kopierar en <classname>RefPtr</classname>, till exempel <_:"
"programlisting-1/> , eller om du skickar det som ett metodargument eller en "
"returtyp så kommer <classname>RefPtr</classname> göra all nödvändig "
"refererering för att säkerställa att instansen inte kommer förstöras innan "
"den sista <classname>RefPtr</classname> har lämnat räckvidden."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: chapter/para
#: C/index-in.docbook:6850
#, fuzzy
msgid ""
"Although you can use <phrase role=\"nowrap\">C++</phrase> code to "
"instantiate and arrange widgets, this can soon become tedious and "
"repetitive. And it requires a recompilation to show changes. The <link xlink:"
"href=\"https://gitlab.gnome.org/jpu/cambalache\">Cambalache</link> "
"application allows you to layout widgets on screen and then save an XML "
"description of the arrangement. Your application can then use the "
"<application>Gtk::Builder</application> API to load that XML file at runtime "
"and obtain a pointer to specifically named widget instances."
msgstr ""
"Även om du kan använda C++-koden för att instansiera och arrangera "
"komponenter kan detta snabbt bli tidskrävande och upprepande. Det kräver "
"även en omkompilering för att visa ändringar. Programmet <application>Glade</"
"application> låter dig skapa en layout för komponenter på skärmen och sedan "
"spara en XML-beskrivning av arrangemanget. Ditt program kan sedan använda "
"<application>Gtk::Builder</application>-API:t för att läsa in den XML-filen "
"vid körning och erhålla en pekare till specifikt namngivna "
"komponentinstanser."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: chapter/para
#: C/index-in.docbook:6869
#, fuzzy
msgid ""
"You still need <phrase role=\"nowrap\">C++</phrase> code to deal with User "
"Interface changes triggered by user actions, but using <application>Gtk::"
"Builder</application> for the widget layout allows you to focus on "
"implementing that functionality."
msgstr ""
"Du behöver fortfarande C++-kod för att hantera ändringar i "
"användargränssnittet som utlöses av användaråtgärder, men att använda "
"<application>Gtk::Builder</application> för komponentlayouten låter dig "
"fokusera på att implementera den funktionaliteten."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:6884
#, fuzzy
#| msgid ""
#| "<classname>Gtk::Builder</classname> must be used via a <classname>Glib::"
#| "RefPtr</classname>. Like all such classes, you need to use a "
#| "<methodname>create()</methodname> method to instantiate it. For instance, "
#| "<_:programlisting-1/> This will instantiate the windows defined in the "
#| "<filename>.glade</filename> file."
msgid ""
"<classname>Gtk::Builder</classname> must be used via a <classname>Glib::"
"RefPtr</classname>. Like all such classes, you need to use a "
"<methodname>create()</methodname> method to instantiate it. For instance,"
msgstr ""
"<classname>Gtk::Builder</classname> måste användas via en <classname>Glib::"
"RefPtr</classname>. Som alla andra sådana klasser behöver du använda en "
"<methodname>create()</methodname>-metod för att instansiera den. Till "
"exempel, <_:programlisting-1/> Detta kommer instansiera fönstren som "
"definieras i <filename>.glade</filename>-filen."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:6888
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "auto builder = Gtk::Builder::create_from_file(\"basic.glade\");\n"
msgid ""
"<code>auto builder = Gtk::Builder::create_from_file(\"basic.ui\");\n"
"</code>"
msgstr ""
"\n"
"auto builder = Gtk::Builder::create_from_file(\"basic.glade\");\n"

# (pofilter) accelerators: Accelerator '_' occurs 3 time(s) in original and 2 time(s) in translation
# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:6895
#, fuzzy, no-wrap
msgid ""
"<code>auto builder = Gtk::Builder::create_from_file(\"basic.ui\", \"treeview_products\");\n"
"</code>"
msgstr ""
"\n"
"auto builder = Gtk::Builder::create_from_file(\"basic.glade\", \"trädvyprodukter\");\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:6903
#, fuzzy
msgid ""
"To access a widget, for instance to show a dialog, use the "
"<methodname>get_widget()</methodname> method, providing the widget's name. "
"This name should be specified in the <application>Cambalache</application> "
"window. If the widget could not be found, or is of the wrong type, then the "
"pointer will be set to <literal>nullptr</literal>."
msgstr ""
"För att komma åt en komponent, exempelvis för att visa en dialogruta, "
"använder du metoden <methodname>get_widget()</methodname> och "
"tillhandahåller komponentens namn. Detta namn bör anges i "
"<application>Glade</application>s egenskapsfönster. Om komponenten inte "
"kunde hittas eller är av fel typ så kommer pekaren sättas till nullptr."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:6914
#, fuzzy, no-wrap
msgid ""
"<code>auto pDialog = builder-&gt;get_widget&lt;Gtk::Window&gt;(\"DialogBasic\");\n"
"</code>"
msgstr ""
"\n"
"auto pDialog = builder-&gt;get_widget&lt;Gtk::Dialog&gt;(\"DialogBasic\");\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:6947
#, fuzzy
msgid ""
"This simple example shows how to load a <filename class=\"extension\">.ui</"
"filename> file at runtime and access the widgets with <classname>Gtk::"
"Builder</classname>."
msgstr ""
"Detta enkla exempel visar hur du läser in en <application>Glade</"
"application>-fil vid körning och kommer åt komponenterna med "
"<application>Gtk::Builder</application>."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:6961
#, fuzzy
msgid ""
"You can use <application>Cambalache</application> and <classname>Gtk::"
"Builder</classname> to layout your own custom widgets derived from "
"<application>gtkmm</application> widget classes. This keeps your code "
"organized and encapsulated, separating declarative presentation from "
"business logic, avoiding having most of your source just be setting "
"properties and packing in containers."
msgstr ""
"Du kan använda <classname>Gtk::Builder</classname> och <application>Glade</"
"application> för att göra en layout för dina egna anpassade komponenter "
"härledda från <application>gtkmm</application>-komponentklasser. Detta "
"håller din kod organiserad och inkapslad, skiljer på deklarativ presentation "
"från affärslogik, och undviker att det mesta av din kod bara ställer in "
"egenskaper och packning i behållare."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:6971
#, fuzzy, no-wrap
msgid ""
"<code>auto pDialog = Gtk::Builder::get_widget_derived&lt;DerivedDialog&gt;(builder, \"DialogDerived\");\n"
"</code>"
msgstr ""
"\n"
"auto pDialog = Gtk::Builder::get_widget_derived&lt;DerivedDialog&gt;(builder, \"DialogDerived\");\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:6985
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "DerivedDialog::DerivedDialog(BaseObjectType* cobject, const Glib::RefPtr&lt;Gtk::Builder&gt;&amp; builder)\n"
#| ": Gtk::Dialog(cobject)\n"
#| "{\n"
#| "}\n"
msgid ""
"<code>DerivedDialog::DerivedDialog(BaseObjectType* cobject, const Glib::RefPtr&lt;Gtk::Builder&gt;&amp; builder)\n"
": Gtk::Window(cobject)\n"
"{\n"
"}\n"
"</code>"
msgstr ""
"\n"
"DerivedDialog::DerivedDialog(BaseObjectType* cobject, const Glib::RefPtr&lt;Gtk::Builder&gt;&amp; builder)\n"
": Gtk::Dialog(cobject)\n"
"{\n"
"}\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:6996
#, fuzzy, no-wrap
msgid ""
"<code>DerivedDialog::DerivedDialog(BaseObjectType* cobject, const Glib::RefPtr&lt;Gtk::Builder&gt;&amp; builder)\n"
": Gtk::Window(cobject),\n"
" m_builder(builder),\n"
" // Get the GtkBuilder-instantiated Button, and connect a signal handler:\n"
" m_pButton(m_builder-&gt;get_widget&lt;Gtk::Button&gt;(\"quit_button\"))\n"
"{\n"
" if (m_pButton)\n"
" {\n"
" m_pButton-&gt;signal_clicked().connect( sigc::mem_fun(*this, &amp;DerivedDialog::on_button_quit) );\n"
" }\n"
"}\n"
"</code>"
msgstr ""
"\n"
"DerivedDialog::DerivedDialog(BaseObjectType* cobject, const Glib::RefPtr&lt;Gtk::Builder&gt;&amp; builder)\n"
": Gtk::Dialog(cobject),\n"
" m_builder(builder),\n"
" //Få Glade-instansierad Button, och anslut en signalhanterare:\n"
" m_pButton(m_builder-&gt;get_widget&lt;Gtk::Button&gt;(\"quit_button\"))\n"
"{\n"
" if(m_pButton)\n"
" {\n"
" m_pButton-&gt;signal_clicked().connect( sigc::mem_fun(*this, &amp;DerivedDialog::on_button_quit) );\n"
" }\n"
"}\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:7009
#, fuzzy
#| msgid ""
#| "It's possible to pass additional arguments from "
#| "<methodname>get_widget_derived()</methodname> to the constructor of the "
#| "derived widget. For instance, this call to "
#| "<methodname>get_widget_derived()</methodname> <_:programlisting-1/> can "
#| "invoke this constructor"
msgid ""
"It's possible to pass additional arguments from "
"<methodname>get_widget_derived()</methodname> to the constructor of the "
"derived widget. For instance, this call to <methodname>get_widget_derived()</"
"methodname>"
msgstr ""
"Det är möjligt att skicka ytterligare argument från "
"<methodname>get_widget_derived()</methodname> till konstruktorn för den "
"härledda komponenten. Exempelvis kan detta anrop till "
"<methodname>get_widget_derived()</methodname> <_:programlisting-1/> starta "
"denna konstruktor"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:7014
#, fuzzy, no-wrap
msgid ""
"<code>auto pDialog = Gtk::Builder::get_widget_derived&lt;DerivedDialog&gt;(builder, \"DialogDerived\", true);\n"
"</code>"
msgstr ""
"\n"
"auto pDialog = Gtk::Builder::get_widget_derived&lt;DerivedDialog&gt;(builder, \"DialogDerived\", true);\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:7018
#, fuzzy, no-wrap
msgid ""
"<code>DerivedDialog::DerivedDialog(BaseObjectType* cobject,\n"
" const Glib::RefPtr&lt;Gtk::Builder&gt;&amp; builder, bool warning)\n"
": Gtk::Window(cobject),\n"
" m_builder(builder),\n"
" m_pButton(m_builder-&gt;get_widget&lt;Gtk::Button&gt;(\"quit_button\"))\n"
"{\n"
" // ....\n"
"}\n"
"</code>"
msgstr ""
"\n"
"DerivedDialog::DerivedDialog(BaseObjectType* cobject, const Glib::RefPtr&lt;Gtk::Builder&gt;&amp; builder, bool warning)\n"
": Gtk::Dialog(cobject),\n"
" m_builder(builder),\n"
" m_pButton(m_builder-&gt;get_widget&lt;Gtk::Button&gt;(\"quit_button\"))\n"
"{\n"
" // ....\n"
"}\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:7042
#, fuzzy, no-wrap
msgid ""
"<code>DerivedButton::DerivedButton(BaseObjectType* cobject, const Glib::RefPtr&lt;Gtk::Builder&gt;&amp; builder)\n"
": Glib::ObjectBase(\"MyButton\"), // The GType name will be gtkmm__CustomObject_MyButton.\n"
" Gtk::Button(cobject),\n"
" prop_ustring(*this, \"button-ustring\"),\n"
" prop_int(*this, \"button-int\", 10)\n"
"{\n"
" // ....\n"
"}\n"
"</code>"
msgstr ""
"\n"
"DerivedButton::DerivedButton(BaseObjectType* cobject, const Glib::RefPtr&lt;Gtk::Builder&gt;&amp; builder)\n"
": Glib::ObjectBase(\"MyButton\"), // GType-namnet kommer vara gtkmm__CustomObject_MyButton.\n"
" Gtk::Button(cobject),\n"
" prop_ustring(*this, \"button-ustring\"),\n"
" prop_int(*this, \"button-int\", 10)\n"
"{\n"
" // ....\n"
"}\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:7051
#, fuzzy
#| msgid ""
#| "When using <application>gtkmm</application> with a version of "
#| "<application>glibmm</application> from 2.62 onwards, it is possible also "
#| "to specify properties of derived widgets, declared in C++ using "
#| "<application>gtkmm</application>, within <filename>.glade</filename> "
#| "files and load/set these using <classname>Gtk::Builder</classname>. See "
#| "the documentation of <classname>Gtk::Builder</classname> for more details "
#| "on how to achieve this. Glade won’t recognize such properties as-is, but "
#| "it should be able to through use of <link xlink:href=\"https://developer-"
#| "old.gnome.org/gladeui/stable/properties.html\"> property class "
#| "definitions</link> and a catalog declaring those new properties."
msgid ""
"It is possible also to specify properties of derived widgets, declared in "
"<phrase role=\"nowrap\">C++</phrase> using <application>gtkmm</application>, "
"within <filename class=\"extension\">.ui</filename> files and load/set these "
"using <classname>Gtk::Builder</classname>. See the documentation of "
"<classname>Gtk::Builder</classname> for more details on how to achieve this. "
"<application>Cambalache</application> won’t recognize such properties as-is, "
"but you should be able to add a few lines of hand-coded XML to the XML code "
"generated by <application>Cambalache</application>."
msgstr ""
"När <application>gtkmm</application> används med en version av "
"<application>glibmm</application> som är 2.62 och högre är det även möjligt "
"att ange egenskaper för härledda komponenter, deklarerade i C++ med "
"<application>gtkmm</application>, i <filename>.glade</filename>-filer och "
"läsa in/sätta dessa med <classname>Gtk::Builder</classname>. Se "
"dokumentationen för <classname>Gtk::Builder</classname> för mer detaljer om "
"hur detta kan uppnås. Glade kommer inte känna igen sådana egenskaper som de "
"är, men bör kunna göra det genom användning av <link xlink:href=\"https://"
"developer-old.gnome.org/gladeui/stable/properties.html\"> "
"egenskapsklassdefinitioner</link> och en katalog som deklarerar dessa nya "
"egenskaper."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:7065
#, fuzzy
#| msgid ""
#| "This example shows how to load a <application>Glade</application> file at "
#| "runtime and access the widgets via derived classes."
msgid ""
"This example shows how to load a <filename class=\"extension\">.ui</"
"filename> file at runtime and access the widgets via derived classes."
msgstr ""
"Detta exempel visar hur du läser in en <application>Glade</application>-fil "
"vid körning och kommer åt komponenterna genom härledda klasser."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: note/para
#: C/index-in.docbook:7120
#, fuzzy
msgid ""
"In the instructions below we will assume that you will not be using "
"<application>gettext</application> directly, but <application>intltool</"
"application>, which was written specifically for <literal>GNOME</literal>. "
"<application>intltool</application> uses <function>gettext()</function>, "
"which extracts strings from source code, but <application>intltool</"
"application> can also combine strings from other files, for example from "
"desktop menu details, and GUI resource files such as <filename "
"class=\"extension\">.ui</filename> files, into standard "
"<application>gettext</application> <filename>.pot/.po</filename> files."
msgstr ""
"I instruktionerna nedan kommer vi anta att du inte kommer använda "
"<application>gettext</application> direkt, utan <application>intltool</"
"application> som skrevs specifikt för <literal>GNOME</literal>. "
"<application>intltool</application> använder <function>gettext()</function> "
"vilket extraherar strängar från källkod, men <application>intltool</"
"application> kan också kombinera strängar från andra filer, exempelvis från "
"skrivbordsmenydetaljer, och GUI-resursfiler som <application>Glade</"
"application>-files, till <application>gettext</application>s <filename>.pot/."
"po</filename>-standardfiler."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:7150
msgid ""
"An alternative to <application>gnome-common</application>'s <literal>autogen."
"sh</literal> may look like this:"
msgstr ""
"Ett alternativ till <literal>autogen.sh</literal> från <application>gnome-"
"common</application> kan se ut så här:"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:7154
#, fuzzy, no-wrap
#| msgid ""
#| "#! /bin/sh -e\n"
#| "test -n \"$srcdir\" || srcdir=`dirname \"$0\"`\n"
#| "test -n \"$srcdir\" || srcdir=.\n"
#| "\n"
#| "autoreconf --force --install --verbose --warnings=all \"$srcdir\"\n"
#| "echo \"Running intltoolize --copy --force --automake\"\n"
#| "intltoolize --copy --force --automake\n"
#| "test -n \"$NOCONFIGURE\" || \"$srcdir/configure\" \"$@\""
msgid ""
"<code>#! /bin/sh -e\n"
"test -n \"$srcdir\" || srcdir=`dirname \"$0\"`\n"
"test -n \"$srcdir\" || srcdir=.\n"
"\n"
"autoreconf --force --install --verbose --warnings=all \"$srcdir\"\n"
"echo \"Running intltoolize --copy --force --automake\"\n"
"intltoolize --copy --force --automake\n"
"test -n \"$NOCONFIGURE\" || \"$srcdir/configure\" \"$@\"</code>"
msgstr ""
"#! /bin/sh -e\n"
"test -n \"$srcdir\" || srcdir=`dirname \"$0\"`\n"
"test -n \"$srcdir\" || srcdir=.\n"
"\n"
"autoreconf --force --install --verbose --warnings=all \"$srcdir\"\n"
"echo \"Running intltoolize --copy --force --automake\"\n"
"intltoolize --copy --force --automake\n"
"test -n \"$NOCONFIGURE\" || \"$srcdir/configure\" \"$@\""

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:7163
#, fuzzy
msgid ""
"Create a sub-directory named <literal>po</literal> in your project's root "
"directory. This directory will eventually contain all of your translations. "
"Within it, create a file named <literal>LINGUAS</literal> and a file named "
"<literal>POTFILES.in</literal>."
msgstr ""
"Skapa en underkatalog med namnet <literal>po</literal> i ditt projekts "
"rotkatalog. Denna katalog kommer i slutändan innehålla alla dina "
"översättningar. Skapa i den en fil med namnet <literal>LINGUAS</literal> och "
"en fil med namnet <literal>POTFILES.in</literal>. Det är även även vanligt "
"att skapa en <literal>ChangeLog</literal>-fil i <literal>po</literal>-"
"katalogen så att översättningar kan hålla koll på översättningsändringar."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:7179
#, fuzzy, no-wrap
#| msgid ""
#| "# keep this file sorted alphabetically, one language code per line\n"
#| "de\n"
#| "ja"
msgid ""
"<code># keep this file sorted alphabetically, one language code per line\n"
"de\n"
"ja</code>"
msgstr ""
"# keep this file sorted alphabetically, one language code per line\n"
"de\n"
"ja"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:7198
#, fuzzy, no-wrap
#| msgid ""
#| "src/main.cc\n"
#| "src/other.cc"
msgid ""
"<code>src/main.cc\n"
"src/other.cc</code>"
msgstr ""
"src/main.cc\n"
"src/other.cc"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:7201
#, fuzzy
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 "
"you use <application>intltool</application>, you can mark strings for "
"translation in a variety of other file formats, including <filename "
"class=\"extension\">.ui</filename> files, xml, <link xlink:href=\"http://"
"standards.freedesktop.org/desktop-entry-spec/latest/\">.desktop files</link> "
"and several more. So, if you have designed some of the application UI in xml "
"files then also add your <filename class=\"extension\">.ui</filename> files "
"to the list in <literal>POTFILES.in</literal>."
msgstr ""
"Om du använder <application>gettext</application> direkt kan du endast "
"markera strängar för översättning om de är i källkodsfiler. Om du använder "
"<application>intltool</application> kan du dock markera strängar för "
"översättning i ett antal andra filformat, inklusive <application>Glade</"
"application>s UI-filer, xml, <link xlink:href=\"http://standards.freedesktop."
"org/desktop-entry-spec/latest/\">.desktop-filer</link> och flera till. Så om "
"du har designat delar av programmets användargränssnitt i "
"<application>Glade</application> så lägger du också till dina <filename>."
"glade</filename>-filer till listan i <literal>POTFILES.in</literal>."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:7221
#, fuzzy, no-wrap
msgid ""
"<code>IT_PROG_INTLTOOL([0.35.0])\n"
"\n"
"GETTEXT_PACKAGE=programname\n"
"AC_SUBST(GETTEXT_PACKAGE)\n"
"AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], [\"$GETTEXT_PACKAGE\"],\n"
" [The domain to use with gettext])\n"
"AM_GNU_GETTEXT([external])\n"
"AM_GNU_GETTEXT_VERSION([0.17])\n"
"\n"
"PROGRAMNAME_LOCALEDIR=[${datadir}/locale]\n"
"AC_SUBST(PROGRAMNAME_LOCALEDIR)</code>"
msgstr ""
"IT_PROG_INTLTOOL([0.35.0])\n"
"\n"
"GETTEXT_PACKAGE=programnamn\n"
"AC_SUBST(GETTEXT_PACKAGE)\n"
"AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], [\"$GETTEXT_PACKAGE\"],\n"
" [Domänen att använda med gettext])\n"
"AM_GNU_GETTEXT([external])\n"
"AM_GNU_GETTEXT_VERSION([0.17])\n"
"\n"
"PROGRAMNAME_LOCALEDIR=[${datadir}/locale]\n"
"AC_SUBST(PROGRAMNAME_LOCALEDIR)"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: listitem/para
#: C/index-in.docbook:7256
#, fuzzy
#| msgid "Define <literal>INTLTOOL_FILES</literal> as: <_:programlisting-1/>"
msgid "Define <literal>INTLTOOL_FILES</literal> as:"
msgstr "Definiera <literal>INTLTOOL_FILES</literal> som: <_:programlisting-1/>"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: listitem/programlisting
#: C/index-in.docbook:7258
#, fuzzy, no-wrap
#| msgid ""
#| "INTLTOOL_FILES = intltool-extract.in \\\n"
#| " intltool-merge.in \\\n"
#| " intltool-update.in"
msgid ""
"<code>INTLTOOL_FILES = intltool-extract.in \\\n"
" intltool-merge.in \\\n"
" intltool-update.in</code>"
msgstr ""
"INTLTOOL_FILES = intltool-extract.in \\\n"
" intltool-merge.in \\\n"
" intltool-update.in"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: listitem/para
#: C/index-in.docbook:7271
#, fuzzy
#| msgid "Update your <literal>DISTCLEANFILES</literal>: <_:programlisting-1/>"
msgid "Update your <literal>DISTCLEANFILES</literal>:"
msgstr "Uppdatera din <literal>DISTCLEANFILES</literal>: <_:programlisting-1/>"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: listitem/programlisting
#: C/index-in.docbook:7273
#, fuzzy, no-wrap
#| msgid ""
#| "DISTCLEANFILES = ... intltool-extract \\\n"
#| " intltool-merge \\\n"
#| " intltool-update \\\n"
#| " po/.intltool-merge-cache"
msgid ""
"<code>DISTCLEANFILES = ... intltool-extract \\\n"
" intltool-merge \\\n"
" intltool-update \\\n"
" po/.intltool-merge-cache</code>"
msgstr ""
"DISTCLEANFILES = ... intltool-extract \\\n"
" intltool-merge \\\n"
" intltool-update \\\n"
" po/.intltool-merge-cache"

# (pofilter) xmltags: Added XML tags
#. (itstool) path: listitem/para
#: C/index-in.docbook:7279
#, fuzzy
#| msgid ""
#| "Depending on the types of files that contain translatable strings, add "
#| "code such as <_:programlisting-1/>"
msgid ""
"Depending on the types of files that contain translatable strings, add code "
"such as"
msgstr ""
"Beroende på typerna av filer som innehåller översättbara strängar lägger du "
"till kod som <_:programlisting-1/>"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: listitem/programlisting
#: C/index-in.docbook:7282
#, fuzzy, no-wrap
msgid ""
"<code>desktopdir = $(datadir)/applications\n"
"desktop_in_files = programname.desktop.in\n"
"desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)\n"
"@INTLTOOL_DESKTOP_RULE@</code>"
msgstr ""
"desktopdir = $(datadir)/applications\n"
"desktop_in_files = programnamn.desktop.in\n"
"desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)\n"
"@INTLTOOL_DESKTOP_RULE@"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:7295
#, fuzzy, no-wrap
msgid "<code>AM_CPPFLAGS = ... -DPROGRAMNAME_LOCALEDIR=\\\"${PROGRAMNAME_LOCALEDIR}\\\"</code>"
msgstr "AM_CPPFLAGS = ... -DPROGRAMNAME_LOCALEDIR=\\\"${PROGRAMNAMN_LOCALEDIR}\\\""

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:7319
#, fuzzy
msgid ""
"However, <application>Glib</application> defines <function>gettext()</"
"function> support macros which are shorter wrappers in an easy-to-use form. "
"To use these macros, include <literal>&lt;glibmm/i18n.h&gt;</literal>, and "
"then, for example, substitute:"
msgstr ""
"<application>Glib</application> definierar dock <function>gettext()</"
"function>-stödmakron som är kortare omslag i en lättanvänd form. För att "
"använda dessa makron inkluderar du <literal>&lt;glibmm/i18n.h&gt;</literal> "
"och ersätter exempelvis: <_:programlisting-1/> med: <_:programlisting-2/>"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:7325
#, fuzzy, no-wrap
msgid "<code>display_message(\"Getting ready for i18n.\");</code>"
msgstr "display_message(\"Getting ready for i18n.\");"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:7327
#, fuzzy, no-wrap
msgid "<code>display_message(_(\"Getting ready for i18n.\"));</code>"
msgstr "display_message(_(\"Getting ready for i18n.\"));"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:7338
#, fuzzy, no-wrap
msgid "<code>xgettext -a -o my-strings --omit-header *.cc *.h</code>"
msgstr "xgettext -a -o my-strings --omit-header *.cc *.h"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:7345
#, fuzzy, no-wrap
msgid ""
"<code>bindtextdomain(GETTEXT_PACKAGE, PROGRAMNAME_LOCALEDIR);\n"
"bind_textdomain_codeset(GETTEXT_PACKAGE, \"UTF-8\");\n"
"textdomain(GETTEXT_PACKAGE);</code>"
msgstr ""
"bindtextdomain(GETTEXT_PACKAGE, PROGRAMNAME_LOCALEDIR);\n"
"bind_textdomain_codeset(GETTEXT_PACKAGE, \"UTF-8\");\n"
"textdomain(GETTEXT_PACKAGE);"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:7494
#, fuzzy, no-wrap
msgid ""
"<code>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 &lt;&lt; percentage &lt;&lt; \" % done\";\n"
"label-&gt;set_text(Glib::locale_to_utf8(output.str()));</code>"
msgstr ""
"std::locale::global(std::locale(\"\")); // Sätt den globala lokalen till användarens föredragna lokal.\n"
" // Vanligen onödigt här, för Glib::init()\n"
" // eller Gtk::Application::create() gör det åt dig.\n"
"std::ostringstream output;\n"
"output &lt;&lt; percentage &lt;&lt; \" % klar\";\n"
"label-&gt;set_text(Glib::locale_to_utf8(output.str()));"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:7525
#, fuzzy, no-wrap
#| msgid ""
#| "// note to translators: don't translate the \"[noun]\" part - it is\n"
#| "// just here to distinguish the string from another \"jumps\" string\n"
#| "text = strip(gettext(\"jumps[noun]\"), \"[noun]\");"
msgid ""
"<code>// note to translators: don't translate the \"[noun]\" part - it is\n"
"// just here to distinguish the string from another \"jumps\" string\n"
"text = strip(gettext(\"jumps[noun]\"), \"[noun]\");</code>"
msgstr ""
"// note to translators: don't translate the \"[noun]\" part - it is\n"
"// just here to distinguish the string from another \"jumps\" string\n"
"text = strip(gettext(\"jumps[noun]\"), \"[noun]\");"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:7533
#, fuzzy, no-wrap
#| msgid "GLib::ustring text(C_(\"noun\", \"jumps\"));"
msgid "<code>GLib::ustring text(C_(\"noun\", \"jumps\"));</code>"
msgstr "GLib::ustring text(C_(\"noun\", \"jumps\"));"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:7540
#, fuzzy
#| msgid ""
#| "C programmers use <function>sprintf()</function> to compose and "
#| "concatenate strings. C++ favors streams, but unfortunately, this approach "
#| "makes translation difficult, because each fragment of text is translated "
#| "separately, without allowing the translators to rearrange them according "
#| "to the grammar of the language."
msgid ""
"C programmers use <function>sprintf()</function> to compose and concatenate "
"strings. <phrase role=\"nowrap\">C++</phrase> favors streams, but "
"unfortunately, this approach makes translation difficult, because each "
"fragment of text is translated separately, without allowing the translators "
"to rearrange them according to the grammar of the language."
msgstr ""
"C-programmerare använder <function>sprintf()</function> för att komponera "
"och konkatenera strängar. C++ föredrar strömmar, men detta angreppssätt gör "
"tyvärr översättning svår, för varje textfragment översätts separat utan att "
"låta översättarna arrangera om dem enligt språkets grammatik."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:7549
#, fuzzy, no-wrap
#| msgid ""
#| "std::cout &lt;&lt; _(\"Current amount: \") &lt;&lt; amount\n"
#| " &lt;&lt; _(\" Future: \") &lt;&lt; future &lt;&lt; std::endl;\n"
#| "\n"
#| "label.set_text(_(\"Really delete \") + filename + _(\" now?\"));"
msgid ""
"<code>std::cout &lt;&lt; _(\"Current amount: \") &lt;&lt; amount\n"
" &lt;&lt; _(\" Future: \") &lt;&lt; future &lt;&lt; std::endl;\n"
"\n"
"label.set_text(_(\"Really delete \") + filename + _(\" now?\"));</code>"
msgstr ""
"std::cout &lt;&lt; _(\"Current amount: \") &lt;&lt; amount\n"
" &lt;&lt; _(\" Future: \") &lt;&lt; future &lt;&lt; std::endl;\n"
"\n"
"label.set_text(_(\"Really delete \") + filename + _(\" now?\"));"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:7559
#, fuzzy, no-wrap
#| msgid ""
#| "std::cout &lt;&lt; Glib::ustring::compose(\n"
#| " _(\"Current amount: %1 Future: %2\"), amount, future) &lt;&lt; std::endl;\n"
#| "\n"
#| "label.set_text(Glib::ustring::compose(_(\"Really delete %1 now?\"), filename));"
msgid ""
"<code>std::cout &lt;&lt; Glib::ustring::compose(\n"
" _(\"Current amount: %1 Future: %2\"), amount, future) &lt;&lt; std::endl;\n"
"\n"
"label.set_text(Glib::ustring::compose(_(\"Really delete %1 now?\"), filename));</code>"
msgstr ""
"std::cout &lt;&lt; Glib::ustring::compose(\n"
" _(\"Current amount: %1 Future: %2\"), amount, future) &lt;&lt; std::endl;\n"
"\n"
"label.set_text(Glib::ustring::compose(_(\"Really delete %1 now?\"), filename));"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:7603
#, fuzzy
#| 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 "
#| "and ask to have your program added to the <link xlink:href=\"http://l10n."
#| "gnome.org/module/\">list of modules to translate</link>."
msgid ""
"The way it works is that you upload your source code to a git repository "
"where translators can access it, then file an <link xlink:href=\"https://"
"gitlab.gnome.org/Infrastructure/damned-lies/-/issues\"> issue to the damned-"
"lies project</link> and ask to have your program added to the <link xlink:"
"href=\"http://l10n.gnome.org/module/\">list of modules to translate</link>."
msgstr ""
"Sättet detta fungerar är att du kan placera din källkod i ett git-arkiv där "
"översättare kan komma åt den, och sedan kontakta sändlistan gnome-i18n och "
"be att ditt program ska läggas till i <link xlink:href=\"http://l10n.gnome."
"org/module/\">listan över moduler att översätta</link>."

# (pofilter) accelerators: Added accelerator '_'
#. (itstool) path: imageobject/imagedata
#. This is a reference to an external file such as an image or video. When
#. the file changes, the md5 hash will change to let you know you need to
#. update your localized copy. The msgstr is not used at all. Set it to
#. whatever you like once you have updated your copy of the file.
#: C/index-in.docbook:7645
#, fuzzy
msgctxt "_"
msgid "external ref='figures/i18n.png' md5='d9568b819575c6cadd8a45b8149ec533'"
msgstr ""
"external ref='figures/entry_icon.png' md5='fb1db5f1b82bb2849d352170ada89191'"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:7707
#, fuzzy
msgid ""
"Your container must unparent its children before the underlying C object (a "
"<classname>gtkmm__GtkWidget</classname>) is finalized. If your container is "
"used as a managed widget, it shall unparent its children in a "
"<methodname>Gtk::Widget::signal_destroy()</methodname> handler (available "
"since <application>gtkmm</application> 4.8). If your container is not "
"managed, that signal handler is not called. Instead the children shall be "
"unparented in the <phrase role=\"nowrap\">C++</phrase> destructor. If you "
"want your container to be useful both ways, unparent the children both in "
"the destructor and in a signal handler. See the example code."
msgstr ""
"Din behållare måste avföräldra sina underordnade innan det underliggande C-"
"objektet (en <classname>gtkmm__GtkWidget</classname>) finaliseras. Om din "
"behållare används som en hanterad komponent ska den avföräldra sina "
"underordnade i en <methodname>Gtk::Widget::signal_destroy()</methodname>-"
"hanterare (tillgänglig sedan <application>gtkmm</application> 4.8.0). Om din "
"behållare inte hanteras anropas inte den signalhanteraren. I stället ska de "
"underordnade avföräldras i C++-destruktorn. Om du vill att din behållare ska "
"bara användbar på båda sätt så avföräldrar du de underordnade både i "
"destruktorn och i en signalhanterare. Se exempelkoden."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: listitem/para
#: C/index-in.docbook:7811
#, fuzzy
#| msgid ""
#| "<methodname>Gtk::Widget::set_name()</methodname> can be called from a C++ "
#| "constructor. It sets the name of a widget instance."
msgid ""
"<methodname>Gtk::Widget::set_name()</methodname> can be called from a "
"<phrase role=\"nowrap\">C++</phrase> constructor. It sets the name of a "
"widget instance."
msgstr ""
"<methodname>Gtk::Widget::set_name()</methodname> kan anropas från en C++-"
"konstruktor. Den ställer in namnet för en komponentinstans."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: listitem/para
#: C/index-in.docbook:7814
#, fuzzy
#| msgid ""
#| "<methodname>Gtk::Widget::add_class_name()</methodname> can be called from "
#| "a C++ constructor. It adds the name of a CSS class, used by a widget "
#| "instance."
msgid ""
"<methodname>Gtk::Widget::add_class_name()</methodname> can be called from a "
"<phrase role=\"nowrap\">C++</phrase> constructor. It adds the name of a CSS "
"class, used by a widget instance."
msgstr ""
"<methodname>Gtk::Widget::add_class_name()</methodname> kan anropas från en C+"
"+-konstruktor. Den lägger till namnet för en CSS-klass, använd av en "
"komponentinstans."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: chapter/para
#: C/index-in.docbook:8107
#, fuzzy
msgid ""
"Use <application>Meson</application>! It is your friend :) It examines C and "
"<phrase role=\"nowrap\">C++</phrase> files, determines how they depend on "
"each other, and generates <filename>build.ninja</filename> or an equivalent "
"file so the files can be compiled in the correct order. <application>Meson</"
"application> permits automatic configuration of software installation, "
"handling a large number of system quirks to increase portability."
msgstr ""
"Använd<application>Meson</application>! Det är din vän :) Det undersöker C- "
"och C++-filer, avgör hur de beror på varandra, och genererar <filename>build."
"ninja</filename> eller en motsvarande fil så att filerna kan kompileras i "
"rätt ordning. <application>Meson</application> tillåter automatisk "
"konfiguration av programvaruinstallation, och hanterar ett stort antal "
"systemabrovinkar för att öka portabilitet."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:8498
#, fuzzy, no-wrap
msgid ""
"<code>m_settings = Gio::Settings::create(\"org.gtkmm.exampleapp\");\n"
"m_settings-&gt;bind(\"transition\", m_stack-&gt;property_transition_type());\n"
"</code>"
msgstr ""
"\n"
"m_settings = Gio::Settings::create(\"org.gtkmm.exampleapp\");\n"
"m_settings-&gt;bind(\"transition\", m_stack-&gt;property_transition_type());\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:8507
#, fuzzy, no-wrap
msgid ""
"<code>auto tag = buffer-&gt;create_tag();\n"
"m_settings-&gt;bind(\"font\", tag-&gt;property_font());\n"
"buffer-&gt;apply_tag(tag, buffer-&gt;begin(), buffer-&gt;end());\n"
"</code>"
msgstr ""
"\n"
"auto tag = buffer-&gt;create_tag();\n"
"m_settings-&gt;bind(\"font\", tag-&gt;property_font());\n"
"buffer-&gt;apply_tag(tag, buffer-&gt;begin(), buffer-&gt;end());\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:8530
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "auto prefs_dialog = ExampleAppPrefs::create(*get_active_window());\n"
#| "prefs_dialog-&gt;present();\n"
msgid ""
"<code>auto prefs_dialog = ExampleAppPrefs::create(*get_active_window());\n"
"prefs_dialog-&gt;present();\n"
"</code>"
msgstr ""
"\n"
"auto prefs_dialog = ExampleAppPrefs::create(*get_active_window());\n"
"prefs_dialog-&gt;present();\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:8568
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "void ExampleAppWindow::on_search_text_changed()\n"
#| "{\n"
#| " const auto text = m_searchentry-&gt;get_text();\n"
#| " auto tab = dynamic_cast&lt;Gtk::ScrolledWindow*&gt;(m_stack-&gt;get_visible_child());\n"
#| " auto view = dynamic_cast&lt;Gtk::TextView*&gt;(tab-&gt;get_child());\n"
#| "\n"
#| " // Very simple-minded search implementation.\n"
#| " auto buffer = view-&gt;get_buffer();\n"
#| " Gtk::TextIter match_start;\n"
#| " Gtk::TextIter match_end;\n"
#| " if (buffer-&gt;begin().forward_search(text, Gtk::TextSearchFlags::CASE_INSENSITIVE,\n"
#| " match_start, match_end))\n"
#| " {\n"
#| " buffer-&gt;select_range(match_start, match_end);\n"
#| " view-&gt;scroll_to(match_start);\n"
#| " }\n"
#| "}\n"
msgid ""
"<code>void ExampleAppWindow::on_search_text_changed()\n"
"{\n"
" const auto text = m_searchentry-&gt;get_text();\n"
" auto tab = dynamic_cast&lt;Gtk::ScrolledWindow*&gt;(m_stack-&gt;get_visible_child());\n"
" auto view = dynamic_cast&lt;Gtk::TextView*&gt;(tab-&gt;get_child());\n"
"\n"
" // Very simple-minded search implementation.\n"
" auto buffer = view-&gt;get_buffer();\n"
" Gtk::TextIter match_start;\n"
" Gtk::TextIter match_end;\n"
" if (buffer-&gt;begin().forward_search(text, Gtk::TextSearchFlags::CASE_INSENSITIVE,\n"
" match_start, match_end))\n"
" {\n"
" buffer-&gt;select_range(match_start, match_end);\n"
" view-&gt;scroll_to(match_start);\n"
" }\n"
"}\n"
"</code>"
msgstr ""
"\n"
"void ExampleAppWindow::on_search_text_changed()\n"
"{\n"
" const auto text = m_searchentry-&gt;get_text();\n"
" auto tab = dynamic_cast&lt;Gtk::ScrolledWindow*&gt;(m_stack-&gt;get_visible_child());\n"
" auto view = dynamic_cast&lt;Gtk::TextView*&gt;(tab-&gt;get_child());\n"
"\n"
" // Väldigt enkel sökimplementation.\n"
" auto buffer = view-&gt;get_buffer();\n"
" Gtk::TextIter match_start;\n"
" Gtk::TextIter match_end;\n"
" if (buffer-&gt;begin().forward_search(text, Gtk::TextSearchFlags::CASE_INSENSITIVE,\n"
" match_start, match_end))\n"
" {\n"
" buffer-&gt;select_range(match_start, match_end);\n"
" view-&gt;scroll_to(match_start);\n"
" }\n"
"}\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:8623
#, fuzzy, no-wrap
msgid ""
"<code>// Connect the menu to the MenuButton m_gears, and bind the show-words setting\n"
"// to the win.show-words action and the \"Words\" menu item.\n"
"// (The connection between action and menu item is specified in gears_menu.ui.)\n"
"auto menu_builder = Gtk::Builder::create_from_resource(\"/org/gtkmm/exampleapp/gears_menu.ui\");\n"
"auto menu = menu_builder-&gt;get_object&lt;Gio::MenuModel&gt;(\"menu\");\n"
"m_gears-&gt;set_menu_model(menu);\n"
"add_action(m_settings-&gt;create_action(\"show-words\"));\n"
"</code>"
msgstr ""
"\n"
"// Anslut menyn till MenuButton-knappen m_gears, och bind inställningen show-words\n"
"// till åtgärden win.show-words och menyobjektet ”Words”.\n"
"// (Anslutningen mellan åtgärd och menyobjekt anges i gears_menu.ui.)\n"
"auto menu_builder = Gtk::Builder::create_from_resource(\"/org/gtkmm/exampleapp/gears_menu.ui\");\n"
"auto menu = menu_builder-&gt;get_object&lt;Gio::MenuModel&gt;(\"menu\");\n"
"m_gears-&gt;set_menu_model(menu);\n"
"add_action(m_settings-&gt;create_action(\"show-words\"));\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:8674
#, fuzzy, no-wrap
#| msgid ""
#| "add_action(Gio::PropertyAction::create(\"show-lines\", m_lines-&gt;property_visible()));\n"
#| "m_binding_lines_visible = Glib::Binding::bind_property(m_lines-&gt;property_visible(),\n"
#| " m_lines_label-&gt;property_visible());\n"
#| "\n"
msgid ""
"<code>add_action(Gio::PropertyAction::create(\"show-lines\", m_lines-&gt;property_visible()));\n"
"m_binding_lines_visible = Glib::Binding::bind_property(m_lines-&gt;property_visible(),\n"
" m_lines_label-&gt;property_visible());\n"
"\n"
"</code>"
msgstr ""
"add_action(Gio::PropertyAction::create(\"show-lines\", m_lines-&gt;property_visible()));\n"
"m_binding_lines_visible = Glib::Binding::bind_property(m_lines-&gt;property_visible(),\n"
" m_lines_label-&gt;property_visible());\n"
"\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:8717
#, fuzzy, no-wrap
msgid ""
"<code>Gtk::IconTheme::get_for_display(get_display())-&gt;add_resource_path(\"/org/gtkmm/exampleapp\");\n"
"set_icon_name(\"exampleapp\");\n"
"\n"
"</code>"
msgstr ""
"Gtk::IconTheme::get_for_display(get_display())-&gt;add_resource_path(\"/org/gtkmm/exampleapp\");\n"
"set_icon_name(\"exampleapp\");\n"
"\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: appendix/para
#: C/index-in.docbook:8777
#, fuzzy
msgid ""
"<classname>Glib::RefPtr</classname> is a smartpointer. Specifically, it is a "
"reference-counting smartpointer. You might be familiar with <classname>std::"
"unique_ptr&lt;&gt;</classname> and <classname>std::shared_ptr&lt;&gt;</"
"classname>, which are also smartpointers. In <application>gtkmm</"
"application>-4.0 <classname>Glib::RefPtr&lt;&gt;</classname> is an alias for "
"<classname>std::shared_ptr&lt;&gt;</classname>, which is reference-counting. "
"<classname>Glib::RefPtr&lt;&gt;</classname> was introduced long before there "
"was a reference-counting smartpointer in the <phrase role=\"nowrap\">C++</"
"phrase> Standard Library."
msgstr ""
"<classname>Glib::RefPtr</classname> är en smartpekare. Mer specifikt är det "
"en referensräknande smartpekare. Du kanske är bekant med <classname>std::"
"unique_ptr&lt;&gt;</classname> och <classname>std::shared_ptr&lt;&gt;</"
"classname> vilka också är smartpekare. I <application>gtkmm</"
"application>-4.0 är <classname>Glib::RefPtr&lt;&gt;</classname> ett alias "
"för <classname>std::shared_ptr&lt;&gt;</classname> som är referensräknande. "
"<classname>Glib::RefPtr&lt;&gt;</classname> introducerades långt innan det "
"fanns en referensräknande smartpekare i C++-standardbiblioteket."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:8813
#, fuzzy, no-wrap
msgid ""
"<code>auto refPixbuf = Gdk::Pixbuf::create_from_file(filename);\n"
"auto refPixbuf2 = refPixbuf;\n"
"</code>"
msgstr ""
"\n"
"auto refPixbuf = Gdk::Pixbuf::create_from_file(filnamn);\n"
"auto refPixbuf2 = refPixbuf;\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:8820
#, fuzzy, no-wrap
msgid ""
"<code>std::list&lt;Glib::RefPtr&lt;Gdk::Pixbuf&gt;&gt; listPixbufs;\n"
"auto refPixbuf = Gdk::Pixbuf::create_from_file(filename);\n"
"listPixbufs.push_back(refPixbuf);\n"
"</code>"
msgstr ""
"\n"
"std::list&lt;Glib::RefPtr&lt;Gdk::Pixbuf&gt;&gt; listPixbufs;\n"
"auto refPixbuf = Gdk::Pixbuf::create_from_file(filnamn);\n"
"listPixbufs.push_back(refPixbuf);\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:8831
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "auto refPixbuf = Gdk::Pixbuf::create_from_file(filename);\n"
#| "auto width = refPixbuf-&gt;get_width();\n"
msgid ""
"<code>auto refPixbuf = Gdk::Pixbuf::create_from_file(filename);\n"
"auto width = refPixbuf-&gt;get_width();\n"
"</code>"
msgstr ""
"\n"
"auto refPixbuf = Gdk::Pixbuf::create_from_file(filnamn);\n"
"auto width = refPixbuf-&gt;get_width();\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:8839
#, fuzzy, no-wrap
msgid ""
"<code>auto refPixbuf = Gdk::Pixbuf::create_from_file(filename);\n"
"auto&amp; underlying = *refPixbuf; // Possible, but not recommended\n"
"</code>"
msgstr ""
"\n"
"auto refPixbuf = Gdk::Pixbuf::create_from_file(filnamn);\n"
"auto&amp; underlying = *refPixbuf; // Möjligt, men rekommenderas inte\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:8850
#, fuzzy, no-wrap
msgid ""
"<code>auto refStore = Gtk::TreeStore::create(columns);\n"
"Glib::RefPtr&lt;Gtk::TreeModel&gt; refModel = refStore;\n"
"</code>"
msgstr ""
"\n"
"auto refStore = Gtk::TreeStore::create(columns);\n"
"Glib::RefPtr&lt;Gtk::TreeModel&gt; refModel = refStore;\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:8860
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "auto refStore = std::dynamic_pointer_cast&lt;Gtk::TreeStore&gt;(refModel);\n"
#| "auto refStore2 = std::static_pointer_cast&lt;Gtk::TreeStore&gt;(refModel);\n"
msgid ""
"<code>auto refStore = std::dynamic_pointer_cast&lt;Gtk::TreeStore&gt;(refModel);\n"
"auto refStore2 = std::static_pointer_cast&lt;Gtk::TreeStore&gt;(refModel);\n"
"</code>"
msgstr ""
"\n"
"auto refStore = std::dynamic_pointer_cast&lt;Gtk::TreeStore&gt;(refModel);\n"
"auto refStore2 = std::static_pointer_cast&lt;Gtk::TreeStore&gt;(refModel);\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:8871
#, fuzzy, no-wrap
msgid ""
"<code>auto refModel = m_TreeView.get_model();\n"
"if (refModel)\n"
"{\n"
" auto cols_count = refModel-&gt;get_n_columns();\n"
" ...\n"
"}\n"
"</code>"
msgstr ""
"\n"
"auto refModel = m_TreeView.get_model();\n"
"if (refModel)\n"
"{\n"
" auto cols_count = refModel-&gt;get_n_columns();\n"
" ...\n"
"}\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:8886
#, fuzzy
msgid ""
"The use of the <literal>const</literal> keyword in <phrase role=\"nowrap\">C+"
"+</phrase> is not always clear. You might not realize that <type>const "
"Something*</type> declares a pointer to a <type>const Something</type>. The "
"pointer can be changed, but not the <type>Something</type> that it points to."
msgstr ""
"Användningen av nyckelordet <literal>const</literal> i C++ är inte alltid "
"tydlig. Du kanske inte inser att <type>const Something*</type> deklarerar en "
"pekare till ett <type>const Something</type>. Pekaren kan ändras, men inte "
"<type>Something</type> som den pekar på."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:8929
#, fuzzy, no-wrap
msgid ""
"<code>\n"
"#include &lt;gtkmm/button.h&gt;\n"
"\n"
"void on_button_clicked()\n"
"{\n"
" std::cout &lt;&lt; \"Hello World\" &lt;&lt; std::endl;\n"
"}\n"
"\n"
"class some_class\n"
"{\n"
"public:\n"
" some_class\n"
" {\n"
" button.signal_clicked().connect(sigc::ptr_fun(&amp;on_button_clicked));\n"
" }\n"
"private:\n"
" Gtk::Button button {\"Hello World\"};\n"
"};\n"
"</code>"
msgstr ""
"\n"
"#include &lt;gtkmm/button.h&gt;\n"
"\n"
"void on_button_clicked()\n"
"{\n"
" std::cout &lt;&lt; \"Hej världen\" &lt;&lt; std::endl;\n"
"}\n"
"\n"
"class some_class\n"
"{\n"
"public:\n"
" some_class\n"
" {\n"
" button.signal_clicked().connect(sigc::ptr_fun(&amp;on_button_clicked));\n"
" }\n"
"private:\n"
" Gtk::Button button {\"Hej världen\"};\n"
"};\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:8982
#, fuzzy, no-wrap
msgid ""
"<code> ...\n"
" button.signal_clicked().connect(sigc::ptr_fun(&amp;on_button_clicked));\n"
" ...\n"
"</code>"
msgstr ""
"\n"
" ...\n"
" button.signal_clicked().connect(sigc::ptr_fun(&amp;on_button_clicked));\n"
" ...\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:9003
#, fuzzy
msgid ""
"A <phrase role=\"nowrap\">C++</phrase> lambda expression is a functor which "
"can be implicitly converted to a <classname>sigc::slot</classname> in the "
"call to <methodname>connect()</methodname>. A lambda expression can be used "
"instead of <function>sigc::ptr_fun()</function>. It's also possible to use a "
"lambda expression instead of <function>sigc::mem_fun()</function>, but then "
"you won't get automatic disconnection of the signal handler when a "
"<classname>sigc::trackable</classname>-derived object goes out of scope."
msgstr ""
"Ett C++-lambdauttryck är en funktor som kan implicit konverteras till en "
"<classname>sigc::slot</classname> i anropet till <methodname>connect()</"
"methodname>. Ett lambdauttryck kan användas i stället för <function>sigc::"
"ptr_fun()</function>. Det är också möjligt att använda ett lambdauttryck i "
"stället för <function>sigc::mem_fun()</function>, men då kommer du inte få "
"automatisk frånkoppling av signalhanteraren då ett <classname>sigc::"
"trackable</classname>-härlett objekt lämnar sin räckvidd."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:9016
#, fuzzy, no-wrap
msgid ""
"<code>\n"
"#include &lt;gtkmm/button.h&gt;\n"
"\n"
"void on_button_clicked()\n"
"{\n"
" std::cout &lt;&lt; \"Hello World\" &lt;&lt; std::endl;\n"
"}\n"
"\n"
"class some_class\n"
"{\n"
"public:\n"
" some_class\n"
" {\n"
" button.signal_clicked().connect(sigc::ptr_fun(&amp;on_button_clicked));\n"
" button.signal_clicked().connect(sigc::mem_fun(*this, &amp;some_class::on_button_clicked));\n"
" }\n"
" void on_button_clicked();\n"
"private:\n"
" Gtk::Button button {\"Hello World\"};\n"
"};\n"
"</code>"
msgstr ""
"\n"
"#include &lt;gtkmm/button.h&gt;\n"
"\n"
"void on_button_clicked()\n"
"{\n"
" std::cout &lt;&lt; \"Hej världen\" &lt;&lt; std::endl;\n"
"}\n"
"\n"
"class some_class\n"
"{\n"
"public:\n"
" some_class\n"
" {\n"
" button.signal_clicked().connect(sigc::ptr_fun(&amp;on_button_clicked));\n"
" button.signal_clicked().connect(sigc::mem_fun(*this, &amp;some_class::on_button_clicked));\n"
" }\n"
" void on_button_clicked();\n"
"private:\n"
" Gtk::Button button {\"Hej världen\"};\n"
"};\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:9077
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "Glib::SignalProxy&lt;bool(Gtk::DirectionType)&gt; signal_focus()\n"
msgid ""
"<code>Glib::SignalProxy&lt;bool(Gtk::DirectionType)&gt; signal_focus()\n"
"</code>"
msgstr ""
"\n"
"Glib::SignalProxy&lt;bool(Gtk::DirectionType)&gt; signal_focus()\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:9094
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "Glib::SignalProxy&lt;void(TextBuffer::iterator&amp;, const Glib::ustrin&amp;, int)&gt; signal_insert();\n"
msgid ""
"<code>Glib::SignalProxy&lt;void(TextBuffer::iterator&amp;, const Glib::ustrin&amp;, int)&gt; signal_insert();\n"
"</code>"
msgstr ""
"\n"
"Glib::SignalProxy&lt;void(TextBuffer::iterator&amp;, const Glib::ustrin&amp;, int)&gt; signal_insert();\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:9104
#, fuzzy, no-wrap
msgid ""
"<code>void on_insert(TextBuffer::iterator&amp; pos, const Glib::ustring&amp; text, int bytes)\n"
"</code>"
msgstr ""
"\n"
"void on_insert(TextBuffer::iterator&amp; pos, const Glib::ustring&amp; text, int bytes)\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:9115
#, fuzzy, no-wrap
msgid ""
"<code>sigc::connection signal&lt;void(int)&gt;::connect(const sigc::slot&lt;void(int)&gt;&amp;);\n"
"</code>"
msgstr ""
"\n"
"sigc::connection signal&lt;void(int)&gt;::connect(const sigc::slot&lt;void(int)&gt;&amp;);\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:9156
#, fuzzy, no-wrap
msgid ""
"<code>#include &lt;gtkmm/button.h&gt;\n"
"\n"
"class OverriddenButton : public Gtk::Button\n"
"{\n"
"protected:\n"
" void on_clicked() override;\n"
"}\n"
"\n"
"void OverriddenButton::on_clicked()\n"
"{\n"
" std::cout &lt;&lt; \"Hello World\" &lt;&lt; std::endl;\n"
"\n"
" // call the base class's version of the method:\n"
" Gtk::Button::on_clicked();\n"
"}\n"
"</code>"
msgstr ""
"\n"
"#include &lt;gtkmm/button.h&gt;\n"
"\n"
"class OverriddenButton : public Gtk::Button\n"
"{\n"
"protected:\n"
" void on_clicked() override;\n"
"}\n"
"\n"
"void OverriddenButton::on_clicked()\n"
"{\n"
" std::cout &lt;&lt; \"Hej världen\" &lt;&lt; std::endl;\n"
"\n"
" // anropa basklassens version av metoden:\n"
" Gtk::Button::on_clicked();\n"
"}\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:9200
#, fuzzy
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 "
"instance, you might want to know which button was clicked. You can do this "
"with <function>sigc::bind()</function>. Here's some code from the <link "
"linkend=\"sec-helloworld2\">helloworld2</link> example."
msgstr ""
"Om du använder en signalhanterare för att fånga samma signal från flera "
"komponenter kan du vilja att den signalhanteraren erhåller lite extra "
"information. Till exempel kan du vilja veta vilken knapp som klickades på. "
"Du kan göra detta med <function>sigc::bind()</function>. Här är lite kod "
"från <link linkend=\"sec-helloworld2\">helloworld2</link>-exemplet. <_:"
"programlisting-1/> Detta säger att vi vill att signalen ska skicka ett extra "
"<classname>Glib::ustring</classname>-argument till signalhanteraren, och att "
"värdet på det argumentet ska vara ”button 1”. Vi kommer givetvis behöva "
"lägga till det extra argumentet till deklarationen för vår signalhanterare: "
"<_:programlisting-2/> En vanlig ”clicked”-signalhanterare skulle förstås "
"inte ha några argument."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:9206
#, fuzzy, no-wrap
msgid ""
"<code>m_button1.signal_clicked().connect(sigc::bind(sigc::mem_fun(*this, &amp;HelloWorld::on_button_clicked), \"button 1\"));\n"
"</code>"
msgstr ""
"\n"
"m_button1.signal_clicked().connect(sigc::bind(sigc::mem_fun(*this, &amp;HelloWorld::on_button_clicked), \"knapp 1\"));\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:9213
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "void on_button_clicked(const Glib::ustring&amp; data);\n"
msgid ""
"<code>void on_button_clicked(const Glib::ustring&amp; data);\n"
"</code>"
msgstr ""
"\n"
"void on_button_clicked(const Glib::ustring&amp; data);\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:9265
#, fuzzy, no-wrap
msgid ""
"<code>void on_button_press(int n_press, double x, double y);\n"
"Gtk::Button button(\"label\");\n"
"auto controller = Gtk::GestureClick::create();\n"
"controller-&gt;set_propagation_phase(Gtk::PropagationPhase::CAPTURE);\n"
"controller-&gt;signal_pressed().connect(sigc::ptr_fun(&amp;on_button_press));\n"
"button.add_controller(controller);\n"
"</code>"
msgstr ""
"\n"
"void on_button_press(int n_press, double x, double y);\n"
"Gtk::Button button(\"label\");\n"
"auto controller = Gtk::GestureClick::create();\n"
"controller-&gt;set_propagation_phase(Gtk::PropagationPhase::CAPTURE);\n"
"controller-&gt;signal_pressed().connect(sigc::ptr_fun(&amp;on_button_press));\n"
"button.add_controller(controller);\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:9297
#, fuzzy, no-wrap
msgid ""
"<code>key_controller-&gt;signal_key_pressed().connect(sigc::ptr_fun(&amp;on_mywindow_key_pressed), false);\n"
"</code>"
msgstr ""
"\n"
"key_controller-&gt;signal_key_pressed().connect(sigc::ptr_fun(&amp;on_mywindow_key_pressed), false);\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:9317
#, fuzzy
msgid ""
"When a program is aborted because of an unhandled <phrase role=\"nowrap\">C+"
"+</phrase> exception, it's sometimes possible to use a debugger to find the "
"location where the exception was thrown. This is more difficult than usual "
"if the exception was thrown from a signal handler."
msgstr ""
"När ett program avbryts på grund av ett ohanterat C++-undantag är det ibland "
"möjligt att använda en felsökare för att hitta platsen där undantaget "
"kastades. Detta är svårare än vanligt om undantaget kastades från en "
"signalhanterare."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:9330
#, fuzzy, no-wrap
msgid ""
"<code>// without_signal.cc\n"
"#include &lt;gtkmm.h&gt;\n"
"\n"
"bool throwSomething()\n"
"{\n"
" throw \"Something\";\n"
" return true;\n"
"}\n"
"\n"
"int main(int argc, char** argv)\n"
"{\n"
" throwSomething();\n"
" auto app = Gtk::Application::create(\"org.gtkmm.without_signal\");\n"
" return app-&gt;run();\n"
"}\n"
"</code>"
msgstr ""
"\n"
"// without_signal.cc\n"
"#include &lt;gtkmm.h&gt;\n"
"\n"
"bool throwSomething()\n"
"{\n"
" throw \"Something\";\n"
" return true;\n"
"}\n"
"\n"
"int main(int argc, char** argv)\n"
"{\n"
" throwSomething();\n"
" auto app = Gtk::Application::create(\"org.gtkmm.without_signal\");\n"
" return app-&gt;run();\n"
"}\n"

# (pofilter) accelerators: Added accelerator '_'
# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:9346
#, fuzzy
msgid ""
"Here is an excerpt from a <application>gdb</application> session. Only the "
"most interesting parts of the output are shown."
msgstr ""
"Här är ett utdrag från en <application>gdb</application>-session. Endast de "
"mest intressanta delarna av utmatningen visas. <_:programlisting-1/> Du kan "
"se att undantaget kastades från <filename>without_signal.cc</filename>, rad "
"6 (<code>throw \"Something\";</code>)."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:9350
#, fuzzy, no-wrap
msgid ""
"<code>&gt; gdb without_signal\n"
"(gdb) run\n"
"terminate called after throwing an instance of 'char const*'\n"
"\n"
"Program received signal SIGABRT, Aborted.\n"
"(gdb) backtrace\n"
"#7 0x08048864 in throwSomething () at without_signal.cc:6\n"
"#8 0x0804887d in main (argc=1, argv=0xbfffecd4) at without_signal.cc:12\n"
"</code>"
msgstr ""
"\n"
"&gt; gdb without_signal\n"
"(gdb) run\n"
"terminate called after throwing an instance of 'char const*'\n"
"\n"
"Program received signal SIGABRT, Aborted.\n"
"(gdb) backtrace\n"
"#7 0x08048864 in throwSomething () at without_signal.cc:6\n"
"#8 0x0804887d in main (argc=1, argv=0xbfffecd4) at without_signal.cc:12\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:9359
#, fuzzy
msgid ""
"You can see that the exception was thrown from <filename>without_signal.cc</"
"filename>, line 6 (<code>throw \"Something\";</code>)."
msgstr ""
"Här är ett utdrag från en <application>gdb</application>-session. Endast de "
"mest intressanta delarna av utmatningen visas. <_:programlisting-1/> Du kan "
"se att undantaget kastades från <filename>without_signal.cc</filename>, rad "
"6 (<code>throw \"Something\";</code>)."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:9366
#, fuzzy, no-wrap
msgid ""
"<code>// with_signal.cc\n"
"#include &lt;gtkmm.h&gt;\n"
"\n"
"bool throwSomething()\n"
"{\n"
" throw \"Something\";\n"
" return true;\n"
"}\n"
"\n"
"int main(int argc, char** argv)\n"
"{\n"
" Glib::signal_timeout().connect(sigc::ptr_fun(throwSomething), 500);\n"
" auto app = Gtk::Application::create(\"org.gtkmm.with_signal\");\n"
" app-&gt;hold();\n"
" return app-&gt;run();\n"
"}\n"
"</code>"
msgstr ""
"\n"
"// with_signal.cc\n"
"#include &lt;gtkmm.h&gt;\n"
"\n"
"bool throwSomething()\n"
"{\n"
" throw \"Something\";\n"
" return true;\n"
"}\n"
"\n"
"int main(int argc, char** argv)\n"
"{\n"
" Glib::signal_timeout().connect(sigc::ptr_fun(throwSomething), 500);\n"
" auto app = Gtk::Application::create(\"org.gtkmm.with_signal\");\n"
" app-&gt;hold();\n"
" return app-&gt;run();\n"
"}\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:9386
#, fuzzy, no-wrap
msgid ""
"<code>&gt; gdb with_signal\n"
"(gdb) run\n"
"(with_signal:2703): glibmm-ERROR **:\n"
"unhandled exception (type unknown) in signal handler\n"
"\n"
"Program received signal SIGTRAP, Trace/breakpoint trap.\n"
"(gdb) backtrace\n"
"#2 0x0063c6ab in glibmm_unexpected_exception () at exceptionhandler.cc:77\n"
"#3 Glib::exception_handlers_invoke () at exceptionhandler.cc:150\n"
"#4 0x0063d370 in glibmm_source_callback (data=0x804d620) at main.cc:212\n"
"#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"
"</code>"
msgstr ""
"\n"
"&gt; gdb with_signal\n"
"(gdb) run\n"
"(with_signal:2703): glibmm-ERROR **:\n"
"unhandled exception (type unknown) in signal handler\n"
"\n"
"Program received signal SIGTRAP, Trace/breakpoint trap.\n"
"(gdb) backtrace\n"
"#2 0x0063c6ab in glibmm_unexpected_exception () at exceptionhandler.cc:77\n"
"#3 Glib::exception_handlers_invoke () at exceptionhandler.cc:150\n"
"#4 0x0063d370 in glibmm_source_callback (data=0x804d620) at main.cc:212\n"
"#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"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:9399
#, fuzzy
msgid ""
"The exception is caught in <application>glibmm</application>, and the "
"program ends with a call to <function>g_error()</function>. Other exceptions "
"may result in different behavior, but in any case the exception from a "
"signal handler is caught in <application>glibmm</application> or "
"<application>gtkmm</application>, and <application>gdb</application> can't "
"see where it was thrown."
msgstr ""
"Och här kommer ett utdrag från en <application>gdb</application>-session. <_:"
"programlisting-1/> Undantaget fångas i <application>glibmm</application> och "
"programmet avslutas med ett anrop till <function>g_error()</function>. Andra "
"undantag kan resultera i annat beteenden, men i vilket fall fångas "
"undantaget från en signalhanterare i <application>glibmm</application> eller "
"<application>gtkmm</application>, och <application>gdb</application> kan "
"inte se var det kastades."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:9409
#, fuzzy, no-wrap
msgid ""
"<code>&gt; gdb with_signal\n"
"(gdb) catch throw\n"
"Catchpoint 1 (throw)\n"
"(gdb) run\n"
"Catchpoint 1 (exception thrown), 0x00714ff0 in __cxa_throw ()\n"
"(gdb) backtrace\n"
"#0 0x00714ff0 in __cxa_throw () from /usr/lib/i386-linux-gnu/libstdc++.so.6\n"
"#1 0x08048bd4 in throwSomething () at with_signal.cc:6\n"
"(gdb) continue\n"
"Continuing.\n"
"(with_signal:2375): glibmm-ERROR **\n"
"unhandled exception (type unknown) in signal handler\n"
"\n"
"Program received signal SIGTRAP, Trace/breakpoint trap.\n"
"</code>"
msgstr ""
"\n"
"&gt; gdb with_signal\n"
"(gdb) catch throw\n"
"Catchpoint 1 (throw)\n"
"(gdb) run\n"
"Catchpoint 1 (exception thrown), 0x00714ff0 in __cxa_throw ()\n"
"(gdb) backtrace\n"
"#0 0x00714ff0 in __cxa_throw () from /usr/lib/i386-linux-gnu/libstdc++.so.6\n"
"#1 0x08048bd4 in throwSomething () at with_signal.cc:6\n"
"(gdb) continue\n"
"Continuing.\n"
"(with_signal:2375): glibmm-ERROR **\n"
"unhandled exception (type unknown) in signal handler\n"
"\n"
"Program received signal SIGTRAP, Trace/breakpoint trap.\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:9424
#, fuzzy
msgid ""
"If there are many caught exceptions before the interesting uncaught one, "
"this method can be tedious. It can be automated with the following "
"<application>gdb</application> commands."
msgstr ""
"Om det finns många fångade undantag innan det intressanta ofångade så kan "
"denna metod vara långrandig. Den kan automatiseras med följande "
"<application>gdb</application>-kommandon. <_:programlisting-1/> Dessa "
"kommandon kommer skriva ut ett bakåtspår från varje <code>throw</code> och "
"fortsätta. Bakåtspåret från den sista (eller möjligen den näst sista) "
"<code>throw</code> innan programmet stoppar är den som är intressant."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:9429
#, fuzzy, no-wrap
msgid ""
"<code>(gdb) catch throw\n"
"(gdb) commands\n"
"(gdb) backtrace\n"
"(gdb) continue\n"
"(gdb) end\n"
"(gdb) set pagination off\n"
"(gdb) run\n"
"</code>"
msgstr ""
"\n"
"(gdb) catch throw\n"
"(gdb) commands\n"
"(gdb) backtrace\n"
"(gdb) continue\n"
"(gdb) end\n"
"(gdb) set pagination off\n"
"(gdb) run\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:9437
#, fuzzy
msgid ""
"These commands will print a backtrace from each <code>throw</code> and "
"continue. The backtrace from the last (or possibly the last but one) "
"<code>throw</code> before the program stops, is the interesting one."
msgstr ""
"Om det finns många fångade undantag innan det intressanta ofångade så kan "
"denna metod vara långrandig. Den kan automatiseras med följande "
"<application>gdb</application>-kommandon. <_:programlisting-1/> Dessa "
"kommandon kommer skriva ut ett bakåtspår från varje <code>throw</code> och "
"fortsätta. Bakåtspåret från den sista (eller möjligen den näst sista) "
"<code>throw</code> innan programmet stoppar är den som är intressant."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: appendix/para
#: C/index-in.docbook:9454
#, fuzzy
msgid ""
"This isn't purely a <application>gtkmm</application> or GUI issue. "
"<application>gtkmm</application> uses <application>libsigc++</application> "
"to implement its proxy wrappers for the <application>GTK</application> "
"signal system, but for new, non-GTK signals, you can create pure <phrase "
"role=\"nowrap\">C++</phrase> signals, using the <classname>sigc::signal&lt;"
"&gt;</classname> template."
msgstr ""
"Detta är inte ett rent <application>gtkmm</application>- eller GUI-problem. "
"<application>gtkmm</application> använder <application>libsigc++</"
"application> för att implementera sina proxyomslag för <application>GTK</"
"application>-signalsystemet, men för nya, icke-GTK-signaler kan du skapa "
"rena C++-signaler med mallen <classname>sigc::signal&lt;&gt;</classname>."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: appendix/programlisting
#: C/index-in.docbook:9466
#, fuzzy, no-wrap
msgid ""
"<code>sigc::signal&lt;void(bool, int)&gt; signal_something;\n"
"</code>"
msgstr ""
"\n"
"sigc::signal&lt;void(bool, int)&gt; signal_something;\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: appendix/programlisting
#: C/index-in.docbook:9473
#, fuzzy, no-wrap
msgid ""
"<code>class Server\n"
"{\n"
"public:\n"
" //signal accessor:\n"
" using type_signal_something = sigc::signal&lt;void(bool, int)&gt;;\n"
" type_signal_something signal_something();\n"
"\n"
"protected:\n"
" type_signal_something m_signal_something;\n"
"};\n"
"\n"
"Server::type_signal_something Server::signal_something()\n"
"{\n"
" return m_signal_something;\n"
"}\n"
"</code>"
msgstr ""
"\n"
"class Server\n"
"{\n"
"public:\n"
" //signal accessor:\n"
" using type_signal_something = sigc::signal&lt;void(bool, int)&gt;;\n"
" type_signal_something signal_something();\n"
"\n"
"protected:\n"
" type_signal_something m_signal_something;\n"
"};\n"
"\n"
"Server::type_signal_something Server::signal_something()\n"
"{\n"
" return m_signal_something;\n"
"}\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: appendix/programlisting
#: C/index-in.docbook:9494
#, fuzzy, no-wrap
msgid ""
"<code>server.signal_something().connect(\n"
" sigc::mem_fun(client, &amp;Client::on_server_something) );\n"
"</code>"
msgstr ""
"\n"
"server.signal_something().connect(\n"
" sigc::mem_fun(client, &amp;Client::on_server_something) );\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: appendix/para
#: C/index-in.docbook:9529
#, fuzzy
msgid ""
"<application>gtkmm</application> signal handlers are strongly-typed, whereas "
"<application>GTK</application> C code allows you to connect a callback with "
"the wrong number and type of arguments, leading to a segfault at runtime. "
"And, unlike <application>Qt</application>, <application>gtkmm</application> "
"achieves this without modifying the <phrase role=\"nowrap\">C++</phrase> "
"language."
msgstr ""
"<application>gtkmm</application>-signalhanterare är starkt typade, medan "
"<application>GTK</application>:s C-kod låter dig ansluta ett återanrop med "
"fel antal och typ av argument, vilket leder till ett segmenteringsfel vid "
"körning. Till skillnad från <application>Qt</application> åstadkommer även "
"<application>gtkmm</application> detta utan att C++-språket."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: appendix/para
#: C/index-in.docbook:9535
#, fuzzy
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 "
"through some complicated procedures to get object-oriented features like "
"inheritance and overloading. In <phrase role=\"nowrap\">C++</phrase>, it's "
"simple, since those features are supported in the language itself; you can "
"let the compiler do the dirty work."
msgstr ""
"Angående åsidosättning av signalhanterare: Du kan göra detta även i GTK:s "
"rena C-värld; det är vad GTK:s objektsystem är till för. Men i GTK måste du "
"gå igenom några komplicerade procedurer frå att få objektorienterade "
"funktioner som arv och överlagring. I C++ är det enkelt, då dessa funktioner "
"stöds i själva språket, du kan låta kompilatorn göra det tunga arbetet."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: appendix/para
#: C/index-in.docbook:9543
#, fuzzy
msgid ""
"This is one of the places where the beauty of <phrase role=\"nowrap\">C++</"
"phrase> really comes out. One wouldn't think of subclassing a GTK widget "
"simply to override its action method; it's just too much trouble. In GTK, "
"you almost always use signals to get things done, unless you're writing a "
"new widget. But because overriding methods is so easy in <phrase "
"role=\"nowrap\">C++</phrase>, it's entirely practical - and sensible - to "
"subclass a button for that purpose."
msgstr ""
"Det här är en av platserna där skönheten i C++ verkligen visar sig. Ingen "
"skulle tänka sig att underklassa en GTK-komponent för att helt enkelt "
"åsidosätta dess åtgärdsmetod; det är för mycket jobb. I GTK skulle du nästan "
"alltid använda signaler för att få saker gjorda om du inte skriver en ny "
"komponent. Men eftersom det är så lätt att åsidosätta metoder i C++ så är "
"det fullt praktiskt - och sansat - att underklassa en knapp för det syftet."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: appendix/para
#: C/index-in.docbook:9560
#, fuzzy
msgid ""
"<application>gtkmm</application> currently works with the <link xlink:"
"href=\"http://mingw.org/\">MinGW/GCC compiler</link> with a compiler version "
"that supports <phrase role=\"nowrap\">C++17</phrase>, such as gcc 7 or "
"later. It also works with Microsoft Visual <phrase role=\"nowrap\">C++</"
"phrase> 2017 15.7.x or later (including the freely available express/"
"community editions) on the Windows platform. There is an <link xlink:"
"href=\"https://download.gnome.org/binaries/win32/gtkmm\">installer</link> "
"available for <application>gtkmm</application> on Microsoft Windows, but as "
"of this writing (December 2024) it only contains an installer for gtkmm2. "
"Please be aware that although normally it is fine to mix builds done with "
"Visual Studio 2017 and 2019, please do not do so when building "
"<application>gtkmm</application> with its -mm dependencies."
msgstr ""
"<application>gtkmm</application> fungerar för närvarande med <link xlink:"
"href=\"http://mingw.org/\">MinGW/GCC-kompilatorn</link> med en "
"kompilatorversion som stöder C++17, som gcc 7 eller 8. Det fungerar också "
"med Microsoft Visual C++ 2017 15.7.x eller senare (inklusive de gratis "
"tillgängliga express/community-utgåvorna) på Windows-plattformen. Det finns "
"en <link xlink:href=\"ftp://ftp.gnome.org/pub/GNOME/binaries/win32/"
"gtkmm\">installerare</link> tillgänglig för <application>gtkmm</application> "
"på Microsoft Windows, men i skrivande stund (oktober 2020) har den inte "
"uppdaterats på länge. Var medveten om att även om det vanligen är lugnt att "
"blanda byggen som gjorts med Visual Studio 2017 och 2019, så gör inte det "
"när du bygger <application>gtkmm</application> med dess -mm-beroenden."

# (pofilter) accelerators: Accelerator '_' occurs 2 time(s) in original and 1 time(s) in translation
# (pofilter) xmltags: Different XML tags
#. (itstool) path: listitem/para
#: C/index-in.docbook:9590
#, fuzzy
#| msgid ""
#| "Refer to the <link xlink:href=\"https://gitlab.gnome.org/GNOME/gtkmm/tree/"
#| "master/README.win32\">README.win32</link>, as well as the <link xlink:"
#| "href=\"https://gitlab.gnome.org/GNOME/gtkmm/tree/master/MSVC_NMake/"
#| "README\">README</link> files in the <application>gtkmm</application>, "
#| "pangomm and glibmm for instructions on how to build <application>gtkmm</"
#| "application> on Windows."
msgid ""
"gtkmm: <link xlink:href=\"https://gitlab.gnome.org/GNOME/gtkmm/tree/master/"
"README.win32.md\">README.win32.md</link>, <link xlink:href=\"https://gitlab."
"gnome.org/GNOME/gtkmm/tree/master/MSVC_NMake/README\">MSVC_NMake/README</"
"link>"
msgstr ""
"Se <link xlink:href=\"https://gitlab.gnome.org/GNOME/gtkmm/tree/master/"
"README.win32\">README.win32</link> såväl som <link xlink:href=\"https://"
"gitlab.gnome.org/GNOME/gtkmm/tree/master/MSVC_NMake/README\">README</link>-"
"filerna i <application>gtkmm</application>, pangomm och glibmm för "
"instruktioner om hur du bygger <application>gtkmm</application> på Windows."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:9646
#, fuzzy, no-wrap
#| msgid "moduleset = 'gnome-suites-core-deps-latest'"
msgid "<code>moduleset = 'gnome-suites-core-deps-latest'</code>"
msgstr "moduleset = 'gnome-suites-core-deps-latest'"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:9653
#, fuzzy, no-wrap
#| msgid "modules = [ 'gtkmm' ]"
msgid "<code>modules = [ 'gtkmm' ]</code>"
msgstr "modules = [ 'gtkmm' ]"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:9800
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| " $ git clone https://gitlab.gnome.org/GNOME/mm-common.git\n"
#| " $ cp -a mm-common/skeletonmm libsomethingmm\n"
msgid ""
"<code> $ git clone https://gitlab.gnome.org/GNOME/mm-common.git\n"
" $ cp -a mm-common/skeletonmm libsomethingmm\n"
"</code>"
msgstr ""
"\n"
" $ git clone https://gitlab.gnome.org/GNOME/mm-common.git\n"
" $ cp -a mm-common/skeletonmm libsomethingmm\n"

# (pofilter) xmltags: Added XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:9822
#, fuzzy
msgid ""
"As well as renaming the directories, we should rename some of the source "
"files. For instance:"
msgstr ""
"Såväl som att byta namn på katalogerna så bör vi byta namn på några av "
"källfilerna. Till exempel: <_:programlisting-1/> Ett antal av skelettfilerna "
"måste fortfarande fyllas i med projektspecifikt innehåll senare."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:9824
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "$ for f in $(find libsomethingmm -depth -name '*skeleton*'); do \\\n"
#| " d=\"${f%/*}\"; b=\"${f##*/}\"; mv \"$f\" \"$d/${b//skeleton/libsomething}\"; \\\n"
#| " done\n"
msgid ""
"<code>$ for f in $(find libsomethingmm -depth -name '*skeleton*'); do \\\n"
" d=\"${f%/*}\"; b=\"${f##*/}\"; mv \"$f\" \"$d/${b//skeleton/libsomething}\"; \\\n"
" done\n"
"</code>"
msgstr ""
"\n"
"$ for f in $(find libsomethingmm -depth -name '*skeleton*'); do \\\n"
" d=\"${f%/*}\"; b=\"${f##*/}\"; mv \"$f\" \"$d/${b//skeleton/libsomething}\"; \\\n"
" done\n"

# (pofilter) xmltags: Added XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:9828
#, fuzzy
msgid ""
"A number of the skeleton files must still be filled in with project-specific "
"content later."
msgstr ""
"Såväl som att byta namn på katalogerna så bör vi byta namn på några av "
"källfilerna. Till exempel: <_:programlisting-1/> Ett antal av skelettfilerna "
"måste fortfarande fyllas i med projektspecifikt innehåll senare."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: listitem/para
#: C/index-in.docbook:9862
#, fuzzy
#| msgid ""
#| "In the <function>project()</function> function, change the license and "
#| "the C++ version, if necessary."
msgid ""
"In the <function>project()</function> function, change the license and the "
"<phrase role=\"nowrap\">C++</phrase> version, if necessary."
msgstr ""
"Ändra licensen och C++-versionen i <function>project()</function>-funktionen "
"om det behövs."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:9968
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "$ ./h2def.py /usr/include/gtk-4.0/gtk/*.h &gt; gtk_methods.defs\n"
msgid ""
"<code>$ ./h2def.py /usr/include/gtk-4.0/gtk/*.h &gt; gtk_methods.defs\n"
"</code>"
msgstr ""
"\n"
"$ ./h2def.py /usr/include/gtk-4.0/gtk/*.h &gt; gtk_methods.defs\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:9979
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "$ ./enumextract.py /usr/include/gtk-4.0/gtk/*.h &gt; gtk_enums.defs\n"
msgid ""
"<code>$ ./enumextract.py /usr/include/gtk-4.0/gtk/*.h &gt; gtk_enums.defs\n"
"</code>"
msgstr ""
"\n"
"$ ./enumextract.py /usr/include/gtk-4.0/gtk/*.h &gt; gtk_enums.defs\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:9991
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "$ cd tools/extra_defs_gen\n"
#| "$ ./generate_extra_defs &gt; gtk_signals.defs\n"
msgid ""
"<code>$ cd tools/extra_defs_gen\n"
"$ ./generate_extra_defs &gt; gtk_signals.defs\n"
"</code>"
msgstr ""
"\n"
"$ cd tools/extra_defs_gen\n"
"$ ./generate_extra_defs &gt; gtk_signals.defs\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:10004
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "#include &lt;glibmm_generate_extra_defs/generate_extra_defs.h&gt;\n"
#| "#include &lt;libsomething.h&gt;\n"
#| "#include &lt;iostream&gt;\n"
#| "\n"
#| "int main(int, char**)\n"
#| "{\n"
#| " something_init();\n"
#| "\n"
#| " std::cout &lt;&lt; get_defs(SOME_TYPE_WIDGET)\n"
#| " &lt;&lt; get_defs(SOME_TYPE_STUFF);\n"
#| " return 0;\n"
#| "}\n"
msgid ""
"<code>#include &lt;glibmm_generate_extra_defs/generate_extra_defs.h&gt;\n"
"#include &lt;libsomething.h&gt;\n"
"#include &lt;iostream&gt;\n"
"\n"
"int main(int, char**)\n"
"{\n"
" something_init();\n"
"\n"
" std::cout &lt;&lt; get_defs(SOME_TYPE_WIDGET)\n"
" &lt;&lt; get_defs(SOME_TYPE_STUFF);\n"
" return 0;\n"
"}\n"
"</code>"
msgstr ""
"\n"
"#include &lt;glibmm_generate_extra_defs/generate_extra_defs.h&gt;\n"
"#include &lt;libsomething.h&gt;\n"
"#include &lt;iostream&gt;\n"
"\n"
"int main(int, char**)\n"
"{\n"
" something_init();\n"
"\n"
" std::cout &lt;&lt; get_defs(SOME_TYPE_WIDGET)\n"
" &lt;&lt; get_defs(SOME_TYPE_STUFF);\n"
" return 0;\n"
"}\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:10034
#, fuzzy
#| 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()</"
#| "function> and <function>_WRAP_METHOD()</function>, from which "
#| "<command>gmmproc</command> generates appropriate C++ source code, usually "
#| "at the same position in the header. Any additional C++ source code will "
#| "be copied verbatim into the corresponding .h or .cc file."
msgid ""
"The .hg and .ccg source files are very much like .h and .cc <phrase "
"role=\"nowrap\">C++</phrase> source files, but they contain extra macros, "
"such as <function>_CLASS_GOBJECT()</function> and <function>_WRAP_METHOD()</"
"function>, from which <command>gmmproc</command> generates appropriate "
"<phrase role=\"nowrap\">C++</phrase> source code, usually at the same "
"position in the header. Any additional <phrase role=\"nowrap\">C++</phrase> "
"source code will be copied verbatim into the corresponding .h or .cc file."
msgstr ""
".hg- och .ccg-källfilerna är mycket som .h- och .cc-källfiler i C++, men de "
"innehåller extra makron som <function>_CLASS_GOBJECT()</function> och "
"<function>_WRAP_METHOD()</function> från vilka <command>gmmproc</command> "
"genererar lämplig C++-källkod, vanligen på samma plats i huvudet. All "
"ytterligare C++-källkod kommer kopieras som den är i motsvarande .h- eller ."
"cc-fil."

# (pofilter) accelerators: Accelerator '_' occurs 22 time(s) in original and 20 time(s) in translation
# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:10047
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "#include &lt;gtkmm/widget.h&gt;\n"
#| "#include &lt;gtkmm/actionable.h&gt;\n"
#| "_DEFS(gtkmm,gtk)\n"
#| "_PINCLUDE(gtkmm/private/widget_p.h)\n"
#| "\n"
#| "namespace Gtk\n"
#| "{\n"
#| "\n"
#| "class Button\n"
#| " : public Widget,\n"
#| " public Actionable\n"
#| "{\n"
#| " _CLASS_GTKOBJECT(Button, GtkButton, GTK_BUTTON, Gtk::Widget, GtkWidget)\n"
#| " _IMPLEMENTS_INTERFACE(Actionable)\n"
#| "public:\n"
#| "\n"
#| " _CTOR_DEFAULT\n"
#| " explicit Button(const Glib::ustring&amp; label, bool mnemonic = false);\n"
#| "\n"
#| " _WRAP_METHOD(void set_label(const Glib::ustring&amp; label), gtk_button_set_label)\n"
#| "\n"
#| " ...\n"
#| "\n"
#| " _WRAP_SIGNAL(void clicked(), \"clicked\")\n"
#| "\n"
#| " ...\n"
#| "\n"
#| " _WRAP_PROPERTY(\"label\", Glib::ustring)\n"
#| "};\n"
#| "\n"
#| "} // namespace Gtk\n"
msgid ""
"<code>#include &lt;gtkmm/widget.h&gt;\n"
"#include &lt;gtkmm/actionable.h&gt;\n"
"_DEFS(gtkmm,gtk)\n"
"_PINCLUDE(gtkmm/private/widget_p.h)\n"
"\n"
"namespace Gtk\n"
"{\n"
"\n"
"class GTKMM_API Button\n"
" : public Widget,\n"
" public Actionable\n"
"{\n"
" _CLASS_GTKOBJECT(Button, GtkButton, GTK_BUTTON, Gtk::Widget, GtkWidget, , , GTKMM_API)\n"
" _IMPLEMENTS_INTERFACE(Actionable)\n"
"public:\n"
"\n"
" _CTOR_DEFAULT\n"
" explicit Button(const Glib::ustring&amp; label, bool mnemonic = false);\n"
"\n"
" _WRAP_METHOD(void set_label(const Glib::ustring&amp; label), gtk_button_set_label)\n"
"\n"
" ...\n"
"\n"
" _WRAP_SIGNAL(void clicked(), \"clicked\")\n"
"\n"
" ...\n"
"\n"
" _WRAP_PROPERTY(\"label\", Glib::ustring)\n"
"};\n"
"\n"
"} // namespace Gtk\n"
"</code>"
msgstr ""
"\n"
"#include &lt;gtkmm/widget.h&gt;\n"
"#include &lt;gtkmm/actionable.h&gt;\n"
"_DEFS(gtkmm,gtk)\n"
"_PINCLUDE(gtkmm/private/widget_p.h)\n"
"\n"
"namespace Gtk\n"
"{\n"
"\n"
"class Button\n"
" : public Widget,\n"
" public Actionable\n"
"{\n"
" _CLASS_GTKOBJECT(Button, GtkButton, GTK_BUTTON, Gtk::Widget, GtkWidget)\n"
" _IMPLEMENTS_INTERFACE(Actionable)\n"
"public:\n"
"\n"
" _CTOR_DEFAULT\n"
" explicit Button(const Glib::ustring&amp; label, bool mnemonic = false);\n"
"\n"
" _WRAP_METHOD(void set_label(const Glib::ustring&amp; label), gtk_button_set_label)\n"
"\n"
" ...\n"
"\n"
" _WRAP_SIGNAL(void clicked(), \"clicked\")\n"
"\n"
" ...\n"
"\n"
" _WRAP_PROPERTY(\"label\", Glib::ustring)\n"
"};\n"
"\n"
"} // namespace Gtk\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:10113
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "$ cd gtk/src\n"
#| "$ /usr/lib/glibmm-2.68/proc/gmmproc -I ../../tools/m4 --defs . button . ./../gtkmm\n"
msgid ""
"<code>$ cd gtk/src\n"
"$ /usr/lib/glibmm-2.68/proc/gmmproc -I ../../tools/m4 --defs . button . ./../gtkmm\n"
"</code>"
msgstr ""
"\n"
"$ cd gtk/src\n"
"$ /usr/lib/glibmm-2.68/proc/gmmproc -I ../../tools/m4 --defs . button . ./../gtkmm\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:10119
#, fuzzy
msgid ""
"You should avoid including the C header from your <phrase role=\"nowrap\">C+"
"+</phrase> header, to avoid polluting the global namespace, and to avoid "
"exporting unnecessary public API. But you will need to include the necessary "
"C headers from your .ccg file."
msgstr ""
"Du bör undvika att inkludera C-huvudet från ditt C++-huvud, för att undvika "
"att förorena den globala namnrymden, och för att undvika att exportera öppet "
"API i onödan. Men du kommer behöva inkludera de nödvändiga C-huvudena från "
"din .ccg-fil."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:10129
#, fuzzy
msgid ""
"The macros that you use in the .hg and .ccg files often need to know how to "
"convert a <phrase role=\"nowrap\">C++</phrase> type to a C type, or vice-"
"versa. <command>gmmproc</command> takes this information from an .m4 file in "
"your <literal>tools/m4/</literal> or <literal>codegen/m4/</literal> "
"directory. This allows it to call a C function in the implementation of your "
"<phrase role=\"nowrap\">C++</phrase> method, passing the appropriate "
"parameters to that C function. For instance, this tells <command>gmmproc</"
"command> how to convert a <classname>GtkTreeView</classname> pointer to a "
"<classname>Gtk::TreeView</classname> pointer:"
msgstr ""
"Makrona som du använder i .hg- och .ccg-filerna behöver ofta veta hur de ska "
"konvertera en C++-typ till en C-typ och omvänt. <command>gmmproc</command> "
"tar denna information från en .m4-fil i din katalog <literal>tools/m4/</"
"literal> eller <literal>codegen/m4/</literal>. Detta låter det anropa en C-"
"funktion i implementationen av din C++-metod, skickade de lämpliga "
"parametrarna till den C-funktionen. Exempelvis säger det här till "
"<command>gmmproc</command> hur en <classname>GtkTreeView</classname>-pekare "
"konverteras till en <classname>Gtk::TreeView</classname>-pekare:"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:10137
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "_CONVERSION(`GtkTreeView*',`TreeView*',`Glib::wrap($3)')\n"
msgid ""
"<code>_CONVERSION(`GtkTreeView*',`TreeView*',`Glib::wrap($3)')\n"
"</code>"
msgstr ""
"\n"
"_CONVERSION(`GtkTreeView*',`TreeView*',`Glib::wrap($3)')\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:10148
#, fuzzy, no-wrap
msgid ""
"<code>_CONVERSION(`PrintSettings&amp;',`GtkPrintSettings*',__FR2P)\n"
"_CONVERSION(`const PrintSettings&amp;',`GtkPrintSettings*',__FCR2P)\n"
"_CONVERSION(`const Glib::RefPtr&lt;Printer&gt;&amp;',`GtkPrinter*',__CONVERT_REFPTR_TO_P($3))\n"
"</code>"
msgstr ""
"\n"
"_CONVERSION(`PrintSettings&amp;',`GtkPrintSettings*',__FR2P)\n"
"_CONVERSION(`const PrintSettings&amp;',`GtkPrintSettings*',__FCR2P)\n"
"_CONVERSION(`const Glib::RefPtr&lt;Printer&gt;&amp;',`GtkPrinter*',__CONVERT_REFPTR_TO_P($3))\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:10157
#, fuzzy
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 <phrase "
"role=\"nowrap\">C++</phrase> method returns <type>void</type> but an output "
"parameter in which to store the value of the C function is included in the "
"argument list of the <phrase role=\"nowrap\">C++</phrase> method. "
"<command>gmmproc</command> allows such functionality, but appropriate "
"initialization macros must be included to tell <command>gmmproc</command> "
"how to initialize the <phrase role=\"nowrap\">C++</phrase> parameter from "
"the return of the C function."
msgstr ""
"Ofta är det vid omslag av metoder önskvärt att lagra returvärdet för C-"
"funktionen i vad som kallas en utdataparameter. I detta fall returnerar C++-"
"metoden <type>void</type> men en utdataparameter i vilken värdet för C-"
"funktionen ska lagras inkluderas i argumentlistan för C++-metoden. "
"<command>gmmproc</command> tillåter sådan funktionalitet, men lämpliga "
"initieringsmakron måste inkluderas för att säga till <command>gmmproc</"
"command> hur C++-parametern ska initieras från returvärdet på C-funktionen."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:10166
#, fuzzy
msgid ""
"For example, if there was a C function that returned a <type>GtkWidget*</"
"type> and for some reason, instead of having the <phrase role=\"nowrap\">C+"
"+</phrase> method also return the widget, it was desirable to have the "
"<phrase role=\"nowrap\">C++</phrase> method place the widget in a specified "
"output parameter, an initialization macro such as the following would be "
"necessary:"
msgstr ""
"Om det exempelvis fanns en C-funktion som returnerade en <type>GtkWidget*</"
"type> och det av någon anledning i stället för att C++-metoden också "
"returnerar komponenten var önskvärt att C++-metoden placerar komponenten i "
"en angiven utdataparameter, skulle ett initieringsmakro som det följande "
"vara nödvändigt:"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:10173
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "_INITIALIZATION(`Gtk::Widget&amp;',`GtkWidget*',`$3 = Glib::wrap($4)')\n"
msgid ""
"<code>_INITIALIZATION(`Gtk::Widget&amp;',`GtkWidget*',`$3 = Glib::wrap($4)')\n"
"</code>"
msgstr ""
"\n"
"_INITIALIZATION(`Gtk::Widget&amp;',`GtkWidget*',`$3 = Glib::wrap($4)')\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:10176
#, fuzzy
msgid ""
"<literal>$3</literal> will be replaced by the output parameter name of the "
"<phrase role=\"nowrap\">C++</phrase> method and <literal>$4</literal> will "
"be replaced by the return of the C function when this initialization is used "
"by <command>gmmproc</command>. For convenience, <literal>$1</literal> will "
"also be replaced by the <phrase role=\"nowrap\">C++</phrase> type without "
"the ampersand (&amp;) and <literal>$2</literal> will be replaced by the C "
"type."
msgstr ""
"<literal>$3</literal> kommer ersättas med utdataparameternamnet för C++-"
"metoden och <literal>$4</literal> kommer ersättas med returvärdet för C-"
"funktionen när denna initiering används av <command>gmmproc</command>. För "
"bekvämlighets skulle kommer <literal>$1</literal> också ersättas med C++-"
"typen utan et-tecknet (&amp;) och <literal>$2</literal> kommer ersättas med "
"C-typen."

# (pofilter) accelerators: Accelerator '_' occurs 4 time(s) in original and 3 time(s) in translation
# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:10211
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "_CLASS_GOBJECT(Adjustment, GtkAdjustment, GTK_ADJUSTMENT, Glib::Object, GObject)\n"
msgid ""
"<code>_CLASS_GOBJECT(Adjustment, GtkAdjustment, GTK_ADJUSTMENT, Glib::Object, GObject, , , GTKMM_API)\n"
"</code>"
msgstr ""
"\n"
"_CLASS_GOBJECT(Adjustment, GtkAdjustment, GTK_ADJUSTMENT, Glib::Object, GObject)\n"

# (pofilter) accelerators: Accelerator '_' occurs 4 time(s) in original and 3 time(s) in translation
# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:10224
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "_CLASS_GTKOBJECT(Button, GtkButton, GTK_BUTTON, Gtk::Widget, GtkWidget)\n"
msgid ""
"<code>_CLASS_GTKOBJECT(Button, GtkButton, GTK_BUTTON, Gtk::Widget, GtkWidget, , , GTKMM_API)\n"
"</code>"
msgstr ""
"\n"
"_CLASS_GTKOBJECT(Button, GtkButton, GTK_BUTTON, Gtk::Widget, GtkWidget)\n"

# (pofilter) accelerators: Accelerator '_' occurs 7 time(s) in original and 6 time(s) in translation
# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:10248
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "_CLASS_BOXEDTYPE(RGBA, GdkRGBA, NONE, gdk_rgba_copy, gdk_rgba_free)\n"
msgid ""
"<code>_CLASS_BOXEDTYPE(RGBA, GdkRGBA, NONE, gdk_rgba_copy, gdk_rgba_free, GDKMM_API)\n"
"</code>"
msgstr ""
"\n"
"_CLASS_BOXEDTYPE(RGBA, GdkRGBA, NONE, gdk_rgba_copy, gdk_rgba_free)\n"

# (pofilter) accelerators: Accelerator '_' occurs 4 time(s) in original and 3 time(s) in translation
# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:10261
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "_CLASS_BOXEDTYPE_STATIC(Rectangle, GdkRectangle)\n"
msgid ""
"<code>_CLASS_BOXEDTYPE_STATIC(Rectangle, GdkRectangle, GDKMM_API)\n"
"</code>"
msgstr ""
"\n"
"_CLASS_BOXEDTYPE_STATIC(Rectangle, GdkRectangle)\n"

# (pofilter) accelerators: Accelerator '_' occurs 10 time(s) in original and 9 time(s) in translation
# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:10274
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "_CLASS_OPAQUE_COPYABLE(VariantType, GVariantType, NONE, g_variant_type_copy, g_variant_type_free)\n"
msgid ""
"<code>_CLASS_OPAQUE_COPYABLE(VariantType, GVariantType, NONE, g_variant_type_copy, g_variant_type_free, GLIBMM_API)\n"
"</code>"
msgstr ""
"\n"
"_CLASS_OPAQUE_COPYABLE(VariantType, GVariantType, NONE, g_variant_type_copy, g_variant_type_free)\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:10281
#, fuzzy
msgid ""
"This macro declares a wrapper for a reference-counted opaque struct. The "
"<phrase role=\"nowrap\">C++</phrase> wrapper cannot be directly instantiated "
"and can only be used with <classname>Glib::RefPtr</classname>."
msgstr ""
"Detta makro deklarerar ett omslag för en referensräknad ogenomskinlig "
"struct. C++-omslaget kan inte instansieras direkt och kan endast användas "
"med <classname>Glib::RefPtr</classname>."

# (pofilter) accelerators: Accelerator '_' occurs 10 time(s) in original and 9 time(s) in translation
# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:10287
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "_CLASS_OPAQUE_REFCOUNTED(CssSection, GtkCssSection, NONE, gtk_css_section_ref, gtk_css_section_unref)\n"
msgid ""
"<code>_CLASS_OPAQUE_REFCOUNTED(CssSection, GtkCssSection, NONE, gtk_css_section_ref, gtk_css_section_unref, GTKMM_API)\n"
"</code>"
msgstr ""
"\n"
"_CLASS_OPAQUE_REFCOUNTED(CssSection, GtkCssSection, NONE, gtk_css_section_ref, gtk_css_section_unref)\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:10297
#, fuzzy
#| msgid "For instance, for <classname>Gdk::TimeCoord</classname>:"
msgid ""
"Note: No <parameter>declaration prefix</parameter> argument. For instance, "
"for <classname>Gdk::TimeCoord</classname>:"
msgstr "Till exempel, för <classname>Gdk::TimeCoord</classname>:"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:10299
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "_CLASS_GENERIC(TimeCoord, GdkTimeCoord)\n"
msgid ""
"<code>_CLASS_GENERIC(TimeCoord, GdkTimeCoord)\n"
"</code>"
msgstr ""
"\n"
"_CLASS_GENERIC(TimeCoord, GdkTimeCoord)\n"

# (pofilter) accelerators: Accelerator '_' occurs 5 time(s) in original and 4 time(s) in translation
# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:10313
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "_CLASS_INTERFACE(CellEditable, GtkCellEditable, GTK_CELL_EDITABLE, GtkCellEditableIface)\n"
msgid ""
"<code>_CLASS_INTERFACE(CellEditable, GtkCellEditable, GTK_CELL_EDITABLE, GtkCellEditableIface, , , GTKMM_API)\n"
"</code>"
msgstr ""
"\n"
"_CLASS_INTERFACE(CellEditable, GtkCellEditable, GTK_CELL_EDITABLE, GtkCellEditableIface)\n"

# (pofilter) accelerators: Accelerator '_' occurs 5 time(s) in original and 4 time(s) in translation
# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:10321
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "_CLASS_INTERFACE(LoadableIcon, GLoadableIcon, G_LOADABLE_ICON, GLoadableIconIface, Icon, GIcon)\n"
msgid ""
"<code>_CLASS_INTERFACE(LoadableIcon, GLoadableIcon, G_LOADABLE_ICON, GLoadableIconIface, Icon, GIcon, GIOMM_API)\n"
"</code>"
msgstr ""
"\n"
"_CLASS_INTERFACE(LoadableIcon, GLoadableIcon, G_LOADABLE_ICON, GLoadableIconIface, Icon, GIcon)\n"

# (pofilter) accelerators: Accelerator '_' occurs 15 time(s) in original and 13 time(s) in translation
# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:10345
#, fuzzy, no-wrap
msgid ""
"<code>class GTKMM_API TextMark : public Glib::Object\n"
"{\n"
" _CLASS_GOBJECT(TextMark, GtkTextMark, GTK_TEXT_MARK, Glib::Object, GObject, , , GTKMM_API)\n"
"\n"
"protected:\n"
" _WRAP_CTOR(TextMark(const Glib::ustring&amp; name, bool left_gravity = true), gtk_text_mark_new)\n"
"\n"
"public:\n"
" _WRAP_CREATE(const Glib::ustring&amp; name, bool left_gravity = true)\n"
"</code>"
msgstr ""
"\n"
"class TextMark : public Glib::Object\n"
"{\n"
" _CLASS_GOBJECT(TextMark, GtkTextMark, GTK_TEXT_MARK, Glib::Object, GObject)\n"
"\n"
"protected:\n"
" _WRAP_CTOR(TextMark(const Glib::ustring&amp; name, bool left_gravity = true), gtk_text_mark_new)\n"
"\n"
"public:\n"
" _WRAP_CREATE(const Glib::ustring&amp; name, bool left_gravity = true)\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:10366
#, fuzzy
msgid ""
"This macro creates a constructor with arguments, equivalent to a "
"<function>*_new()</function> C function. It won't actually call the "
"<function>*_new()</function> function, but will simply create an equivalent "
"constructor with the same argument types. It takes a <phrase "
"role=\"nowrap\">C++</phrase> constructor signature, and a C function name."
msgstr ""
"Detta makro skapar en konstruktor med argument, motsvarande en "
"<function>*_new()</function>-funktion i C. Den kommer inte faktiskt anropa "
"<function>*_new()</function>-funktionen, utan kommer helt enkelt skapa en "
"motsvarande konstruktor med samma argumenttyper. Den tar en C++-"
"konstruktorsignatur och ett C-funktionsnamn."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:10397
#, fuzzy, no-wrap
msgid ""
"<code>Button::Button(const Glib::ustring&amp; label, bool mnemonic)\n"
":\n"
" _CONSTRUCT(\"label\", label.c_str(), \"use_underline\", gboolean(mnemonic))\n"
"{}\n"
"</code>"
msgstr ""
"\n"
"Button::Button(const Glib::ustring&amp; label, bool mnemonic)\n"
":\n"
" _CONSTRUCT(\"label\", label.c_str(), \"use_underline\", gboolean(mnemonic))\n"
"{}\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:10457
#, fuzzy, no-wrap
msgid ""
"<code>class Derived : public Glib::Object\n"
"{\n"
" _CLASS_GOBJECT(Derived, GDerived, G_DERIVED, Glib::Object, GObject)\n"
"\n"
" _CUSTOM_MOVE_OPERATIONS\n"
"\n"
"public:\n"
" Derived(Derived&amp;&amp; src) noexcept;\n"
" Derived&amp; operator=(Derived&amp;&amp; src) noexcept;\n"
" // ...\n"
"};\n"
"</code>"
msgstr ""
"\n"
"class Derived : public Glib::Object\n"
"{\n"
" _CLASS_GOBJECT(Derived, GDerived, G_DERIVED, Glib::Object, GObject)\n"
"\n"
" _CUSTOM_MOVE_OPERATIONS\n"
"\n"
"public:\n"
" Derived(Derived&amp;&amp; src) noexcept;\n"
" Derived&amp; operator=(Derived&amp;&amp; src) noexcept;\n"
" // ...\n"
"};\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:10505
#, fuzzy
msgid ""
"This macro generates the <phrase role=\"nowrap\">C++</phrase> method to wrap "
"a C function."
msgstr "Detta makro genererar C++-metoden som ska omsluta en C-funktion."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:10508
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "_WRAP_METHOD(void set_text(const Glib::ustring&amp; text), gtk_entry_set_text)\n"
msgid ""
"<code>_WRAP_METHOD(void set_text(const Glib::ustring&amp; text), gtk_entry_set_text)\n"
"</code>"
msgstr ""
"\n"
"_WRAP_METHOD(void set_text(const Glib::ustring&amp; text), gtk_entry_set_text)\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:10510
#, fuzzy
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 "
"contain the necessary conversion from the <phrase role=\"nowrap\">C++</"
"phrase> parameter type to the C parameter type. This macro also generates "
"doxygen documentation comments based on the <filename>*_docs.xml</filename> "
"and <filename>*_docs_override.xml</filename> files."
msgstr ""
"C-funktionen (t.ex. <function>gtk_entry_set_text</function>) beskrivs mer "
"fullständigt i .defs-filen, och <filename>convert*.m4</filename>-filerna "
"innehåller den nödvändiga konverteringen från C++-parametertypen till C-"
"parametertypen. Detta makro genererar också doxygendokumentationskommentarer "
"baserade på filerna <filename>*_docs.xml</filename> och "
"<filename>*_docs_override.xml</filename>."

# (pofilter) accelerators: Accelerator '_' occurs 2 time(s) in original and 1 time(s) in translation
#. (itstool) path: varlistentry/term
#: C/index-in.docbook:10575 C/index-in.docbook:10915
msgid "slot_name &lt;parameter_name&gt;"
msgstr "slot_name &lt;parameternamn&gt;"

# (pofilter) accelerators: Accelerator '_' occurs 2 time(s) in original and 1 time(s) in translation
#. (itstool) path: varlistentry/term
#: C/index-in.docbook:10587 C/index-in.docbook:10927
msgid "slot_callback &lt;function_name&gt;"
msgstr "slot_callback &lt;funktionsnamn&gt;"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: listitem/para
#: C/index-in.docbook:10621
#, fuzzy
msgid ""
"Wrapping <classname>GList*</classname> and <classname>GSList*</classname> "
"parameters: First, you need to discover what objects are contained in the "
"list's data field for each item, usually by reading the documentation for "
"the C function. The list can then be wrapped by a <classname>std::vector</"
"classname> type. For instance, <code>std::vector&lt;Glib::RefPtr&lt;Gdk::"
"Pixbuf&gt;&gt;</code>. You may need to define a Traits type to specify how "
"the C and <phrase role=\"nowrap\">C++</phrase> types should be converted."
msgstr ""
"Omsluta <classname>GList*</classname>- och <classname>GSList*</classname>-"
"parametrar: Först behöver du upptäcka vilka objekt som innehålls i listans "
"datafält för varje objekt, vanligen genom att läsa dokumentationen för C-"
"funktionen. Listan kan sedan omslutas av en <classname>std::vector</"
"classname>-typ. Till exempel, <code>std::vector&lt;Glib::RefPtr&lt;Gdk::"
"Pixbuf&gt;&gt;</code>. Du kan behöva definiera en Traits-typ för att ange "
"hur C- och C++-typerna ska konverteras."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: listitem/para
#: C/index-in.docbook:10629
#, fuzzy
msgid ""
"Wrapping <classname>GList*</classname> and <classname>GSList*</classname> "
"return types: You must discover whether the caller should free the list and "
"whether it should release the items in the list, again by reading the "
"documentation of the C function. With this information you can choose the "
"ownership (none, shallow or deep) for the m4 conversion rule, which you "
"should probably put directly into the .hg file because the ownership depends "
"on the function rather than the type. For instance:"
msgstr ""
"Omsluta <classname>GList*</classname>- och <classname>GSList*</classname>-"
"returtyper: Du måste upptäcka huruvida anroparen ska frigöra listan och "
"huruvida den ska släppa objekten i listan, igen genom att läsa "
"dokumentationen för C-funktionen. Med denna information kan du välja "
"ägarskapet (none, shallow eller deep) för m4-konverteringsregeln, vilket du "
"troligen ska stoppa direkt i .hg-filen för ägarskapet beror på funktionen "
"snarare än typen. Till exempel: <_:programlisting-1/>"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: listitem/programlisting
#: C/index-in.docbook:10637
#, fuzzy, no-wrap
#| msgid "#m4 _CONVERSION(`GSList*',`std::vector&lt;Widget*&gt;',`Glib::SListHandler&lt;Widget*&gt;::slist_to_vector($3, Glib::OWNERSHIP_SHALLOW)')"
msgid "<code>#m4 _CONVERSION(`GSList*',`std::vector&lt;Widget*&gt;',`Glib::SListHandler&lt;Widget*&gt;::slist_to_vector($3, Glib::OWNERSHIP_SHALLOW)')</code>"
msgstr "#m4 _CONVERSION(`GSList*',`std::vector&lt;Widget*&gt;',`Glib::SListHandler&lt;Widget*&gt;::slist_to_vector($3, Glib::OWNERSHIP_SHALLOW)')"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:10608
#, fuzzy
msgid ""
"Selecting which <phrase role=\"nowrap\">C++</phrase> types should be used is "
"also important when wrapping C API. Though it's usually obvious what <phrase "
"role=\"nowrap\">C++</phrase> types should be used in the <phrase "
"role=\"nowrap\">C++</phrase> method, here are some hints: <_:itemizedlist-1/>"
msgstr ""
"Att välja vilka C++-typer som ska användas är också viktigt när C-API "
"omsluts. Även om det vanligen är uppenbart vilka C++-typer som ska användas "
"i C++-metoden så kommer några tips här: <_:itemizedlist-1/>"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:10645
#, fuzzy
msgid ""
"This macro is like <function>_WRAP_METHOD()</function>, but it generates "
"only the documentation for a <phrase role=\"nowrap\">C++</phrase> method "
"that wraps a C function. Use this when you must hand-code the method, but "
"you want to use the documentation that would be generated if the method was "
"generated."
msgstr ""
"Detta makro är som <function>_WRAP_METHOD()</function>, men genererar bara "
"dokumentationen för en C++-metod som omsluter en C-funktion. Använd detta "
"när du måste handkoda metoden, men vill använda dokumentationen som skulle "
"genereras om metoden var genererad."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:10651
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "_WRAP_METHOD_DOCS_ONLY(gtk_recent_info_get_applications)\n"
msgid ""
"<code>_WRAP_METHOD_DOCS_ONLY(gtk_recent_info_get_applications)\n"
"</code>"
msgstr ""
"\n"
"_WRAP_METHOD_DOCS_ONLY(gtk_recent_info_get_applications)\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: listitem/para
#: C/index-in.docbook:10678
#, fuzzy
msgid ""
"Don't include a @return Doxygen command in the documentation. Useful if the "
"wrapped C function returns a value, but the corresponding <phrase "
"role=\"nowrap\">C++</phrase> method returns <type>void</type>."
msgstr ""
"Inkludera inte ett @return-Doxygenkommando i dokumentationen. Användbart om "
"den omslutna C-funktionen returnerar ett värde, men den motsvarande C++-"
"metoden returnerar <type>void</type>."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:10703
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "_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"
msgid ""
"<code>_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"
"</code>"
msgstr ""
"\n"
"_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"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:10711
#, fuzzy
msgid ""
"This macro generates the <phrase role=\"nowrap\">C++</phrase> libsigc++-"
"style signal to wrap a C GObject signal. It actually generates a public "
"accessor method, such as <function>signal_clicked()</function>, which "
"returns a proxy object. <command>gmmproc</command> uses the .defs file to "
"discover the C parameter types and the .m4 convert files to discover "
"appropriate type conversions."
msgstr ""
"Detta makro genererar C++-signalen av libsigc++-stil som ska omsluta en C "
"Gobjekt-signal. Det genererar faktiskt en publik åtkomstmetod, som "
"<function>signal_clicked()</function> vilken returnerar ett proxyobjekt. "
"<command>gmmproc</command> använder .defs-filen för att upptäcka C-"
"parametertyperna och .m4-konverteringsfilerna för att upptäcka lämpliga "
"typkonverteringar."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:10719
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "_WRAP_SIGNAL(void clicked(),\"clicked\")\n"
msgid ""
"<code>_WRAP_SIGNAL(void clicked(),\"clicked\")\n"
"</code>"
msgstr ""
"\n"
"_WRAP_SIGNAL(void clicked(),\"clicked\")\n"

# (pofilter) accelerators: Accelerator '_' occurs 2 time(s) in original and 1 time(s) in translation
#. (itstool) path: varlistentry/term
#: C/index-in.docbook:10782 C/index-in.docbook:10963
msgid "exception_handler &lt;method_name&gt;"
msgstr "exception_handler &lt;metodnamn&gt;"

# (pofilter) accelerators: Accelerator '_' occurs 2 time(s) in original and 1 time(s) in translation
#. (itstool) path: varlistentry/term
#: C/index-in.docbook:10790
msgid "detail_name &lt;parameter_name&gt;"
msgstr "detail_name &lt;parameternamn&gt;"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:10817
#, fuzzy
msgid ""
"This macro generates the <phrase role=\"nowrap\">C++</phrase> method to wrap "
"a C GObject property. You must specify the property name and the wanted "
"<phrase role=\"nowrap\">C++</phrase> type for the property. "
"<command>gmmproc</command> uses the .defs file to discover the C type and "
"the .m4 convert files to discover appropriate type conversions."
msgstr ""
"Detta makro genererar C++-metoden som ska omsluta en C GObject-egenskap. Du "
"måste ange egenskapsnamnet och den önskade C++-typen för egenskapen. "
"<command>gmmproc</command> använder .defs-filen för att upptäcka C-typen "
"och .m4-konverteringsfilerna för att upptäcka lämpliga typkonverteringar."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:10823
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "_WRAP_PROPERTY(\"label\", Glib::ustring)\n"
msgid ""
"<code>_WRAP_PROPERTY(\"label\", Glib::ustring)\n"
"</code>"
msgstr ""
"\n"
"_WRAP_PROPERTY(\"label\", Glib::ustring)\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:10848
#, fuzzy
msgid ""
"This macro generates the <phrase role=\"nowrap\">C++</phrase> method to wrap "
"a virtual C function."
msgstr ""
"Detta makro genererar C++-metoden som ska omsluta en virtuell C-funktion."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:10851
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "_WRAP_VFUNC(SizeRequestMode get_request_mode() const, get_request_mode)\n"
msgid ""
"<code>_WRAP_VFUNC(SizeRequestMode get_request_mode() const, get_request_mode)\n"
"</code>"
msgstr ""
"\n"
"_WRAP_VFUNC(SizeRequestMode get_request_mode() const, get_request_mode)\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:10853
#, fuzzy
msgid ""
"The C function (e.g. <function>get_request_mode</function>) is described "
"more fully in the <filename>*_vfuncs.defs</filename> file, and the "
"<filename>convert*.m4</filename> files contain the necessary conversion from "
"the <phrase role=\"nowrap\">C++</phrase> parameter type to the C parameter "
"type. Conversions can also be written in the .hg file. Virtual functions "
"often require special conversions that are best kept local to the .hg file "
"where they are used."
msgstr ""
"C-funktionen (t.ex. <function>get_request_mode</function>) beskrivs mer "
"fullständigt i filen <filename>*_vfuncs.defs</filename>, och "
"<filename>convert*.m4</filename>-filerna innehåller den nödvändiga "
"konverteringen från C++-parametertypen till C-parametertypen. Konverteringar "
"kan också skrivas i .hg-filen. Virtuella funktioner kräver ofta speciella "
"konverteringar som är bästa att hålla lokala till .hg-filen där de används."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: listitem/para
#: C/index-in.docbook:10955
#, fuzzy
msgid ""
"Defines a non-default return value, used only if the <phrase "
"role=\"nowrap\">C++</phrase> <function>something_vfunc()</function> function "
"throws an exception which is propagated to the C callback function. If "
"return_value is specified, but err_return_value is not, then return_value is "
"used also when an exception is propagated."
msgstr ""
"Definierar ett annat returvärde än standardvärdet, används endast om C++-"
"funktionen <function>something_vfunc()</function> kastar ett undantag som "
"sprids till C-återanropsfunktionen. Om return_value anges, men inte "
"err_return_value, så kommer return_value användas även när ett undantag "
"sprids."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:10972
#, fuzzy
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 "
"reference-counted object, then the virtual <phrase role=\"nowrap\">C++</"
"phrase> function shall return a <classname>Glib::RefPtr&lt;&gt;</classname> "
"object. One of the extra arguments <parameter>refreturn</parameter> or "
"<parameter>refreturn_ctype</parameter> is required."
msgstr ""
"En regel till vilken det kan finnas undantag: Om den virtuella C-funktionen "
"returnerar en pekare till ett härlett från <classname>GObject</classname>, "
"det vill säga ett referensräknat objekt så ska den virtuella C++-funktionen "
"returnera ett <classname>Glib::RefPtr&lt;&gt;</classname>-objekt. Ett av de "
"extra argumenten <parameter>refreturn</parameter> eller "
"<parameter>refreturn_ctype</parameter> krävs."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:10991
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "_IMPLEMENTS_INTERFACE(Orientable)\n"
msgid ""
"<code>_IMPLEMENTS_INTERFACE(Orientable)\n"
"</code>"
msgstr ""
"\n"
"_IMPLEMENTS_INTERFACE(Orientable)\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:11008
#, fuzzy
msgid ""
"This macro generates a <phrase role=\"nowrap\">C++</phrase> enum to wrap a C "
"enum. You must specify the desired <phrase role=\"nowrap\">C++</phrase> name "
"and the name of the underlying C enum."
msgstr ""
"Detta makro genererar en C++-uppräkning för att omsluta en C-uppräkning. Du "
"måste ange det önskade C++-namnet och namnet för den underliggande C-"
"uppräkningen."

# (pofilter) accelerators: Accelerator '_' occurs 4 time(s) in original and 2 time(s) in translation
# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:11011
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "_WRAP_ENUM(Orientation, GtkOrientation)\n"
msgid ""
"<code>_WRAP_ENUM(Orientation, GtkOrientation, decl_prefix GTKMM_API)\n"
"</code>"
msgstr ""
"\n"
"_WRAP_ENUM(Orientation, GtkOrientation)\n"

# (pofilter) accelerators: Accelerator '_' occurs 5 time(s) in original and 3 time(s) in translation
# (pofilter) xmltags: Different XML tags
#. (itstool) path: listitem/programlisting
#: C/index-in.docbook:11027
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "_WRAP_ENUM(IconLookupFlags, GtkIconLookupFlags, NO_GTYPE)\n"
#| " "
msgid ""
"<code>_WRAP_ENUM(IconLookupFlags, GtkIconLookupFlags, NO_GTYPE, decl_prefix GTKMM_API)\n"
" </code>"
msgstr ""
"\n"
"_WRAP_ENUM(IconLookupFlags, GtkIconLookupFlags, NO_GTYPE)\n"
" "

# (pofilter) accelerators: Accelerator '_' occurs 2 time(s) in original and 1 time(s) in translation
#. (itstool) path: varlistentry/term
#: C/index-in.docbook:11032
msgid "gtype_func &lt;function_name&gt;"
msgstr "gtype_func &lt;funktionsnamn&gt;"

# (pofilter) accelerators: Accelerator '_' occurs 10 time(s) in original and 8 time(s) in translation
# (pofilter) xmltags: Different XML tags
#. (itstool) path: listitem/programlisting
#: C/index-in.docbook:11038
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "_WRAP_ENUM(ProxyFlags, GDBusProxyFlags, gtype_func g_dbus_proxy_flags_get_type)\n"
#| " "
msgid ""
"<code>_WRAP_ENUM(ProxyFlags, GDBusProxyFlags, gtype_func g_dbus_proxy_flags_get_type, decl_prefix GIOMM_API)\n"
" </code>"
msgstr ""
"\n"
"_WRAP_ENUM(ProxyFlags, GDBusProxyFlags, gtype_func g_dbus_proxy_flags_get_type)\n"
" "

# (pofilter) accelerators: Accelerator '_' occurs 6 time(s) in original and 4 time(s) in translation
# (pofilter) xmltags: Different XML tags
#. (itstool) path: listitem/programlisting
#: C/index-in.docbook:11049
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "_WRAP_ENUM(ResponseType, GtkResponseType, CONV_TO_INT)\n"
#| " "
msgid ""
"<code>_WRAP_ENUM(ResponseType, GtkResponseType, CONV_TO_INT, decl_prefix GTKMM_API)\n"
" </code>"
msgstr ""
"\n"
"_WRAP_ENUM(ResponseType, GtkResponseType, CONV_TO_INT)\n"
" "

# (pofilter) accelerators: Accelerator '_' occurs 9 time(s) in original and 8 time(s) in translation
#. (itstool) path: section/para
#: C/index-in.docbook:11094
#, fuzzy
msgid ""
"This macro just generates a Doxygen documentation block for the enum. This "
"is useful for enums that can't be wrapped with <function>_WRAP_ENUM()</"
"function> because they are complexly defined (maybe using C macros) but "
"including the generated enum documentation is still desired. It is used with "
"the same syntax as <function>_WRAP_ENUM()</function> and also processes the "
"same options (though NO_GTYPE, gtype_func &lt;function_name&gt; and "
"CONV_TO_INT are ignored because they make no difference when just generating "
"the enum's documentation)."
msgstr ""
"Detta makro genererar bara ett Doxygen-dokumentationsblock för uppräkningen. "
"Detta är användbart för uppräkningar som inte kan omslutas med "
"<function>_WRAP_ENUM()</function> för att de är komplext definierade (kanske "
"med C-makron) men att det fortfarande är önskvärt att inkludera den "
"genererade uppräkningsdokumentationen. Det används med samma syntax som "
"<function>_WRAP_ENUM()</function> och bearbetar även samma alternativ (även "
"om NO_GTYPE, gtype_func &lt;funktionsnamn&gt; och CONV_TO_INT ignoreras för "
"att de inte gör någon skillnad då bara uppräkningens dokumentation "
"genereras)."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:11108
#, fuzzy
msgid ""
"This macro generates a <phrase role=\"nowrap\">C++</phrase> exception class, "
"derived from <classname>Glib::Error</classname>, with a <type>Code</type> "
"enum and a <methodname>code()</methodname> method. You must specify the "
"desired <phrase role=\"nowrap\">C++</phrase> name, the name of the "
"corresponding C enum, and the prefix for the C enum values."
msgstr ""
"Detta makro genererar en C++-undantagsklass, härledd från <classname>Glib::"
"Error</classname> med en <type>Code</type>-uppräkning och en metod "
"<methodname>code()</methodname>. Du måste ange det önskade C++-namnet, "
"namnet på den motsvarande C-uppräkningen, och prefixet för C-"
"uppräkningsvärdena."

# (pofilter) accelerators: Accelerator '_' occurs 6 time(s) in original and 4 time(s) in translation
# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:11114
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "_WRAP_GERROR(PixbufError, GdkPixbufError, GDK_PIXBUF_ERROR)\n"
msgid ""
"<code>_WRAP_GERROR(PixbufError, GdkPixbufError, GDK_PIXBUF_ERROR, decl_prefix GDKMM_API)\n"
"</code>"
msgstr ""
"\n"
"_WRAP_GERROR(PixbufError, GdkPixbufError, GDK_PIXBUF_ERROR)\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:11132
#, fuzzy, no-wrap
#| msgid "_MEMBER_GET(x, x, int, int)"
msgid "<code>_MEMBER_GET(x, x, int, int)</code>"
msgstr "_MEMBER_GET(x, x, int, int)"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:11146
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "// _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"
msgid ""
"<code>// _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"
"</code>"
msgstr ""
"\n"
"// _MEMBER_GET_PTR(engine_lang, lang_engine, EngineLang*, PangoEngineLang*)\n"
"// Det är bara en kommentar. Det är svårt att hitta ett exempel i verkligheten.\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:11161
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "_MEMBER_GET_GOBJECT(layout, layout, Pango::Layout, PangoLayout*)\n"
msgid ""
"<code>_MEMBER_GET_GOBJECT(layout, layout, Pango::Layout, PangoLayout*)\n"
"</code>"
msgstr ""
"\n"
"_MEMBER_GET_GOBJECT(layout, layout, Pango::Layout, PangoLayout*)\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:11184
#, fuzzy, no-wrap
msgid ""
"<code>void gtk_widget_set_device_events(GtkWidget* widget, GdkDevice* device,\n"
" GdkEventMask events);\n"
"</code>"
msgstr ""
"\n"
"void gtk_widget_set_device_events(GtkWidget* widget, GdkDevice* device,\n"
" GdkEventMask events);\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:11191
#, fuzzy, no-wrap
msgid ""
"<code>_WRAP_METHOD(void set_device_events(Gdk::EventMask events{events},\n"
" const Glib::RefPtr&lt;const Gdk::Device&gt;&amp; device{device}),\n"
" gtk_widget_set_device_events)\n"
"</code>"
msgstr ""
"\n"
"_WRAP_METHOD(void set_device_events(Gdk::EventMask events{events},\n"
" const Glib::RefPtr&lt;const Gdk::Device&gt;&amp; device{device}),\n"
" gtk_widget_set_device_events)\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:11200
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "_WRAP_METHOD(void set_device_events(Gdk::EventMask events{.},\n"
#| " const Glib::RefPtr&lt;const Gdk::Device&gt;&amp; device{.}),\n"
#| " gtk_widget_set_device_events)\n"
msgid ""
"<code>_WRAP_METHOD(void set_device_events(Gdk::EventMask events{.},\n"
" const Glib::RefPtr&lt;const Gdk::Device&gt;&amp; device{.}),\n"
" gtk_widget_set_device_events)\n"
"</code>"
msgstr ""
"\n"
"_WRAP_METHOD(void set_device_events(Gdk::EventMask events{.},\n"
" const Glib::RefPtr&lt;const Gdk::Device&gt;&amp; device{.}),\n"
" gtk_widget_set_device_events)\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:11227
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "GtkToolItem* gtk_tool_button_new(GtkWidget* icon_widget, const gchar* label);\n"
msgid ""
"<code>GtkToolItem* gtk_tool_button_new(GtkWidget* icon_widget, const gchar* label);\n"
"</code>"
msgstr ""
"\n"
"GtkToolItem* gtk_tool_button_new(GtkWidget* icon_widget, const gchar* label);\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:11235
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "_WRAP_CTOR(ToolButton(Widget&amp; icon_widget, const Glib::ustring&amp; label{?}),\n"
#| " gtk_tool_button_new)\n"
msgid ""
"<code>_WRAP_CTOR(ToolButton(Widget&amp; icon_widget, const Glib::ustring&amp; label{?}),\n"
" gtk_tool_button_new)\n"
"</code>"
msgstr ""
"\n"
"_WRAP_CTOR(ToolButton(Widget&amp; icon_widget, const Glib::ustring&amp; label{?}),\n"
" gtk_tool_button_new)\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:11255
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "GtkSizeRequestMode gtk_widget_get_request_mode(GtkWidget* widget);\n"
msgid ""
"<code>GtkSizeRequestMode gtk_widget_get_request_mode(GtkWidget* widget);\n"
"</code>"
msgstr ""
"\n"
"GtkSizeRequestMode gtk_widget_get_request_mode(GtkWidget* widget);\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:11260
#, fuzzy, no-wrap
msgid ""
"<code>_WRAP_METHOD(void get_request_mode(SizeRequestMode&amp; mode{OUT}) const,\n"
" gtk_widget_get_request_mode)\n"
"</code>"
msgstr ""
"\n"
"_WRAP_METHOD(void get_request_mode(SizeRequestMode&amp; mode{OUT}) const,\n"
" gtk_widget_get_request_mode)\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:11268
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "_INITIALIZATION(`SizeRequestMode&amp;',`GtkSizeRequestMode',`$3 = (SizeRequestMode)($4)')\n"
msgid ""
"<code>_INITIALIZATION(`SizeRequestMode&amp;',`GtkSizeRequestMode',`$3 = (SizeRequestMode)($4)')\n"
"</code>"
msgstr ""
"\n"
"_INITIALIZATION(`SizeRequestMode&amp;',`GtkSizeRequestMode',`$3 = (SizeRequestMode)($4)')\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:11271
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "_INITIALIZATION(`SizeRequestMode&amp;',`GtkSizeRequestMode',`$3 = ($1)($4)')\n"
msgid ""
"<code>_INITIALIZATION(`SizeRequestMode&amp;',`GtkSizeRequestMode',`$3 = ($1)($4)')\n"
"</code>"
msgstr ""
"\n"
"_INITIALIZATION(`SizeRequestMode&amp;',`GtkSizeRequestMode',`$3 = ($1)($4)')\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:11279
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "GInputStream* gdk_clipboard_read_finish(GdkClipboard* clipboard,\n"
#| " GAsyncResult* result, const char** out_mime_type, GError** error)\n"
msgid ""
"<code>GInputStream* gdk_clipboard_read_finish(GdkClipboard* clipboard,\n"
" GAsyncResult* result, const char** out_mime_type, GError** error)\n"
"</code>"
msgstr ""
"\n"
"GInputStream* gdk_clipboard_read_finish(GdkClipboard* clipboard,\n"
" GAsyncResult* result, const char** out_mime_type, GError** error)\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:11286
#, fuzzy, no-wrap
msgid ""
"<code>\n"
"_WRAP_METHOD(Glib::RefPtr&lt;Gio::InputStream&gt; read_finish(\n"
" const Glib::RefPtr&lt;Gio::AsyncResult&gt;&amp; result,\n"
" Glib::ustring&amp; out_mime_type{&gt;&gt;}), gdk_clipboard_read_finish, errthrow)\n"
"</code>"
msgstr ""
"\n"
"_WRAP_METHOD(Glib::RefPtr&lt;Gio::InputStream&gt; read_finish(\n"
" const Glib::RefPtr&lt;Gio::AsyncResult&gt;&amp; result,\n"
" Glib::ustring&amp; out_mime_type{&gt;&gt;}), gdk_clipboard_read_finish, errthrow)\n"

# (pofilter) accelerators: Accelerator '_' occurs 3 time(s) in original and 11 time(s) in translation
# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:11291
#, fuzzy
msgid ""
"The <literal>{&gt;&gt;}</literal> following the <parameter>out_mime_type</"
"parameter> parameter name indicates that the <phrase role=\"nowrap\">C++</"
"phrase> output parameter should be set from the value returned in the C "
"parameter from the C function. <command>gmmproc</command> will generate a "
"declaration of a temporary variable in which to store the value of the C "
"output parameter and a statement that sets the <phrase role=\"nowrap\">C++</"
"phrase> output parameter from the temporary variable. In this case it may be "
"necessary to have an <function>_INITIALIZATION()</function> describing how "
"to set a <classname>Glib::ustring&amp;</classname> from a <classname>const "
"char**</classname> such as the following:"
msgstr ""
"<function>_WRAP_METHOD()</function> stöder också att sätta C++-"
"utdataparametrar från C- utdataparametrar om den omslutna C-funktionen har "
"några. Anta till exempel att vi vill omsluta följande C-funktion som "
"returnerar ett värde i sin C-utdataparameter <parameter>out_mime_type</"
"parameter>: <_:programlisting-1/> För att <command>gmmproc</command> ska "
"placera det returnerade värdet i C++-utdataparametern "
"<parameter>out_mime_type</parameter> ska något i stil med följande "
"<function>_WRAP_METHOD()</function>-makro användas: <_:programlisting-2/> "
"Den <literal>{&gt;&gt;}</literal> som följer parameternamnet "
"<parameter>out_mime_type</parameter> indikerar att C++-utdataparametern ska "
"ställas in från värdet som returneras i C-parametern från C-funktionen. "
"<command>gmmproc</command> kommer att generera en deklaration av en temporär "
"variabel i vilken värdet av C-utdataparametern och en sats som sätter C++-"
"utdataparametern från temporärvariabeln. I detta fall kan det vara "
"nödvändigt att ha en <function>_INITIALIZATION()</function> som beskriver "
"hur en <classname>Glib::ustring&amp;</classname> ska sättas från en "
"<classname>const char**</classname> som i det följande: <_:programlisting-3/>"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:11301
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "_INITIALIZATION(`Glib::ustring&amp;',`const char*',`$3 = Glib::convert_const_gchar_ptr_to_ustring($4)')\n"
msgid ""
"<code>\n"
"_INITIALIZATION(`Glib::ustring&amp;',`const char*',`$3 = Glib::convert_const_gchar_ptr_to_ustring($4)')\n"
"</code>"
msgstr ""
"\n"
"_INITIALIZATION(`Glib::ustring&amp;',`const char*',`$3 = Glib::convert_const_gchar_ptr_to_ustring($4)')\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:11309
#, fuzzy
msgid ""
"A string-valued input parameter in a <phrase role=\"nowrap\">C++</phrase> "
"method is usually a <type>const Glib::ustring&amp;</type> or a <type>const "
"std::string&amp;</type>. In C code it's a <type>const gchar*</type>. When an "
"empty string is converted to <type>const gchar*</type>, it can be converted "
"either to <literal>nullptr</literal> or to a pointer to an empty string "
"(with <methodname>c_str()</methodname>). Some parameters in some C functions "
"accept a <literal>nullptr</literal>, and interpret it in a special way. "
"Other parameters must not be <literal>nullptr</literal>."
msgstr ""
"En strängvärd indataparameter i en C++-metod är vanligen en <type>const "
"Glib::ustring&amp;</type> eller en <type>const std::string&amp;</type>. I C-"
"kod är det en <type>const gchar*</type>. När en tom sträng konverteras till "
"<type>const gchar*</type> kan den konverteras antingen till "
"<literal>nullptr</literal> eller till en pekare till en tom sträng (med "
"<methodname>c_str()</methodname>). Några parametrar i vissa C-funktioner "
"accepterar en <literal>nullptr</literal> och tolkar den på ett speciellt "
"sätt. Andra parametrar får inte vara <literal>nullptr</literal>."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:11339
#, fuzzy
#| 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++ has <type>bool</type>. The following list shows some commonly-"
#| "used types in C APIs and what you might convert them to in a C++ wrapper "
#| "library."
msgid ""
"Some of the basic types that are used in C APIs have better alternatives in "
"<phrase role=\"nowrap\">C++</phrase>. For example, there's no need for a "
"<type>gboolean</type> type since <phrase role=\"nowrap\">C++</phrase> has "
"<type>bool</type>. The following list shows some commonly-used types in C "
"APIs and what you might convert them to in a <phrase role=\"nowrap\">C++</"
"phrase> wrapper library."
msgstr ""
"Vissa av de grundläggande typerna som används i C-API:er har bättre "
"alternativ i C++. Exempelvis finns inget behov av en <type>gboolean</type>-"
"typ eftersom C++ har <type>bool</type>. Följande lista visar några vanligt "
"använda typer i C-API:er och vad du kanske konverterar dem till i ett C++-"
"omslagsbibliotek."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:11381
#, fuzzy, no-wrap
msgid ""
"<code>void init()\n"
"{\n"
" Gtk::init_gtkmm_internals(); //Sets up the g type system and the Glib::wrap() table.\n"
" wrap_init(); //Tells the Glib::wrap() table about the libsomethingmm classes.\n"
"}\n"
"</code>"
msgstr ""
"\n"
"void init()\n"
"{\n"
" Gtk::init_gtkmm_internals(); //Konfigurerar g type-systemet och Glib::wrap()-tabellen.\n"
" wrap_init(); //Säger till Glib::wrap()-tabellen om libsomethingmm-klasserna.\n"
"}\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:11387
#, fuzzy
msgid ""
"The implementation of the <function>wrap_init()</function> method in "
"<filename>wrap_init.cc</filename> is generated by "
"<filename>generate_wrap_init.pl</filename>, but the declaration in "
"<filename>wrap_init.h</filename> is hand-coded, so you will need to adjust "
"<filename>wrap_init.h</filename> so that the <function>wrap_init()</"
"function> function appears in the correct <phrase role=\"nowrap\">C++</"
"phrase> namespace."
msgstr ""
"Implementationen av <function>wrap_init()</function>-metoden i "
"<filename>wrap_init.cc</filename> genereras av <filename>generate_wrap_init."
"pl</filename>, men deklarationen i <filename>wrap_init.h</filename> är "
"handkodad, så du kommer behöva justera <filename>wrap_init.h</filename> så "
"att <function>wrap_init()</function>-funktion dyker upp i rätt C++-namnrymd."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:11403
#, fuzzy, no-wrap
msgid ""
"<code>typedef struct _ExampleWidget ExampleWidget;\n"
"\n"
"struct _ExampleWidget\n"
"{\n"
" ...\n"
"};\n"
"</code>"
msgstr ""
"\n"
"typedef struct _ExampleWidget ExampleWidget;\n"
"\n"
"struct _ExampleWidget\n"
"{\n"
" ...\n"
"};\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:11410
#, fuzzy
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. "
"This means that you don't have to include the C library's header in your "
"<phrase role=\"nowrap\">C++</phrase> header, thus keeping it out of your "
"public API. <command>gmmproc</command> assumes that this technique was used, "
"so you will see compiler errors if that is not the case."
msgstr ""
"Denna extra typedef låter structen användas i ett huvud utan att inkludera "
"dess fullständiga definition genom att helt enkelt fördeklarera den, genom "
"att repetera denna typedef. Detta betyder att du inte behöver inkludera C-"
"bibliotekets header i din C++-header, och därmed hålla den utanför ditt "
"publika API. <command>gmmproc</command> antar att denna teknik användes, så "
"du kommer se kompileringsfel om så inte är fallet."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:11417
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "example-widget.h:56: error: using typedef-name 'ExampleWidget' after 'struct'\n"
#| "../../libexample/libexamplemm/example-widget.h:34: error: 'ExampleWidget' has a previous declaration here\n"
#| "make[4]: *** [example-widget.lo] Error 1\n"
msgid ""
"<code>example-widget.h:56: error: using typedef-name 'ExampleWidget' after 'struct'\n"
"../../libexample/libexamplemm/example-widget.h:34: error: 'ExampleWidget' has a previous declaration here\n"
"make[4]: *** [example-widget.lo] Error 1\n"
"</code>"
msgstr ""
"\n"
"example-widget.h:56: error: using typedef-name 'ExampleWidget' after 'struct'\n"
"../../libexample/libexamplemm/example-widget.h:34: error: 'ExampleWidget' has a previous declaration here\n"
"make[4]: *** [example-widget.lo] Error 1\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:11422
#, fuzzy, no-wrap
#| msgid ""
#| "\n"
#| "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"
msgid ""
"<code>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"
"</code>"
msgstr ""
"\n"
"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"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:11437
#, fuzzy, no-wrap
msgid ""
"<code>GtkWidget* example_widget_new(int something, const char* thing)\n"
"{\n"
" return g_object_new (EXAMPLE_TYPE_WIDGET, \"something\", something, \"thing\", thing, NULL);\n"
"}\n"
"</code>"
msgstr ""
"\n"
"GtkWidget* example_widget_new(int something, const char* thing)\n"
"{\n"
" return g_object_new (EXAMPLE_TYPE_WIDGET, \"something\", something, \"thing\", thing, NULL);\n"
"}\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:11442
#, fuzzy
msgid ""
"This allows language bindings to implement their own equivalents (such as "
"<phrase role=\"nowrap\">C++</phrase> constructors), without using the "
"<function>*_new()</function> function. This is often necessary so that they "
"can actually instantiate a derived GType, to add their own hooks for signal "
"handlers and vfuncs."
msgstr ""
"Detta låter språkbindningar implementera sina egna motsvarigheter (som C++-"
"konstruktorer), utan att använda <function>*_new()</function>-funktionen. "
"Detta är ofta nödvändigt så att de faktiskt kan instansiera en härledd "
"GType, för att lägga till deras egna krokar för signalhanterare och vfunc-"
"funktioner."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:11451
#, fuzzy
msgid ""
"Another workaround is to add a <function>*_construct()</function> function "
"that the <phrase role=\"nowrap\">C++</phrase> constructor can call after "
"instantiating its own type. For instance,"
msgstr ""
"En annan lösning är att lägga till en <function>*_construct()</function>-"
"funktion som C++-konstruktorn kan anropa efter att ha instansierat sin egen "
"typ. Till exempel,"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:11454
#, fuzzy, no-wrap
msgid ""
"<code>GtkWidget* example_widget_new(int something, const char* thing)\n"
"{\n"
" ExampleWidget* widget;\n"
" widget = g_object_new (EXAMPLE_TYPE_WIDGET, NULL);\n"
" example_widget_construct(widget, \"something\", something, \"thing\", thing);\n"
"}\n"
"\n"
"void example_widget_construct(ExampleWidget* widget, int something, const char* thing)\n"
"{\n"
" //Do stuff that uses private API:\n"
" widget-&gt;priv-&gt;thing = thing;\n"
" do_something(something);\n"
"}\n"
"</code>"
msgstr ""
"\n"
"GtkWidget* example_widget_new(int something, const char* thing)\n"
"{\n"
" ExampleWidget* widget;\n"
" widget = g_object_new (EXAMPLE_TYPE_WIDGET, NULL);\n"
" example_widget_construct(widget, \"something\", something, \"thing\", thing);\n"
"}\n"
"\n"
"void example_widget_construct(ExampleWidget* widget, int something, const char* thing)\n"
"{\n"
" //Gör saker som använder privat API:\n"
" widget-&gt;priv-&gt;thing = thing;\n"
" do_something(something);\n"
"}\n"

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:11478
#, fuzzy
#| msgid ""
#| "In general, gtkmm-style projects use Doxygen, which reads specially "
#| "formatted C++ comments and generates HTML documentation. You may write "
#| "these doxygen comments directly in the header files."
msgid ""
"In general, gtkmm-style projects use Doxygen, which reads specially "
"formatted <phrase role=\"nowrap\">C++</phrase> comments and generates HTML "
"documentation. You may write these doxygen comments directly in the header "
"files."
msgstr ""
"Allmänt använder projekt av gtkmm-stil sig av Doxygen, som läser speciellt "
"formaterade C++-kommentarer och genererar HTML-dokumentation. Du kan skriva "
"dessa doxygen-kommentarer direkt i header-filerna."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/para
#: C/index-in.docbook:11483
#, fuzzy
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 or gi-docgen and "
"therefore have source code comments formatted for gtk-doc or gi-docgen and "
"some extra documentation in .sgml and .xml files. The docextract_to_xml.py "
"script, from glibmm's <filename>tools/defs_gen</filename> directory, can "
"read these files and generate an .xml file that <command>gmmproc</command> "
"can use to generate doxygen comments. <command>gmmproc</command> will even "
"try to transform the documentation to make it more appropriate for a <phrase "
"role=\"nowrap\">C++</phrase> API."
msgstr ""
"Du kan vilja återanvända befintlig dokumentation för C-biblioteket som du "
"omsluter. C-bibliotek av GTK-stil använder vanligen gtk-doc eller gi-docgen "
"och har därför källkodskommentarer formaterade för gtk-doc eller gi-docgen "
"och viss extra dokumentation i .sgml- och .xml-filer. Skriptet "
"docextract_to_xml.py från glibmm:s <filename>tools/defs_gen</filename>-"
"katalog kan läsa dessa filer och generera en .xml-fil som <command>gmmproc</"
"command> kan använda för att generera doxygen-kommentarer. <command>gmmproc</"
"command> kommer till och med försöka transformera dokumentationen för att "
"göra den mer lämplig för ett C++-API."

# (pofilter) xmltags: Different XML tags
#. (itstool) path: section/programlisting
#: C/index-in.docbook:11493
#, fuzzy, no-wrap
#| msgid "./docextract_to_xml.py -s ~/checkout/gnome/gtk/gtk/ &gt; gtk_docs.xml\n"
msgid ""
"<code>./docextract_to_xml.py -s ~/checkout/gnome/gtk/gtk/ &gt; gtk_docs.xml\n"
"</code>"
msgstr "./docextract_to_xml.py -s ~/checkout/gnome/gtk/gtk/ &gt; gtk_docs.xml\n"
Checks (xmltags) by pofilter