Ardour  9.0-pre0-582-g084a23a80d
liststore.h
Go to the documentation of this file.
1 // -*- c++ -*-
2 // Generated by gmmproc 2.45.3 -- DO NOT MODIFY!
3 #ifndef _GTKMM_LISTSTORE_H
4 #define _GTKMM_LISTSTORE_H
5 
6 
7 #include <glibmm/ustring.h>
8 #include <sigc++/sigc++.h>
9 
10 /* $Id: liststore.hg,v 1.4 2004/04/03 12:53:49 murrayc Exp $ */
11 
12 /* Copyright(C) 1998-2002 The gtkmm Development Team
13  *
14  * This library is free software; you can redistribute it and/or
15  * modify it under the terms of the GNU Lesser General Public
16  * License as published by the Free Software Foundation; either
17  * version 2.1 of the License, or(at your option) any later version.
18  *
19  * This library is distributed in the hope that it will be useful,
20  * but WITHOUT ANY WARRANTY; without even the implied warranty of
21  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
22  * Lesser General Public License for more details.
23  *
24  * You should have received a copy of the GNU Lesser General Public
25  * License along with this library; if not, write to the Free
26  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
27  */
28 
29 #include <gtkmm/treedragdest.h>
30 #include <gtkmm/treeiter.h>
31 #include <gtkmm/treemodel.h>
32 #include <gtkmm/treesortable.h>
33 #include <gtkmm/treedragsource.h>
34 // We couldn't include it in treemodel.h, but doing it here makes it easier for people.
35 #include <gtkmm/treepath.h>
36 
37 
38 #ifndef DOXYGEN_SHOULD_SKIP_THIS
39 typedef struct _GtkListStore GtkListStore;
41 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
42 
43 
44 #ifndef DOXYGEN_SHOULD_SKIP_THIS
45 namespace Gtk
46 { class ListStore_Class; } // namespace Gtk
47 #endif //DOXYGEN_SHOULD_SKIP_THIS
48 
49 namespace Gtk
50 {
51 
59 class ListStore :
60  public Glib::Object,
61  public TreeModel,
62  public TreeSortable,
63  public TreeDragSource,
64  public TreeDragDest
65 {
66 
67 #ifndef DOXYGEN_SHOULD_SKIP_THIS
68 
69 public:
70  typedef ListStore CppObjectType;
71  typedef ListStore_Class CppClassType;
72  typedef GtkListStore BaseObjectType;
73  typedef GtkListStoreClass BaseClassType;
74 
75 private: friend class ListStore_Class;
76  static CppClassType liststore_class_;
77 
78 private:
79  // noncopyable
80  ListStore(const ListStore&);
81  ListStore& operator=(const ListStore&);
82 
83 protected:
84  explicit ListStore(const Glib::ConstructParams& construct_params);
85  explicit ListStore(GtkListStore* castitem);
86 
87 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
88 
89 public:
90  virtual ~ListStore();
91 
94  static GType get_type() G_GNUC_CONST;
95 
96 #ifndef DOXYGEN_SHOULD_SKIP_THIS
97 
98 
99  static GType get_base_type() G_GNUC_CONST;
100 #endif
101 
103  GtkListStore* gobj() { return reinterpret_cast<GtkListStore*>(gobject_); }
104 
106  const GtkListStore* gobj() const { return reinterpret_cast<GtkListStore*>(gobject_); }
107 
110 
111 private:
112 
113 
114 protected:
122 
123  explicit ListStore(const TreeModelColumnRecord& columns);
124 
125 public:
126 
132  static Glib::RefPtr<ListStore> create(const TreeModelColumnRecord& columns);
133 
134 
136 
137 
142  iterator erase(const iterator& iter);
143 
144 
145  //TODO: Make this documentation similar to documentation for Standard C++ insert methods.
154  iterator insert(const iterator& iter);
155 
156 
157  //TODO: Docs. This one is apparently faster.
167 
168 
176 
184 
185 
192  void iter_swap(const iterator& a, const iterator& b);
193 
199  void move(const iterator& source, const iterator& destination);
200 
204  void reorder(const Glib::ArrayHandle<int>& new_order);
205 
206 
209  void clear();
210 
211 
219  bool iter_is_valid(const iterator& iter) const;
220 
221 protected:
222  virtual void set_value_impl(const iterator& row, int column, const Glib::ValueBase& value);
223 
224 
225 public:
226 
227 public:
228  //C++ methods used to invoke GTK+ virtual functions:
229 
230 protected:
231  //GTK+ Virtual Functions (override these to change behaviour):
232 
233  //Default Signal Handlers::
234 
235 
236 };
237 
238 } // namespace Gtk
239 
240 
241 namespace Glib
242 {
251  Glib::RefPtr<Gtk::ListStore> wrap(GtkListStore* object, bool take_copy = false);
252 }
253 
254 
255 #endif /* _GTKMM_LISTSTORE_H */
256 
const GtkListStore * gobj() const
Provides access to the underlying C GObject.
Definition: liststore.h:106
iterator prepend()
void iter_swap(const iterator &a, const iterator &b)
GtkListStore * gobj()
Provides access to the underlying C GObject.
Definition: liststore.h:103
void set_column_types(const TreeModelColumnRecord &columns)
ListStore(const TreeModelColumnRecord &columns)
bool iter_is_valid(const iterator &iter) const
static GType get_type() G_GNUC_CONST
virtual ~ListStore()
void reorder(const Glib::ArrayHandle< int > &new_order)
static Glib::RefPtr< ListStore > create(const TreeModelColumnRecord &columns)
GtkListStore * gobj_copy()
Provides access to the underlying C instance. The caller is responsible for unrefing it....
iterator insert(const iterator &iter)
iterator insert_after(const iterator &iter)
iterator erase(const iterator &iter)
Glib::RefPtr< Gtk::ListStore > wrap(GtkListStore *object, bool take_copy=false)
void move(const iterator &source, const iterator &destination)
virtual void set_value_impl(const iterator &row, int column, const Glib::ValueBase &value)
iterator append()
Definition: ardour_ui.h:188