📄 gtktreeselection.html
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"><title>GtkTreeSelection</title><meta name="generator" content="DocBook XSL Stylesheets V1.73.2"><link rel="start" href="index.html" title="GTK+ Reference Manual"><link rel="up" href="TreeWidgetObjects.html" title="Tree, List and Icon Grid Widgets"><link rel="prev" href="GtkTreeModel.html" title="GtkTreeModel"><link rel="next" href="GtkTreeViewColumn.html" title="GtkTreeViewColumn"><meta name="generator" content="GTK-Doc V1.9 (XML mode)"><link rel="stylesheet" href="style.css" type="text/css"><link rel="part" href="gtk.html" title="Part I. GTK+ Overview"><link rel="part" href="gtkbase.html" title="Part II. GTK+ Core Reference"><link rel="part" href="gtkobjects.html" title="Part III. GTK+ Widgets and Objects"><link rel="chapter" href="ch01.html" title="Object Hierarchy"><link rel="chapter" href="ch02.html" title="Widget Gallery"><link rel="chapter" href="WindowWidgets.html" title="Windows"><link rel="chapter" href="DisplayWidgets.html" title="Display Widgets"><link rel="chapter" href="ButtonWidgets.html" title="Buttons and Toggles"><link rel="chapter" href="NumericEntry.html" title="Numeric/Text Data Entry"><link rel="chapter" href="TextWidgetObjects.html" title="Multiline Text Editor"><link rel="chapter" href="TreeWidgetObjects.html" title="Tree, List and Icon Grid Widgets"><link rel="chapter" href="MenusAndCombos.html" title="Menus, Combo Box, Toolbar"><link rel="chapter" href="Actions.html" title="Action-based menus and toolbars"><link rel="chapter" href="SelectorWidgets.html" title="Selectors (File/Font/Color/Input Devices)"><link rel="chapter" href="LayoutContainers.html" title="Layout Containers"><link rel="chapter" href="Ornaments.html" title="Ornaments"><link rel="chapter" href="ScrollingWidgets.html" title="Scrolling"><link rel="chapter" href="Printing.html" title="Printing"><link rel="chapter" href="MiscObjects.html" title="Miscellaneous"><link rel="chapter" href="AbstractObjects.html" title="Abstract Base Classes"><link rel="chapter" href="PlugSocket.html" title="Cross-process Embedding"><link rel="chapter" href="SpecialObjects.html" title="Special-purpose features"><link rel="chapter" href="RecentDocuments.html" title="Recently Used Documents"><link rel="chapter" href="Builder.html" title="Interface builder"><link rel="chapter" href="DeprecatedObjects.html" title="Deprecated"><link rel="part" href="migrating.html" title="Part IV. Migrating from Previous Versions of GTK+"><link rel="chapter" href="gtk-migrating-checklist.html" title="Migration Checklist"><link rel="chapter" href="gtk-migrating-GtkFileChooser.html" title="Migrating from GtkFileSelection to GtkFileChooser"><link rel="chapter" href="gtk-migrating-GtkAction.html" title="Migrating from old menu and toolbar systems to GtkAction"><link rel="chapter" href="gtk-migrating-GtkComboBox.html" title="Migrating from GtkOptionMenu and GtkCombo to GtkComboBox and GtkComboBoxEntry"><link rel="chapter" href="gtk-migrating-GtkIconView.html" title="Migrating from GnomeIconList to GtkIconView"><link rel="chapter" href="gtk-migrating-GtkAboutDialog.html" title="Migrating from GnomeAbout to GtkAboutDialog"><link rel="chapter" href="gtk-migrating-GtkColorButton.html" title="Migrating from GnomeColorPicker to GtkColorButton"><link rel="chapter" href="gtk-migrating-GtkAssistant.html" title="Migrating from GnomeDruid to GtkAssistant"><link rel="chapter" href="gtk-migrating-GtkRecentChooser.html" title="Migrating from EggRecent to GtkRecentChooser"><link rel="chapter" href="gtk-migrating-GtkLinkButton.html" title="Migrating from GnomeHRef to GtkLinkButton"><link rel="chapter" href="gtk-migrating-GtkBuilder.html" title="Migrating from libglade to GtkBuilder"><link rel="chapter" href="gtk-migrating-tooltips.html" title="Migrating from GtkTooltips to GtkTooltip"><link rel="part" href="pt05.html" title="Part V. GTK+ Tools"><link rel="glossary" href="glossary.html" title="Glossary"><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"></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="GtkTreeModel.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="TreeWidgetObjects.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">GTK+ Reference Manual</th><td><a accesskey="n" href="GtkTreeViewColumn.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="#id3694082" class="shortcut">Top</a>  |  <a href="#id3694862" class="shortcut">Description</a>  |  <a href="#id3694810" class="shortcut">Object Hierarchy</a>  |  <a href="#id3694835" class="shortcut">Signals</a></nobr></td></tr></table><div class="refentry" lang="en"><a name="GtkTreeSelection"></a><div class="titlepage"></div><div class="refnamediv"><table width="100%"><tr><td valign="top"><h2><a name="id3694082"></a><span class="refentrytitle">GtkTreeSelection</span></h2><p>GtkTreeSelection — The selection object for GtkTreeView</p></td><td valign="top" align="right"></td></tr></table></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">#include <gtk/gtk.h> <a class="link" href="GtkTreeSelection.html#GtkTreeSelection-struct">GtkTreeSelection</a>;<ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean">gboolean</a> (<a class="link" href="GtkTreeSelection.html#GtkTreeSelectionFunc">*GtkTreeSelectionFunc</a>) (<a class="link" href="GtkTreeSelection.html" title="GtkTreeSelection">GtkTreeSelection</a> *selection, <a class="link" href="GtkTreeModel.html" title="GtkTreeModel">GtkTreeModel</a> *model, <a class="link" href="GtkTreeModel.html#GtkTreePath">GtkTreePath</a> *path, <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean">gboolean</a> path_currently_selected, <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer">gpointer</a> data);void (<a class="link" href="GtkTreeSelection.html#GtkTreeSelectionForeachFunc">*GtkTreeSelectionForeachFunc</a>) (<a class="link" href="GtkTreeModel.html" title="GtkTreeModel">GtkTreeModel</a> *model, <a class="link" href="GtkTreeModel.html#GtkTreePath">GtkTreePath</a> *path, <a class="link" href="GtkTreeModel.html#GtkTreeIter">GtkTreeIter</a> *iter, <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer">gpointer</a> data);void <a class="link" href="GtkTreeSelection.html#gtk-tree-selection-set-mode">gtk_tree_selection_set_mode</a> (<a class="link" href="GtkTreeSelection.html" title="GtkTreeSelection">GtkTreeSelection</a> *selection, <a class="link" href="gtk-Standard-Enumerations.html#GtkSelectionMode">GtkSelectionMode</a> type);<a class="link" href="gtk-Standard-Enumerations.html#GtkSelectionMode">GtkSelectionMode</a> <a class="link" href="GtkTreeSelection.html#gtk-tree-selection-get-mode">gtk_tree_selection_get_mode</a> (<a class="link" href="GtkTreeSelection.html" title="GtkTreeSelection">GtkTreeSelection</a> *selection);void <a class="link" href="GtkTreeSelection.html#gtk-tree-selection-set-select-function">gtk_tree_selection_set_select_function</a> (<a class="link" href="GtkTreeSelection.html" title="GtkTreeSelection">GtkTreeSelection</a> *selection, <a class="link" href="GtkTreeSelection.html#GtkTreeSelectionFunc">GtkTreeSelectionFunc</a> func, <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer">gpointer</a> data, <a class="link" href="gtk-Types.html#GtkDestroyNotify">GtkDestroyNotify</a> destroy);<ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer">gpointer</a> <a class="link" href="GtkTreeSelection.html#gtk-tree-selection-get-user-data">gtk_tree_selection_get_user_data</a> (<a class="link" href="GtkTreeSelection.html" title="GtkTreeSelection">GtkTreeSelection</a> *selection);<a class="link" href="GtkTreeView.html" title="GtkTreeView">GtkTreeView</a>* <a class="link" href="GtkTreeSelection.html#gtk-tree-selection-get-tree-view">gtk_tree_selection_get_tree_view</a> (<a class="link" href="GtkTreeSelection.html" title="GtkTreeSelection">GtkTreeSelection</a> *selection);<ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean">gboolean</a> <a class="link" href="GtkTreeSelection.html#gtk-tree-selection-get-selected">gtk_tree_selection_get_selected</a> (<a class="link" href="GtkTreeSelection.html" title="GtkTreeSelection">GtkTreeSelection</a> *selection, <a class="link" href="GtkTreeModel.html" title="GtkTreeModel">GtkTreeModel</a> **model, <a class="link" href="GtkTreeModel.html#GtkTreeIter">GtkTreeIter</a> *iter);void <a class="link" href="GtkTreeSelection.html#gtk-tree-selection-selected-foreach">gtk_tree_selection_selected_foreach</a> (<a class="link" href="GtkTreeSelection.html" title="GtkTreeSelection">GtkTreeSelection</a> *selection, <a class="link" href="GtkTreeSelection.html#GtkTreeSelectionForeachFunc">GtkTreeSelectionForeachFunc</a> func, <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer">gpointer</a> data);<ahref="/usr/share/gtk-doc/html/glib/glib-Doubly-Linked-Lists.html#GList">GList</a>* <a class="link" href="GtkTreeSelection.html#gtk-tree-selection-get-selected-rows">gtk_tree_selection_get_selected_rows</a> (<a class="link" href="GtkTreeSelection.html" title="GtkTreeSelection">GtkTreeSelection</a> *selection, <a class="link" href="GtkTreeModel.html" title="GtkTreeModel">GtkTreeModel</a> **model);<ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gint">gint</a> <a class="link" href="GtkTreeSelection.html#gtk-tree-selection-count-selected-rows">gtk_tree_selection_count_selected_rows</a> (<a class="link" href="GtkTreeSelection.html" title="GtkTreeSelection">GtkTreeSelection</a> *selection);void <a class="link" href="GtkTreeSelection.html#gtk-tree-selection-select-path">gtk_tree_selection_select_path</a> (<a class="link" href="GtkTreeSelection.html" title="GtkTreeSelection">GtkTreeSelection</a> *selection, <a class="link" href="GtkTreeModel.html#GtkTreePath">GtkTreePath</a> *path);void <a class="link" href="GtkTreeSelection.html#gtk-tree-selection-unselect-path">gtk_tree_selection_unselect_path</a> (<a class="link" href="GtkTreeSelection.html" title="GtkTreeSelection">GtkTreeSelection</a> *selection, <a class="link" href="GtkTreeModel.html#GtkTreePath">GtkTreePath</a> *path);<ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean">gboolean</a> <a class="link" href="GtkTreeSelection.html#gtk-tree-selection-path-is-selected">gtk_tree_selection_path_is_selected</a> (<a class="link" href="GtkTreeSelection.html" title="GtkTreeSelection">GtkTreeSelection</a> *selection, <a class="link" href="GtkTreeModel.html#GtkTreePath">GtkTreePath</a> *path);void <a class="link" href="GtkTreeSelection.html#gtk-tree-selection-select-iter">gtk_tree_selection_select_iter</a> (<a class="link" href="GtkTreeSelection.html" title="GtkTreeSelection">GtkTreeSelection</a> *selection, <a class="link" href="GtkTreeModel.html#GtkTreeIter">GtkTreeIter</a> *iter);void <a class="link" href="GtkTreeSelection.html#gtk-tree-selection-unselect-iter">gtk_tree_selection_unselect_iter</a> (<a class="link" href="GtkTreeSelection.html" title="GtkTreeSelection">GtkTreeSelection</a> *selection, <a class="link" href="GtkTreeModel.html#GtkTreeIter">GtkTreeIter</a> *iter);<ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean">gboolean</a> <a class="link" href="GtkTreeSelection.html#gtk-tree-selection-iter-is-selected">gtk_tree_selection_iter_is_selected</a> (<a class="link" href="GtkTreeSelection.html" title="GtkTreeSelection">GtkTreeSelection</a> *selection, <a class="link" href="GtkTreeModel.html#GtkTreeIter">GtkTreeIter</a> *iter);void <a class="link" href="GtkTreeSelection.html#gtk-tree-selection-select-all">gtk_tree_selection_select_all</a> (<a class="link" href="GtkTreeSelection.html" title="GtkTreeSelection">GtkTreeSelection</a> *selection);void <a class="link" href="GtkTreeSelection.html#gtk-tree-selection-unselect-all">gtk_tree_selection_unselect_all</a> (<a class="link" href="GtkTreeSelection.html" title="GtkTreeSelection">GtkTreeSelection</a> *selection);void <a class="link" href="GtkTreeSelection.html#gtk-tree-selection-select-range">gtk_tree_selection_select_range</a> (<a class="link" href="GtkTreeSelection.html" title="GtkTreeSelection">GtkTreeSelection</a> *selection, <a class="link" href="GtkTreeModel.html#GtkTreePath">GtkTreePath</a> *start_path, <a class="link" href="GtkTreeModel.html#GtkTreePath">GtkTreePath</a> *end_path);void <a class="link" href="GtkTreeSelection.html#gtk-tree-selection-unselect-range">gtk_tree_selection_unselect_range</a> (<a class="link" href="GtkTreeSelection.html" title="GtkTreeSelection">GtkTreeSelection</a> *selection, <a class="link" href="GtkTreeModel.html#GtkTreePath">GtkTreePath</a> *start_path, <a class="link" href="GtkTreeModel.html#GtkTreePath">GtkTreePath</a> *end_path);</pre></div><div class="refsect1" lang="en"><a name="id3694810"></a><h2>Object Hierarchy</h2><pre class="synopsis"> <ahref="/usr/share/gtk-doc/html/gobject/gobject-The-Base-Object-Type.html#GObject">GObject</a> +----GtkTreeSelection</pre></div><div class="refsect1" lang="en"><a name="id3694835"></a><h2>Signals</h2><pre class="synopsis"> "<a class="link" href="GtkTreeSelection.html#GtkTreeSelection-changed">changed</a>" : Run First</pre></div><div class="refsect1" lang="en"><a name="id3694862"></a><h2>Description</h2><p>The <a class="link" href="GtkTreeSelection.html" title="GtkTreeSelection"><span class="type">GtkTreeSelection</span></a> object is a helper object to manage the selectionfor a <a class="link" href="GtkTreeView.html" title="GtkTreeView"><span class="type">GtkTreeView</span></a> widget. The <a class="link" href="GtkTreeSelection.html" title="GtkTreeSelection"><span class="type">GtkTreeSelection</span></a> object isautomatically created when a new <a class="link" href="GtkTreeView.html" title="GtkTreeView"><span class="type">GtkTreeView</span></a> widget is created, andcannot exist independentally of this widget. The primary reason the<a class="link" href="GtkTreeSelection.html" title="GtkTreeSelection"><span class="type">GtkTreeSelection</span></a> objects exists is for cleanliness of code and API.That is, there is no conceptual reason all these functions could not bemethods on the <a class="link" href="GtkTreeView.html" title="GtkTreeView"><span class="type">GtkTreeView</span></a> widget instead of a separate function.</p><p>The <a class="link" href="GtkTreeSelection.html" title="GtkTreeSelection"><span class="type">GtkTreeSelection</span></a> object is gotten from a <a class="link" href="GtkTreeView.html" title="GtkTreeView"><span class="type">GtkTreeView</span></a> by calling<a class="link" href="GtkTreeView.html#gtk-tree-view-get-selection"><code class="function">gtk_tree_view_get_selection()</code></a>. It can be manipulated to check theselection status of the tree, as well as select and deselect individualrows. Selection is done completely view side. As a result, multipleviews of the same model can have completely different selections.Additionally, you cannot change the selection of a row on the model thatis not currently displayed by the view without expanding its parentsfirst.</p><p>One of the important things to remember when monitoring the selection ofa view is that the <a class="link" href="GtkTreeSelection.html#GtkTreeSelection-changed"><span class="type">"changed"</span></a> signal is mostly a hint. That is, it mayonly emit one signal when a range of rows is selected. Additionally, itmay on occasion emit a ::changed signal when nothing has happened(mostly as a result of programmers calling select_row on an alreadyselected row).</p></div><div class="refsect1" lang="en"><a name="id3694988"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id3694998"></a><h3><a name="GtkTreeSelection-struct"></a>GtkTreeSelection</h3><a class="indexterm" name="id3695011"></a><pre class="programlisting">typedef struct _GtkTreeSelection GtkTreeSelection;</pre><p></p></div><hr><div class="refsect2" lang="en"><a name="id3695027"></a><h3><a name="GtkTreeSelectionFunc"></a>GtkTreeSelectionFunc ()</h3><a class="indexterm" name="id3695040"></a><pre class="programlisting"><ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean">gboolean</a> (*GtkTreeSelectionFunc) (<a class="link" href="GtkTreeSelection.html" title="GtkTreeSelection">GtkTreeSelection</a> *selection, <a class="link" href="GtkTreeModel.html" title="GtkTreeModel">GtkTreeModel</a> *model, <a class="link" href="GtkTreeModel.html#GtkTreePath">GtkTreePath</a> *path, <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean">gboolean</a> path_currently_selected, <ahref="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gpointer">gpointer</a> data);</pre><p>A function used by <a class="link" href="GtkTreeSelection.html#gtk-tree-selection-set-select-function"><code class="function">gtk_tree_selection_set_select_function()</code></a> to filterwhether or not a row may be selected. It is called whenever a row'sstate might change. A return value of <ahref="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -