⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 glib-keyed-data-lists.html

📁 最新gtk中文资料集
💻 HTML
📖 第 1 页 / 共 3 页
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"><title>Keyed Data Lists</title><meta name="generator" content="DocBook XSL Stylesheets V1.73.2"><link rel="start" href="index.html" title="GLib Reference Manual"><link rel="up" href="glib-data-types.html" title="GLib Data Types"><link rel="prev" href="glib-Quarks.html" title="Quarks"><link rel="next" href="glib-Datasets.html" title="Datasets"><meta name="generator" content="GTK-Doc V1.9 (XML mode)"><link rel="stylesheet" href="style.css" type="text/css"><link rel="chapter" href="glib.html" title="GLib Overview"><link rel="chapter" href="glib-fundamentals.html" title="GLib Fundamentals"><link rel="chapter" href="glib-core.html" title="GLib Core Application Support"><link rel="chapter" href="glib-utilities.html" title="GLib Utilities"><link rel="chapter" href="glib-data-types.html" title="GLib Data Types"><link rel="chapter" href="tools.html" title="GLib Tools"><link rel="index" href="ix01.html" title="Index"><link rel="index" href="ix02.html" title="Index of deprecated symbols"><link rel="index" href="ix03.html" title="Index of new symbols in 2.2"><link rel="index" href="ix04.html" title="Index of new symbols in 2.4"><link rel="index" href="ix05.html" title="Index of new symbols in 2.6"><link rel="index" href="ix06.html" title="Index of new symbols in 2.8"><link rel="index" href="ix07.html" title="Index of new symbols in 2.10"><link rel="index" href="ix08.html" title="Index of new symbols in 2.12"><link rel="index" href="ix09.html" title="Index of new symbols in 2.14"><link rel="index" href="ix10.html" title="Index of new symbols in 2.16"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="glib-Quarks.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="glib-data-types.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">GLib Reference Manual</th><td><a accesskey="n" href="glib-Datasets.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr><tr><td colspan="5" class="shortcuts"><nobr><a href="#id3353046" class="shortcut">Top</a>                  &#160;|&#160;                  <a href="#id3353419" class="shortcut">Description</a></nobr></td></tr></table><div class="refentry" lang="en"><a name="glib-Keyed-Data-Lists"></a><div class="titlepage"></div><div class="refnamediv"><table width="100%"><tr><td valign="top"><h2><a name="id3353046"></a><span class="refentrytitle">Keyed Data Lists</span></h2><p>Keyed Data Lists &#8212; lists of data elements which are accessible by a string or GQuark identifier</p></td><td valign="top" align="right"></td></tr></table></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">#include &lt;glib.h&gt;                    <a class="link" href="glib-Keyed-Data-Lists.html#GData">GData</a>;void                <a class="link" href="glib-Keyed-Data-Lists.html#g-datalist-init">g_datalist_init</a>                     (<a class="link" href="glib-Keyed-Data-Lists.html#GData">GData</a> **datalist);#define             <a class="link" href="glib-Keyed-Data-Lists.html#g-datalist-id-set-data">g_datalist_id_set_data</a>              (dl, q, d)void                <a class="link" href="glib-Keyed-Data-Lists.html#g-datalist-id-set-data-full">g_datalist_id_set_data_full</a>         (<a class="link" href="glib-Keyed-Data-Lists.html#GData">GData</a> **datalist,                                                         <a class="link" href="glib-Quarks.html#GQuark">GQuark</a> key_id,                                                         <a class="link" href="glib-Basic-Types.html#gpointer">gpointer</a> data,                                                         <a class="link" href="glib-Datasets.html#GDestroyNotify">GDestroyNotify</a> destroy_func);<a class="link" href="glib-Basic-Types.html#gpointer">gpointer</a>            <a class="link" href="glib-Keyed-Data-Lists.html#g-datalist-id-get-data">g_datalist_id_get_data</a>              (<a class="link" href="glib-Keyed-Data-Lists.html#GData">GData</a> **datalist,                                                         <a class="link" href="glib-Quarks.html#GQuark">GQuark</a> key_id);#define             <a class="link" href="glib-Keyed-Data-Lists.html#g-datalist-id-remove-data">g_datalist_id_remove_data</a>           (dl, q)<a class="link" href="glib-Basic-Types.html#gpointer">gpointer</a>            <a class="link" href="glib-Keyed-Data-Lists.html#g-datalist-id-remove-no-notify">g_datalist_id_remove_no_notify</a>      (<a class="link" href="glib-Keyed-Data-Lists.html#GData">GData</a> **datalist,                                                         <a class="link" href="glib-Quarks.html#GQuark">GQuark</a> key_id);#define             <a class="link" href="glib-Keyed-Data-Lists.html#g-datalist-set-data">g_datalist_set_data</a>                 (dl, k, d)#define             <a class="link" href="glib-Keyed-Data-Lists.html#g-datalist-set-data-full">g_datalist_set_data_full</a>            (dl, k, d, f)#define             <a class="link" href="glib-Keyed-Data-Lists.html#g-datalist-get-data">g_datalist_get_data</a>                 (dl, k)#define             <a class="link" href="glib-Keyed-Data-Lists.html#g-datalist-remove-data">g_datalist_remove_data</a>              (dl, k)#define             <a class="link" href="glib-Keyed-Data-Lists.html#g-datalist-remove-no-notify">g_datalist_remove_no_notify</a>         (dl, k)void                <a class="link" href="glib-Keyed-Data-Lists.html#g-datalist-foreach">g_datalist_foreach</a>                  (<a class="link" href="glib-Keyed-Data-Lists.html#GData">GData</a> **datalist,                                                         <a class="link" href="glib-Datasets.html#GDataForeachFunc">GDataForeachFunc</a> func,                                                         <a class="link" href="glib-Basic-Types.html#gpointer">gpointer</a> user_data);void                <a class="link" href="glib-Keyed-Data-Lists.html#g-datalist-clear">g_datalist_clear</a>                    (<a class="link" href="glib-Keyed-Data-Lists.html#GData">GData</a> **datalist);void                <a class="link" href="glib-Keyed-Data-Lists.html#g-datalist-set-flags">g_datalist_set_flags</a>                (<a class="link" href="glib-Keyed-Data-Lists.html#GData">GData</a> **datalist,                                                         <a class="link" href="glib-Basic-Types.html#guint">guint</a> flags);void                <a class="link" href="glib-Keyed-Data-Lists.html#g-datalist-unset-flags">g_datalist_unset_flags</a>              (<a class="link" href="glib-Keyed-Data-Lists.html#GData">GData</a> **datalist,                                                         <a class="link" href="glib-Basic-Types.html#guint">guint</a> flags);<a class="link" href="glib-Basic-Types.html#guint">guint</a>               <a class="link" href="glib-Keyed-Data-Lists.html#g-datalist-get-flags">g_datalist_get_flags</a>                (<a class="link" href="glib-Keyed-Data-Lists.html#GData">GData</a> **datalist);#define             <a class="link" href="glib-Keyed-Data-Lists.html#G-DATALIST-FLAGS-MASK:CAPS">G_DATALIST_FLAGS_MASK</a></pre></div><div class="refsect1" lang="en"><a name="id3353419"></a><h2>Description</h2><p>Keyed data lists provide lists of arbitrary data elements which can be accessedeither with a string or with a <a class="link" href="glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> corresponding to thestring.</p><p>The <a class="link" href="glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> methods are quicker, since the strings have to be converted to<span class="type">GQuarks</span> anyway.</p><p>Data lists are used for associating arbitrary data with<span class="type">GObjects</span>, using <ahref="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#g-object-set-data"><code class="function">g_object_set_data()</code></a> and related functions.</p><p>To create a datalist, use <a class="link" href="glib-Keyed-Data-Lists.html#g-datalist-init"><code class="function">g_datalist_init()</code></a>.</p><p>To add data elements to a datalist use <a class="link" href="glib-Keyed-Data-Lists.html#g-datalist-id-set-data"><code class="function">g_datalist_id_set_data()</code></a>,<a class="link" href="glib-Keyed-Data-Lists.html#g-datalist-id-set-data-full"><code class="function">g_datalist_id_set_data_full()</code></a>, <a class="link" href="glib-Keyed-Data-Lists.html#g-datalist-set-data"><code class="function">g_datalist_set_data()</code></a>and <a class="link" href="glib-Keyed-Data-Lists.html#g-datalist-set-data-full"><code class="function">g_datalist_set_data_full()</code></a>.</p><p>To get data elements from a datalist use <a class="link" href="glib-Keyed-Data-Lists.html#g-datalist-id-get-data"><code class="function">g_datalist_id_get_data()</code></a> and<a class="link" href="glib-Keyed-Data-Lists.html#g-datalist-get-data"><code class="function">g_datalist_get_data()</code></a>.</p><p>To iterate over all data elements in a datalist use <a class="link" href="glib-Keyed-Data-Lists.html#g-datalist-foreach"><code class="function">g_datalist_foreach()</code></a> (not thread-safe).</p><p>To remove data elements from a datalist use <a class="link" href="glib-Keyed-Data-Lists.html#g-datalist-id-remove-data"><code class="function">g_datalist_id_remove_data()</code></a> and<a class="link" href="glib-Keyed-Data-Lists.html#g-datalist-remove-data"><code class="function">g_datalist_remove_data()</code></a>.</p><p>To remove all data elements from a datalist, use <a class="link" href="glib-Keyed-Data-Lists.html#g-datalist-clear"><code class="function">g_datalist_clear()</code></a>.</p></div><div class="refsect1" lang="en"><a name="id3353634"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id3353644"></a><h3><a name="GData"></a>GData</h3><a class="indexterm" name="id3353657"></a><pre class="programlisting">typedef struct _GData GData;</pre><p>The <a class="link" href="glib-Keyed-Data-Lists.html#GData"><span class="type">GData</span></a> struct is an opaque data structure to represent a<a class="link" href="glib-Keyed-Data-Lists.html" title="Keyed Data Lists">Keyed Data List</a>.It should only be accessed via the following functions.</p></div><hr><div class="refsect2" lang="en"><a name="id3353691"></a><h3><a name="g-datalist-init"></a>g_datalist_init ()</h3><a class="indexterm" name="id3353702"></a><pre class="programlisting">void                g_datalist_init                     (<a class="link" href="glib-Keyed-Data-Lists.html#GData">GData</a> **datalist);</pre><p>Resets the datalist to <a class="link" href="glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.It does not free any memory or call any destroy functions.</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><em class="parameter"><code>datalist</code></em>&#160;:</span></p></td><td>a pointer to a pointer to a datalist.</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id3353761"></a><h3><a name="g-datalist-id-set-data"></a>g_datalist_id_set_data()</h3><a class="indexterm" name="id3353774"></a><pre class="programlisting">#define             g_datalist_id_set_data(dl, q, d)</pre><p>Sets the data corresponding to the given <a class="link" href="glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> id.Any previous data with the same key is removed, and itsdestroy function is called.</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><em class="parameter"><code>dl</code></em>&#160;:</span></p></td><td>a datalist.</td></tr><tr><td><p><span class="term"><em class="parameter"><code>q</code></em>&#160;:</span></p></td><td>the <a class="link" href="glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> to identify the data element.</td></tr><tr><td><p><span class="term"><em class="parameter"><code>d</code></em>&#160;:</span></p></td><td>the data element, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to remove any previous elementcorresponding to <em class="parameter"><code>q</code></em>.</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id3353870"></a><h3><a name="g-datalist-id-set-data-full"></a>g_datalist_id_set_data_full ()</h3><a class="indexterm" name="id3353884"></a><pre class="programlisting">void                g_datalist_id_set_data_full         (<a class="link" href="glib-Keyed-Data-Lists.html#GData">GData</a> **datalist,                                                         <a class="link" href="glib-Quarks.html#GQuark">GQuark</a> key_id,                                                         <a class="link" href="glib-Basic-Types.html#gpointer">gpointer</a> data,                                                         <a class="link" href="glib-Datasets.html#GDestroyNotify">GDestroyNotify</a> destroy_func);</pre><p>Sets the data corresponding to the given <a class="link" href="glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> id, and the function tobe called when the element is removed from the datalist.Any previous data with the same key is removed, and itsdestroy function is called.</p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><em class="parameter"><code>datalist</code></em>&#160;:</span></p></td><td>a datalist.</td></tr><tr><td><p><span class="term"><em class="parameter"><code>key_id</code></em>&#160;:</span></p></td><td>the <a class="link" href="glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> to identify the data element.</td></tr><tr>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -