/* $Id: textchildanchor.hg,v 1.3 2006/03/22 16:53:22 murrayc Exp $ */

/* textchildanchor.h
 * 
 * Copyright (C) 1998-2002 The gtkmm Development Team
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Library General Public
 * License as published by the Free Software Foundation; either
 * version 2 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Library General Public License for more details.
 *
 * You should have received a copy of the GNU Library General Public
 * License along with this library; if not, write to the Free
 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */


#include <gtkmm/object.h>
#include <gtkmm/widget.h>
#include <glibmm/listhandle.h>

_DEFS(gtkmm,gtk)
_PINCLUDE(glibmm/private/object_p.h)

namespace Gtk
{

/** A TextChildAnchor is a spot in the buffer where child widgets can be "anchored" 
 * (inserted inline, as if they were characters). The anchor can have multiple widgets anchored, 
 * to allow for multiple views.
 *
 * Typedefed as Gtk::TextBuffer::ChildAnchor.
 * @ingroup TextView
 */
class TextChildAnchor : public Glib::Object
{
   _CLASS_GOBJECT(TextChildAnchor, GtkTextChildAnchor, GTK_TEXT_CHILD_ANCHOR, Glib::Object, GObject)
protected:
  _CTOR_DEFAULT()

public:
  _WRAP_CREATE()

  _WRAP_METHOD(Glib::ListHandle<Widget*> get_widgets(), gtk_text_child_anchor_get_widgets)
  _WRAP_METHOD(Glib::ListHandle<const Widget*> get_widgets() const, gtk_text_child_anchor_get_widgets)
  _WRAP_METHOD(bool get_deleted() const, gtk_text_child_anchor_get_deleted)

  //These methods, and GtkTextLayout are semi-private:
  _IGNORE(gtk_text_child_anchor_register_child, gtk_text_child_anchor_unregister_child, gtk_text_child_anchor_queue_resize)
  //_WRAP_METHOD(void Register_child(TextLayout& layout), gtk_text_child_anchor_register_child)
  //_WRAP_METHOD(void unregister_child(Widget& child), gtk_text_child_anchor_unregister_child)
  //_WRAP_METHOD(void queue_resize(TextLayout& layout), gtk_text_child_anchor_queue_resize)

};

} /* namespace Gtk */

