add new sigc++2 directory
[ardour.git] / libs / gtkmm2 / gtk / gtkmm / textchildanchor.h
1 // -*- c++ -*-
2 // Generated by gtkmmproc -- DO NOT MODIFY!
3 #ifndef _GTKMM_TEXTCHILDANCHOR_H
4 #define _GTKMM_TEXTCHILDANCHOR_H
5
6
7 #include <glibmm.h>
8
9 /* $Id$ */
10
11 /* textchildanchor.h
12  * 
13  * Copyright (C) 1998-2002 The gtkmm Development Team
14  *
15  * This library is free software; you can redistribute it and/or
16  * modify it under the terms of the GNU Library General Public
17  * License as published by the Free Software Foundation; either
18  * version 2 of the License, or (at your option) any later version.
19  *
20  * This library is distributed in the hope that it will be useful,
21  * but WITHOUT ANY WARRANTY; without even the implied warranty of
22  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
23  * Library General Public License for more details.
24  *
25  * You should have received a copy of the GNU Library General Public
26  * License along with this library; if not, write to the Free
27  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
28  */
29
30
31 #include <gtkmm/object.h>
32 #include <gtkmm/widget.h>
33 #include <glibmm/listhandle.h>
34
35
36 #ifndef DOXYGEN_SHOULD_SKIP_THIS
37 typedef struct _GtkTextChildAnchor GtkTextChildAnchor;
38 typedef struct _GtkTextChildAnchorClass GtkTextChildAnchorClass;
39 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
40
41
42 namespace Gtk
43 { class TextChildAnchor_Class; } // namespace Gtk
44 namespace Gtk
45 {
46
47 /** A TextChildAnchor is a spot in the buffer where child widgets can be "anchored" 
48  * (inserted inline, as if they were characters). The anchor can have multiple widgets anchored, 
49  * to allow for multiple views.
50  *
51  * Typedefed as Gtk::TextBuffer::ChildAnchor.
52  * @ingroup TextView
53  */
54
55 class TextChildAnchor : public Glib::Object
56 {
57    
58 #ifndef DOXYGEN_SHOULD_SKIP_THIS
59
60 public:
61   typedef TextChildAnchor CppObjectType;
62   typedef TextChildAnchor_Class CppClassType;
63   typedef GtkTextChildAnchor BaseObjectType;
64   typedef GtkTextChildAnchorClass BaseClassType;
65
66 private:  friend class TextChildAnchor_Class;
67   static CppClassType textchildanchor_class_;
68
69 private:
70   // noncopyable
71   TextChildAnchor(const TextChildAnchor&);
72   TextChildAnchor& operator=(const TextChildAnchor&);
73
74 protected:
75   explicit TextChildAnchor(const Glib::ConstructParams& construct_params);
76   explicit TextChildAnchor(GtkTextChildAnchor* castitem);
77
78 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
79
80 public:
81   virtual ~TextChildAnchor();
82
83 #ifndef DOXYGEN_SHOULD_SKIP_THIS
84   static GType get_type()      G_GNUC_CONST;
85   static GType get_base_type() G_GNUC_CONST;
86 #endif
87
88   ///Provides access to the underlying C GObject.
89   GtkTextChildAnchor*       gobj()       { return reinterpret_cast<GtkTextChildAnchor*>(gobject_); }
90
91   ///Provides access to the underlying C GObject.
92   const GtkTextChildAnchor* gobj() const { return reinterpret_cast<GtkTextChildAnchor*>(gobject_); }
93
94   ///Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
95   GtkTextChildAnchor* gobj_copy();
96
97 private:
98
99 protected:
100   TextChildAnchor();
101
102 public:
103   
104   static Glib::RefPtr<TextChildAnchor> create();
105
106
107   /** Gets a list of all widgets anchored at this child anchor.
108    * @return List of widgets anchored at @a anchor .
109    */
110   Glib::ListHandle<Widget*> get_widgets();
111   
112   /** Gets a list of all widgets anchored at this child anchor.
113    * @return List of widgets anchored at @a anchor .
114    */
115   Glib::ListHandle<const Widget*> get_widgets() const;
116   
117   /** Determines whether a child anchor has been deleted from
118    * the buffer. Keep in mind that the child anchor will be
119    * unreferenced when removed from the buffer, so you need to
120    * hold your own reference (with Glib::object_ref()) if you plan
121    * to use this function  @htmlonly&mdash;@endhtmlonly  otherwise all deleted child anchors
122    * will also be finalized.
123    * @return <tt>true</tt> if the child anchor has been deleted from its buffer.
124    */
125   bool get_deleted() const;
126
127   //These methods, and GtkTextLayout are semi-private:
128   
129   //_WRAP_METHOD(void Register_child(TextLayout& layout), gtk_text_child_anchor_register_child)
130   //_WRAP_METHOD(void unregister_child(Widget& child), gtk_text_child_anchor_unregister_child)
131   //_WRAP_METHOD(void queue_resize(TextLayout& layout), gtk_text_child_anchor_queue_resize)
132
133
134 public:
135
136 public:
137   //C++ methods used to invoke GTK+ virtual functions:
138 #ifdef GLIBMM_VFUNCS_ENABLED
139 #endif //GLIBMM_VFUNCS_ENABLED
140
141 protected:
142   //GTK+ Virtual Functions (override these to change behaviour):
143 #ifdef GLIBMM_VFUNCS_ENABLED
144 #endif //GLIBMM_VFUNCS_ENABLED
145
146   //Default Signal Handlers::
147 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
148 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
149
150
151 };
152
153 } /* namespace Gtk */
154
155
156 namespace Glib
157 {
158   /** A Glib::wrap() method for this object.
159    * 
160    * @param object The C instance.
161    * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
162    * @result A C++ instance that wraps this C instance.
163    *
164    * @relates Gtk::TextChildAnchor
165    */
166   Glib::RefPtr<Gtk::TextChildAnchor> wrap(GtkTextChildAnchor* object, bool take_copy = false);
167 }
168
169
170 #endif /* _GTKMM_TEXTCHILDANCHOR_H */
171