<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>gtkmm 2.4: Gtk::ListStore Class Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head> <body bgcolor="#ffffff"> <table border="0" width="100%"> <tr> <td width="10%" height="40"><img src="../../images/gtkmm_logo.gif" alt="logo" border="0" width="100%" height="100%"/></td> <td width="90%" height="40"><img src="../../images/top.gif" alt="top" width="100%" height="40"/></td> </tr> </table> <center> <a class="qindex" href="../../index.html">Main Page</a> <a href="group__Widgets.html">Widgets</a> <a class="qindex" href="namespaces.html"> Namespaces</a> <a href="../../tutorial/html/index.html"> Book</a> </center> <hr width="100%"/> <!-- begin main content --> <div id="content"> <!-- Generated by Doxygen 1.5.1 --> <div class="nav"> <a class="el" href="namespaceGtk.html">Gtk</a>::<a class="el" href="classGtk_1_1ListStore.html">ListStore</a></div> <h1>Gtk::ListStore Class Reference<br> <small> [<a class="el" href="group__TreeView.html">TreeView Classes</a>]</small> </h1><!-- doxytag: class="Gtk::ListStore" --><!-- doxytag: inherits="Glib::Object,Gtk::TreeModel,Gtk::TreeSortable,Gtk::TreeDragSource,Gtk::TreeDragDest" -->Inheritance diagram for Gtk::ListStore:<p><center><img src="classGtk_1_1ListStore__inherit__graph.png" border="0" usemap="#Gtk_1_1ListStore__inherit__map" alt="Inheritance graph"></center> <map name="Gtk_1_1ListStore__inherit__map"> <area doxygen="glibmm_doxygen_tags:../../../../glibmm-2.4/docs/reference/html/" href="../../../../glibmm-2.4/docs/reference/html/classGlib_1_1Object.html" shape="rect" coords="5,161,99,188" alt=""> <area doxygen="glibmm_doxygen_tags:../../../../glibmm-2.4/docs/reference/html/" href="../../../../glibmm-2.4/docs/reference/html/classGlib_1_1ObjectBase.html" shape="rect" coords="109,84,235,110" alt=""> <area doxygen="glibmm_doxygen_tags:../../../../glibmm-2.4/docs/reference/html/" href="../../../../glibmm-2.4/docs/reference/html/classGlib_1_1Interface.html" shape="rect" coords="181,161,291,188" alt=""> <area doxygen="glibmm_doxygen_tags:../../../../glibmm-2.4/docs/reference/html/" href="../../../../glibmm-2.4/docs/reference/html/classsigc_1_1trackable.html" shape="rect" coords="116,6,228,33" alt=""> <area href="classGtk_1_1TreeModel.html" shape="rect" coords="32,238,147,265" alt=""> <area href="classGtk_1_1TreeSortable.html" shape="rect" coords="171,238,301,265" alt=""> <area href="classGtk_1_1TreeDragSource.html" shape="rect" coords="325,238,480,265" alt=""> <area href="classGtk_1_1TreeDragDest.html" shape="rect" coords="504,238,643,265" alt=""> </map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classGtk_1_1ListStore-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2> Thist is a list model for use with a <a class="el" href="classGtk_1_1TreeView.html">Gtk::TreeView</a> widget. <p> It implements the <a class="el" href="classGtk_1_1TreeModel.html">Gtk::TreeModel</a> interface, and also implements the <a class="el" href="classGtk_1_1TreeSortable.html">Gtk::TreeSortable</a> interface so you can sort the list using the view. Finally, it also implements the tree drag and drop interfaces. <p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classGtk_1_1TreeIter.html">iterator</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1ListStore.html#f47307c865cc5de0856fe3f8571fc681">append</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Creates a new row at the end. <a href="#f47307c865cc5de0856fe3f8571fc681"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1ListStore.html#770bf1cc24ab0e02bdd96531107da603">clear</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Removes all rows from the list store. <a href="#770bf1cc24ab0e02bdd96531107da603"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classGtk_1_1TreeIter.html">iterator</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1ListStore.html#bf6e5cbe94951adc5b62120d9df1b562">erase</a> (const <a class="el" href="classGtk_1_1TreeIter.html">iterator</a>& iter)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Removes the given row from the list store. <a href="#bf6e5cbe94951adc5b62120d9df1b562"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const GtkListStore* </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1ListStore.html#08c19507bc7e2e7d10df7e3966aab148">gobj</a> () const</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Provides access to the underlying C GObject. <a href="#08c19507bc7e2e7d10df7e3966aab148"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">GtkListStore* </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1ListStore.html#5086758716b9f34a5219b1387aebe59c">gobj</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Provides access to the underlying C GObject. <a href="#5086758716b9f34a5219b1387aebe59c"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">GtkListStore* </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1ListStore.html#abc577b9267750688417879a066d49b8">gobj_copy</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. <a href="#abc577b9267750688417879a066d49b8"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classGtk_1_1TreeIter.html">iterator</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1ListStore.html#b71d860741465ea79bc352c4575e47ec">insert</a> (const <a class="el" href="classGtk_1_1TreeIter.html">iterator</a>& iter)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Creates a new row before the position. <a href="#b71d860741465ea79bc352c4575e47ec"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classGtk_1_1TreeIter.html">iterator</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1ListStore.html#b9032c9d9f620e10f32428e2358f44df">insert_after</a> (const <a class="el" href="classGtk_1_1TreeIter.html">iterator</a>& iter)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Creates a new row after the position. <a href="#b9032c9d9f620e10f32428e2358f44df"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1ListStore.html#e307acf882557f319dc309963c07705a">iter_is_valid</a> (const <a class="el" href="classGtk_1_1TreeIter.html">iterator</a>& iter) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight"><warning>This function is slow. <a href="#e307acf882557f319dc309963c07705a"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1ListStore.html#2f3617442cd5b52db485f4dc31f91da9">iter_swap</a> (const <a class="el" href="classGtk_1_1TreeIter.html">iterator</a>& a, const <a class="el" href="classGtk_1_1TreeIter.html">iterator</a>& b)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Swaps <em>a</em> and <em>b</em> in <em>store</em> . <a href="#2f3617442cd5b52db485f4dc31f91da9"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1ListStore.html#cc5515fbabf7826d6d3a0e15ca81d2b9">move</a> (const <a class="el" href="classGtk_1_1TreeIter.html">iterator</a>& source, const <a class="el" href="classGtk_1_1TreeIter.html">iterator</a>& destination)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Moves <em>source</em> to the position at <em>destination</em>. <a href="#cc5515fbabf7826d6d3a0e15ca81d2b9"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classGtk_1_1TreeIter.html">iterator</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1ListStore.html#1fd8146c61bae1a95b050e9126ea1928">prepend</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Creates a new row at the start. <a href="#1fd8146c61bae1a95b050e9126ea1928"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1ListStore.html#9f90bf171dda629135f4573ef9eaeef0">reorder</a> (const <a class="elRef" doxygen="glibmm_doxygen_tags:../../../../glibmm-2.4/docs/reference/html/" href="../../../../glibmm-2.4/docs/reference/html/classGlib_1_1ArrayHandle.html">Glib::ArrayHandle</a><int>& new_order)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Reorders the list store to follow the order indicated by <em>new_order</em>. <a href="#9f90bf171dda629135f4573ef9eaeef0"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1ListStore.html#6abba5fb66c20f1bfcea79adff7aa321">set_column_types</a> (const <a class="el" href="classGtk_1_1TreeModelColumnRecord.html">TreeModelColumnRecord</a>& columns)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1ListStore.html#8c5efcf41ba5958337c69ec539f678df">~ListStore</a> ()</td></tr> <tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="elRef" doxygen="glibmm_doxygen_tags:../../../../glibmm-2.4/docs/reference/html/" href="../../../../glibmm-2.4/docs/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a><<a class="el" href="classGtk_1_1ListStore.html">ListStore</a>> </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1ListStore.html#aa6c530560f66872482a0650739276c5">create</a> (const <a class="el" href="classGtk_1_1TreeModelColumnRecord.html">TreeModelColumnRecord</a>& columns)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Instantiate a new <a class="el" href="classGtk_1_1ListStore.html">ListStore</a>. <a href="#aa6c530560f66872482a0650739276c5"></a><br></td></tr> <tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1ListStore.html#6fdbba7946ad83842d61574697dddbc6">ListStore</a> (const <a class="el" href="classGtk_1_1TreeModelColumnRecord.html">TreeModelColumnRecord</a>& columns)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1ListStore.html#ab8cae9bc8193ce13e7b983092405d25">ListStore</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">When using this constructor, you must use <a class="el" href="classGtk_1_1ListStore.html#6abba5fb66c20f1bfcea79adff7aa321">set_column_types()</a> immediately afterwards. <a href="#ab8cae9bc8193ce13e7b983092405d25"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1ListStore.html#dd757d2d02d35b5ea782c86eef04bae7">set_value_impl</a> (const <a class="el" href="classGtk_1_1TreeIter.html">iterator</a>& row, int column, const <a class="elRef" doxygen="glibmm_doxygen_tags:../../../../glibmm-2.4/docs/reference/html/" href="../../../../glibmm-2.4/docs/reference/html/classGlib_1_1ValueBase.html">Glib::ValueBase</a>& value)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Override and implement this in a derived <a class="el" href="classGtk_1_1TreeModel.html">TreeModel</a> class, so that Row::operator() and Row::set_value() work. <a href="#dd757d2d02d35b5ea782c86eef04bae7"></a><br></td></tr> <tr><td colspan="2"><br><h2>Related Functions</h2></td></tr> <tr><td colspan="2">(Note that these are not member functions.) <br><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="elRef" doxygen="glibmm_doxygen_tags:../../../../glibmm-2.4/docs/reference/html/" href="../../../../glibmm-2.4/docs/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a><<a class="el" href="classGtk_1_1ListStore.html">Gtk::ListStore</a>> </td><td class="memItemRight" valign="bottom"><a class="el" href="classGtk_1_1ListStore.html#c9a0a0d9b34c33a9775ec4d89da2f0df">wrap</a> (GtkListStore* object, bool take_copy=false)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A <a class="elRef" doxygen="glibmm_doxygen_tags:../../../../glibmm-2.4/docs/reference/html/" href="../../../../glibmm-2.4/docs/reference/html/namespaceGlib.html#671306f4a3a0cae5ab4d7a9d54886592">Glib::wrap()</a> method for this object. <a href="#c9a0a0d9b34c33a9775ec4d89da2f0df"></a><br></td></tr> </table> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="8c5efcf41ba5958337c69ec539f678df"></a><!-- doxytag: member="Gtk::ListStore::~ListStore" ref="8c5efcf41ba5958337c69ec539f678df" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual Gtk::ListStore::~ListStore </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="ab8cae9bc8193ce13e7b983092405d25"></a><!-- doxytag: member="Gtk::ListStore::ListStore" ref="ab8cae9bc8193ce13e7b983092405d25" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">Gtk::ListStore::ListStore </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> When using this constructor, you must use <a class="el" href="classGtk_1_1ListStore.html#6abba5fb66c20f1bfcea79adff7aa321">set_column_types()</a> immediately afterwards. <p> This can be useful when deriving from this class, with a fixed <a class="el" href="classGtk_1_1TreeModelColumnRecord.html">TreeModelColumnRecord</a> that is a member of the class. There is no <a class="el" href="classGtk_1_1ListStore.html#aa6c530560f66872482a0650739276c5">create()</a> method that corresponds to this constructor, because this constructor should only be used by derived classes. </div> </div><p> <a class="anchor" name="6fdbba7946ad83842d61574697dddbc6"></a><!-- doxytag: member="Gtk::ListStore::ListStore" ref="6fdbba7946ad83842d61574697dddbc6" args="(const TreeModelColumnRecord &columns)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">Gtk::ListStore::ListStore </td> <td>(</td> <td class="paramtype">const <a class="el" href="classGtk_1_1TreeModelColumnRecord.html">TreeModelColumnRecord</a>& </td> <td class="paramname"> <em>columns</em> </td> <td> ) </td> <td width="100%"><code> [explicit, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="f47307c865cc5de0856fe3f8571fc681"></a><!-- doxytag: member="Gtk::ListStore::append" ref="f47307c865cc5de0856fe3f8571fc681" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classGtk_1_1TreeIter.html">iterator</a> Gtk::ListStore::append </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Creates a new row at the end. <p> The row will be empty - to fill in values, you need to dereference the returned iterator and use Row::operator[] or Row::set_value(). See also <a class="el" href="classGtk_1_1ListStore.html#b71d860741465ea79bc352c4575e47ec">insert()</a> and <a class="el" href="classGtk_1_1ListStore.html#1fd8146c61bae1a95b050e9126ea1928">prepend()</a>.<p> <dl class="return" compact><dt><b>Returns:</b></dt><dd>An iterator to the new row. </dd></dl> </div> </div><p> <a class="anchor" name="770bf1cc24ab0e02bdd96531107da603"></a><!-- doxytag: member="Gtk::ListStore::clear" ref="770bf1cc24ab0e02bdd96531107da603" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Gtk::ListStore::clear </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Removes all rows from the list store. <p> </div> </div><p> <a class="anchor" name="aa6c530560f66872482a0650739276c5"></a><!-- doxytag: member="Gtk::ListStore::create" ref="aa6c530560f66872482a0650739276c5" args="(const TreeModelColumnRecord &columns)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static <a class="elRef" doxygen="glibmm_doxygen_tags:../../../../glibmm-2.4/docs/reference/html/" href="../../../../glibmm-2.4/docs/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a><<a class="el" href="classGtk_1_1ListStore.html">ListStore</a>> Gtk::ListStore::create </td> <td>(</td> <td class="paramtype">const <a class="el" href="classGtk_1_1TreeModelColumnRecord.html">TreeModelColumnRecord</a>& </td> <td class="paramname"> <em>columns</em> </td> <td> ) </td> <td width="100%"><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Instantiate a new <a class="el" href="classGtk_1_1ListStore.html">ListStore</a>. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>columns</em> </td><td>The column types for this tree model. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>The new <a class="el" href="classGtk_1_1ListStore.html">ListStore</a>. </dd></dl> </div> </div><p> <a class="anchor" name="bf6e5cbe94951adc5b62120d9df1b562"></a><!-- doxytag: member="Gtk::ListStore::erase" ref="bf6e5cbe94951adc5b62120d9df1b562" args="(const iterator &iter)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classGtk_1_1TreeIter.html">iterator</a> Gtk::ListStore::erase </td> <td>(</td> <td class="paramtype">const <a class="el" href="classGtk_1_1TreeIter.html">iterator</a>& </td> <td class="paramname"> <em>iter</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Removes the given row from the list store. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>iter</em> </td><td>The iterator to the row to be removed. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>An iterator to the next row, or end() if there is none. </dd></dl> </div> </div><p> <a class="anchor" name="08c19507bc7e2e7d10df7e3966aab148"></a><!-- doxytag: member="Gtk::ListStore::gobj" ref="08c19507bc7e2e7d10df7e3966aab148" args="() const" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const GtkListStore* Gtk::ListStore::gobj </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Provides access to the underlying C GObject. <p> <p> Reimplemented from <a class="el" href="classGtk_1_1TreeDragDest.html#85e055266b044e97512086c26712578b">Gtk::TreeDragDest</a>. </div> </div><p> <a class="anchor" name="5086758716b9f34a5219b1387aebe59c"></a><!-- doxytag: member="Gtk::ListStore::gobj" ref="5086758716b9f34a5219b1387aebe59c" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GtkListStore* Gtk::ListStore::gobj </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Provides access to the underlying C GObject. <p> <p> Reimplemented from <a class="el" href="classGtk_1_1TreeDragDest.html#32d7775ca642898c25273907634a28b9">Gtk::TreeDragDest</a>. </div> </div><p> <a class="anchor" name="abc577b9267750688417879a066d49b8"></a><!-- doxytag: member="Gtk::ListStore::gobj_copy" ref="abc577b9267750688417879a066d49b8" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GtkListStore* Gtk::ListStore::gobj_copy </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. <p> </div> </div><p> <a class="anchor" name="b71d860741465ea79bc352c4575e47ec"></a><!-- doxytag: member="Gtk::ListStore::insert" ref="b71d860741465ea79bc352c4575e47ec" args="(const iterator &iter)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classGtk_1_1TreeIter.html">iterator</a> Gtk::ListStore::insert </td> <td>(</td> <td class="paramtype">const <a class="el" href="classGtk_1_1TreeIter.html">iterator</a>& </td> <td class="paramname"> <em>iter</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Creates a new row before the position. <p> If iter is end() then a new row will be appended to the list. The row will be empty - to fill in values, you need to dereference the returned iterator and use Row::operator[] or Row::set_value(). See also <a class="el" href="classGtk_1_1ListStore.html#1fd8146c61bae1a95b050e9126ea1928">prepend()</a> and <a class="el" href="classGtk_1_1ListStore.html#f47307c865cc5de0856fe3f8571fc681">append()</a>.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>iter</em> </td><td>An iterator to the row before which the new row will be inserted. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>An iterator to the new row. </dd></dl> </div> </div><p> <a class="anchor" name="b9032c9d9f620e10f32428e2358f44df"></a><!-- doxytag: member="Gtk::ListStore::insert_after" ref="b9032c9d9f620e10f32428e2358f44df" args="(const iterator &iter)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classGtk_1_1TreeIter.html">iterator</a> Gtk::ListStore::insert_after </td> <td>(</td> <td class="paramtype">const <a class="el" href="classGtk_1_1TreeIter.html">iterator</a>& </td> <td class="paramname"> <em>iter</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Creates a new row after the position. <p> If iter is end() then a new row will be prepended to the list. The row will be empty - to fill in values, you need to dereference the returned iterator and use Row::operator[] or Row::set_value(). See also <a class="el" href="classGtk_1_1ListStore.html#b71d860741465ea79bc352c4575e47ec">insert()</a>, <a class="el" href="classGtk_1_1ListStore.html#1fd8146c61bae1a95b050e9126ea1928">prepend()</a> and <a class="el" href="classGtk_1_1ListStore.html#f47307c865cc5de0856fe3f8571fc681">append()</a>.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>iter</em> </td><td>An iterator to the row after which the new row will be inserted. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>An iterator to the new row. </dd></dl> </div> </div><p> <a class="anchor" name="e307acf882557f319dc309963c07705a"></a><!-- doxytag: member="Gtk::ListStore::iter_is_valid" ref="e307acf882557f319dc309963c07705a" args="(const iterator &iter) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool Gtk::ListStore::iter_is_valid </td> <td>(</td> <td class="paramtype">const <a class="el" href="classGtk_1_1TreeIter.html">iterator</a>& </td> <td class="paramname"> <em>iter</em> </td> <td> ) </td> <td width="100%"> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <warning>This function is slow. <p> Only use it for debugging and/or testing purposes.</warning><p> Checks if the given iter is a valid iter for this <a class="el" href="classGtk_1_1ListStore.html">Gtk::ListStore</a>. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>iter</em> </td><td>A <a class="el" href="classGtk_1_1TreeIter.html">Gtk::TreeIter</a>. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd><code>true</code> if the iter is valid, <code>false</code> if the iter is invalid.</dd></dl> <dl compact><dt><b><a class="el" href="newin2p2s.html#_newin2p2s000099">Since gtkmm 2.2:</a></b></dt><dd></dd></dl> <p> Reimplemented from <a class="el" href="classGtk_1_1TreeModel.html#a5c6526633d0fa8a78fd3d14d1fbd6cf">Gtk::TreeModel</a>. </div> </div><p> <a class="anchor" name="2f3617442cd5b52db485f4dc31f91da9"></a><!-- doxytag: member="Gtk::ListStore::iter_swap" ref="2f3617442cd5b52db485f4dc31f91da9" args="(const iterator &a, const iterator &b)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Gtk::ListStore::iter_swap </td> <td>(</td> <td class="paramtype">const <a class="el" href="classGtk_1_1TreeIter.html">iterator</a>& </td> <td class="paramname"> <em>a</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classGtk_1_1TreeIter.html">iterator</a>& </td> <td class="paramname"> <em>b</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Swaps <em>a</em> and <em>b</em> in <em>store</em> . <p> Note that this function only works with unsorted stores.<p> <dl compact><dt><b><a class="el" href="newin2p2s.html#_newin2p2s000098">Since gtkmm 2.2:</a></b></dt><dd></dd></dl> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>a</em> </td><td>A <a class="el" href="classGtk_1_1TreeIter.html">Gtk::TreeIter</a>. </td></tr> <tr><td valign="top"></td><td valign="top"><em>b</em> </td><td>Another <a class="el" href="classGtk_1_1TreeIter.html">Gtk::TreeIter</a>. </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="cc5515fbabf7826d6d3a0e15ca81d2b9"></a><!-- doxytag: member="Gtk::ListStore::move" ref="cc5515fbabf7826d6d3a0e15ca81d2b9" args="(const iterator &source, const iterator &destination)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Gtk::ListStore::move </td> <td>(</td> <td class="paramtype">const <a class="el" href="classGtk_1_1TreeIter.html">iterator</a>& </td> <td class="paramname"> <em>source</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classGtk_1_1TreeIter.html">iterator</a>& </td> <td class="paramname"> <em>destination</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Moves <em>source</em> to the position at <em>destination</em>. <p> Note that this function only works with unsorted stores. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>source</em> </td><td>The row that should be moved. </td></tr> <tr><td valign="top"></td><td valign="top"><em>destination</em> </td><td>The position to move to. </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="1fd8146c61bae1a95b050e9126ea1928"></a><!-- doxytag: member="Gtk::ListStore::prepend" ref="1fd8146c61bae1a95b050e9126ea1928" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classGtk_1_1TreeIter.html">iterator</a> Gtk::ListStore::prepend </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Creates a new row at the start. <p> The row will be empty - to fill in values, you need to dereference the returned iterator and use Row::operator[] or Row::set_value(). See also <a class="el" href="classGtk_1_1ListStore.html#b71d860741465ea79bc352c4575e47ec">insert()</a> and <a class="el" href="classGtk_1_1ListStore.html#f47307c865cc5de0856fe3f8571fc681">append()</a>.<p> <dl class="return" compact><dt><b>Returns:</b></dt><dd>An iterator to the new row. </dd></dl> </div> </div><p> <a class="anchor" name="9f90bf171dda629135f4573ef9eaeef0"></a><!-- doxytag: member="Gtk::ListStore::reorder" ref="9f90bf171dda629135f4573ef9eaeef0" args="(const Glib::ArrayHandle< int > &new_order)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Gtk::ListStore::reorder </td> <td>(</td> <td class="paramtype">const <a class="elRef" doxygen="glibmm_doxygen_tags:../../../../glibmm-2.4/docs/reference/html/" href="../../../../glibmm-2.4/docs/reference/html/classGlib_1_1ArrayHandle.html">Glib::ArrayHandle</a>< int > & </td> <td class="paramname"> <em>new_order</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Reorders the list store to follow the order indicated by <em>new_order</em>. <p> Note that this function only works with unsorted stores. </div> </div><p> <a class="anchor" name="6abba5fb66c20f1bfcea79adff7aa321"></a><!-- doxytag: member="Gtk::ListStore::set_column_types" ref="6abba5fb66c20f1bfcea79adff7aa321" args="(const TreeModelColumnRecord &columns)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void Gtk::ListStore::set_column_types </td> <td>(</td> <td class="paramtype">const <a class="el" href="classGtk_1_1TreeModelColumnRecord.html">TreeModelColumnRecord</a>& </td> <td class="paramname"> <em>columns</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="dd757d2d02d35b5ea782c86eef04bae7"></a><!-- doxytag: member="Gtk::ListStore::set_value_impl" ref="dd757d2d02d35b5ea782c86eef04bae7" args="(const iterator &row, int column, const Glib::ValueBase &value)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void Gtk::ListStore::set_value_impl </td> <td>(</td> <td class="paramtype">const <a class="el" href="classGtk_1_1TreeIter.html">iterator</a>& </td> <td class="paramname"> <em>row</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>column</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="elRef" doxygen="glibmm_doxygen_tags:../../../../glibmm-2.4/docs/reference/html/" href="../../../../glibmm-2.4/docs/reference/html/classGlib_1_1ValueBase.html">Glib::ValueBase</a> & </td> <td class="paramname"> <em>value</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"><code> [protected, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Override and implement this in a derived <a class="el" href="classGtk_1_1TreeModel.html">TreeModel</a> class, so that Row::operator() and Row::set_value() work. <p> You can probably just implement this by calling set_value_vfunc(). Your implementation of <a class="el" href="classGtk_1_1ListStore.html#dd757d2d02d35b5ea782c86eef04bae7">set_value_impl()</a> should also call set_row_changed() after changing the value. <p> Reimplemented from <a class="el" href="classGtk_1_1TreeModel.html#26cf070eadb8e242bcf2b57f7e6d7d9e">Gtk::TreeModel</a>. </div> </div><p> <hr><h2>Friends And Related Function Documentation</h2> <a class="anchor" name="c9a0a0d9b34c33a9775ec4d89da2f0df"></a><!-- doxytag: member="Gtk::ListStore::wrap" ref="c9a0a0d9b34c33a9775ec4d89da2f0df" args="(GtkListStore *object, bool take_copy=false)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="elRef" doxygen="glibmm_doxygen_tags:../../../../glibmm-2.4/docs/reference/html/" href="../../../../glibmm-2.4/docs/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a><<a class="el" href="classGtk_1_1ListStore.html">Gtk::ListStore</a>> wrap </td> <td>(</td> <td class="paramtype">GtkListStore * </td> <td class="paramname"> <em>object</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"> <em>take_copy</em> = <code>false</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"><code> [related]</code></td> </tr> </table> </div> <div class="memdoc"> <p> A <a class="elRef" doxygen="glibmm_doxygen_tags:../../../../glibmm-2.4/docs/reference/html/" href="../../../../glibmm-2.4/docs/reference/html/namespaceGlib.html#671306f4a3a0cae5ab4d7a9d54886592">Glib::wrap()</a> method for this object. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>object</em> </td><td>The C instance. </td></tr> <tr><td valign="top"></td><td valign="top"><em>take_copy</em> </td><td>False if the result should take ownership of the C instance. True if it should take a new copy or ref. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>A C++ instance that wraps this C instance. </dd></dl> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="liststore_8h.html">liststore.h</a></ul> </div> <!-- end main content --> <hr><address><small> Generated for gtkmm 2.4 by <a href="http://www.doxygen.org/index.html"> Doxygen</a> 1.5.1 © 1997-2001</small></address> </body> </html>