// Generated by gtkmmproc -- DO NOT MODIFY!

#include <libgnomecanvasmm/text.h>
#include <libgnomecanvasmm/private/text_p.h>

/* $Id: text.cc 3118 2008-02-24 02:28:25Z paul $ */

/* text.cc
 *
 * Copyright (C) 1998 EMC Capital Management Inc.
 * Developed by Havoc Pennington <hp@pobox.com>
 *
 * 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 <gtk/gtksettings.h>
#include <glib-object.h>

static void 
_catch_xft_dpi (GObject* thing, gpointer val, gpointer arg)
{
	GnomeCanvasText* text = (GnomeCanvasText*) arg;
	gchar *txt;

	g_object_get (G_OBJECT(text), "text", &txt, NULL);

	if (txt && txt[0] != '\0') {
		g_object_set (G_OBJECT(text), "text", txt, NULL);
	}
}

namespace Gnome
{

namespace Canvas
{

Text::Text(Group& parentx, double x, double y, const Glib::ustring& text)
  : Item(GNOME_CANVAS_ITEM(g_object_new(get_type(), 0)))
{
  item_construct(parentx);
  set("x", x, "y", y, "text", text.c_str(), 0);
  g_signal_connect (gtk_settings_get_default(), "notify::gtk-xft-dpi", (GCallback) _catch_xft_dpi, gobj());
}

Text::Text(Group& parentx)
  : Item(GNOME_CANVAS_ITEM(g_object_new(get_type(), 0)))
{
  item_construct(parentx);
  g_signal_connect (gtk_settings_get_default(), "notify::gtk-xft-dpi", (GCallback) _catch_xft_dpi, gobj());
}

} /* namespace Canvas */
} /* namespace Gnome */


namespace
{
} // anonymous namespace


namespace Glib
{

Gnome::Canvas::Text* wrap(GnomeCanvasText* object, bool take_copy)
{
  return dynamic_cast<Gnome::Canvas::Text *> (Glib::wrap_auto ((GObject*)(object), take_copy));
}

} /* namespace Glib */

namespace Gnome
{

namespace Canvas
{


/* The *_Class implementation: */

const Glib::Class& Text_Class::init()
{
  if(!gtype_) // create the GType if necessary
  {
    // Glib::Class has to know the class init function to clone custom types.
    class_init_func_ = &Text_Class::class_init_function;

    // This is actually just optimized away, apparently with no harm.
    // Make sure that the parent type has been created.
    //CppClassParent::CppObjectType::get_type();

    // Create the wrapper type, with the same class/instance size as the base type.
    register_derived_type(gnome_canvas_text_get_type());

    // Add derived versions of interfaces, if the C type implements any interfaces:
  }

  return *this;
}

void Text_Class::class_init_function(void* g_class, void* class_data)
{
  BaseClassType *const klass = static_cast<BaseClassType*>(g_class);
  CppClassParent::class_init_function(klass, class_data);

}


Glib::ObjectBase* Text_Class::wrap_new(GObject* o)
{
  return manage(new Text((GnomeCanvasText*)(o)));

}


/* The implementation: */

Text::Text(const Glib::ConstructParams& construct_params)
:
  Item(construct_params)
{
}

Text::Text(GnomeCanvasText* castitem)
:
  Item((GnomeCanvasItem*)(castitem))
{
}

Text::~Text()
{
  destroy_();
}

Text::CppClassType Text::text_class_; // initialize static member

GType Text::get_type()
{
  return text_class_.init().get_type();
}

GType Text::get_base_type()
{
  return gnome_canvas_text_get_type();
}


Glib::PropertyProxy<Glib::ustring> Text::property_text() 
{
  return Glib::PropertyProxy<Glib::ustring>(this, "text");
}

Glib::PropertyProxy_ReadOnly<Glib::ustring> Text::property_text() const
{
  return Glib::PropertyProxy_ReadOnly<Glib::ustring>(this, "text");
}

Glib::PropertyProxy_WriteOnly<Glib::ustring> Text::property_markup() 
{
  return Glib::PropertyProxy_WriteOnly<Glib::ustring>(this, "markup");
}

Glib::PropertyProxy_ReadOnly<Glib::ustring> Text::property_markup() const
{
  return Glib::PropertyProxy_ReadOnly<Glib::ustring>(this, "markup");
}

Glib::PropertyProxy<double> Text::property_x() 
{
  return Glib::PropertyProxy<double>(this, "x");
}

Glib::PropertyProxy_ReadOnly<double> Text::property_x() const
{
  return Glib::PropertyProxy_ReadOnly<double>(this, "x");
}

Glib::PropertyProxy<double> Text::property_y() 
{
  return Glib::PropertyProxy<double>(this, "y");
}

Glib::PropertyProxy_ReadOnly<double> Text::property_y() const
{
  return Glib::PropertyProxy_ReadOnly<double>(this, "y");
}

Glib::PropertyProxy<Glib::ustring> Text::property_font() 
{
  return Glib::PropertyProxy<Glib::ustring>(this, "font");
}

Glib::PropertyProxy_ReadOnly<Glib::ustring> Text::property_font() const
{
  return Glib::PropertyProxy_ReadOnly<Glib::ustring>(this, "font");
}

Glib::PropertyProxy<Pango::FontDescription> Text::property_font_desc() 
{
  return Glib::PropertyProxy<Pango::FontDescription>(this, "font-desc");
}

Glib::PropertyProxy_ReadOnly<Pango::FontDescription> Text::property_font_desc() const
{
  return Glib::PropertyProxy_ReadOnly<Pango::FontDescription>(this, "font-desc");
}

Glib::PropertyProxy<Glib::ustring> Text::property_family() 
{
  return Glib::PropertyProxy<Glib::ustring>(this, "family");
}

Glib::PropertyProxy_ReadOnly<Glib::ustring> Text::property_family() const
{
  return Glib::PropertyProxy_ReadOnly<Glib::ustring>(this, "family");
}

Glib::PropertyProxy<bool> Text::property_family_set() 
{
  return Glib::PropertyProxy<bool>(this, "family-set");
}

Glib::PropertyProxy_ReadOnly<bool> Text::property_family_set() const
{
  return Glib::PropertyProxy_ReadOnly<bool>(this, "family-set");
}

Glib::PropertyProxy<Pango::AttrList> Text::property_attributes() 
{
  return Glib::PropertyProxy<Pango::AttrList>(this, "attributes");
}

Glib::PropertyProxy_ReadOnly<Pango::AttrList> Text::property_attributes() const
{
  return Glib::PropertyProxy_ReadOnly<Pango::AttrList>(this, "attributes");
}

Glib::PropertyProxy<Pango::Style> Text::property_style() 
{
  return Glib::PropertyProxy<Pango::Style>(this, "style");
}

Glib::PropertyProxy_ReadOnly<Pango::Style> Text::property_style() const
{
  return Glib::PropertyProxy_ReadOnly<Pango::Style>(this, "style");
}

Glib::PropertyProxy<bool> Text::property_style_set() 
{
  return Glib::PropertyProxy<bool>(this, "style-set");
}

Glib::PropertyProxy_ReadOnly<bool> Text::property_style_set() const
{
  return Glib::PropertyProxy_ReadOnly<bool>(this, "style-set");
}

Glib::PropertyProxy<Pango::Variant> Text::property_variant() 
{
  return Glib::PropertyProxy<Pango::Variant>(this, "variant");
}

Glib::PropertyProxy_ReadOnly<Pango::Variant> Text::property_variant() const
{
  return Glib::PropertyProxy_ReadOnly<Pango::Variant>(this, "variant");
}

Glib::PropertyProxy<bool> Text::property_variant_set() 
{
  return Glib::PropertyProxy<bool>(this, "variant-set");
}

Glib::PropertyProxy_ReadOnly<bool> Text::property_variant_set() const
{
  return Glib::PropertyProxy_ReadOnly<bool>(this, "variant-set");
}

Glib::PropertyProxy<int> Text::property_weight() 
{
  return Glib::PropertyProxy<int>(this, "weight");
}

Glib::PropertyProxy_ReadOnly<int> Text::property_weight() const
{
  return Glib::PropertyProxy_ReadOnly<int>(this, "weight");
}

Glib::PropertyProxy<bool> Text::property_weight_set() 
{
  return Glib::PropertyProxy<bool>(this, "weight-set");
}

Glib::PropertyProxy_ReadOnly<bool> Text::property_weight_set() const
{
  return Glib::PropertyProxy_ReadOnly<bool>(this, "weight-set");
}

Glib::PropertyProxy<Pango::Weight> Text::property_stretch() 
{
  return Glib::PropertyProxy<Pango::Weight>(this, "stretch");
}

Glib::PropertyProxy_ReadOnly<Pango::Weight> Text::property_stretch() const
{
  return Glib::PropertyProxy_ReadOnly<Pango::Weight>(this, "stretch");
}

Glib::PropertyProxy<bool> Text::property_stretch_set() 
{
  return Glib::PropertyProxy<bool>(this, "stretch-set");
}

Glib::PropertyProxy_ReadOnly<bool> Text::property_stretch_set() const
{
  return Glib::PropertyProxy_ReadOnly<bool>(this, "stretch-set");
}

Glib::PropertyProxy<int> Text::property_size() 
{
  return Glib::PropertyProxy<int>(this, "size");
}

Glib::PropertyProxy_ReadOnly<int> Text::property_size() const
{
  return Glib::PropertyProxy_ReadOnly<int>(this, "size");
}

Glib::PropertyProxy<bool> Text::property_size_set() 
{
  return Glib::PropertyProxy<bool>(this, "size-set");
}

Glib::PropertyProxy_ReadOnly<bool> Text::property_size_set() const
{
  return Glib::PropertyProxy_ReadOnly<bool>(this, "size-set");
}

Glib::PropertyProxy<double> Text::property_size_points() 
{
  return Glib::PropertyProxy<double>(this, "size-points");
}

Glib::PropertyProxy_ReadOnly<double> Text::property_size_points() const
{
  return Glib::PropertyProxy_ReadOnly<double>(this, "size-points");
}

Glib::PropertyProxy<bool> Text::property_strikethrough() 
{
  return Glib::PropertyProxy<bool>(this, "strikethrough");
}

Glib::PropertyProxy_ReadOnly<bool> Text::property_strikethrough() const
{
  return Glib::PropertyProxy_ReadOnly<bool>(this, "strikethrough");
}

Glib::PropertyProxy<bool> Text::property_strikethrough_set() 
{
  return Glib::PropertyProxy<bool>(this, "strikethrough-set");
}

Glib::PropertyProxy_ReadOnly<bool> Text::property_strikethrough_set() const
{
  return Glib::PropertyProxy_ReadOnly<bool>(this, "strikethrough-set");
}

Glib::PropertyProxy<Pango::Underline> Text::property_underline() 
{
  return Glib::PropertyProxy<Pango::Underline>(this, "underline");
}

Glib::PropertyProxy_ReadOnly<Pango::Underline> Text::property_underline() const
{
  return Glib::PropertyProxy_ReadOnly<Pango::Underline>(this, "underline");
}

Glib::PropertyProxy<bool> Text::property_underline_set() 
{
  return Glib::PropertyProxy<bool>(this, "underline-set");
}

Glib::PropertyProxy_ReadOnly<bool> Text::property_underline_set() const
{
  return Glib::PropertyProxy_ReadOnly<bool>(this, "underline-set");
}

Glib::PropertyProxy<int> Text::property_rise() 
{
  return Glib::PropertyProxy<int>(this, "rise");
}

Glib::PropertyProxy_ReadOnly<int> Text::property_rise() const
{
  return Glib::PropertyProxy_ReadOnly<int>(this, "rise");
}

Glib::PropertyProxy<bool> Text::property_rise_set() 
{
  return Glib::PropertyProxy<bool>(this, "rise-set");
}

Glib::PropertyProxy_ReadOnly<bool> Text::property_rise_set() const
{
  return Glib::PropertyProxy_ReadOnly<bool>(this, "rise-set");
}

Glib::PropertyProxy<double> Text::property_scale() 
{
  return Glib::PropertyProxy<double>(this, "scale");
}

Glib::PropertyProxy_ReadOnly<double> Text::property_scale() const
{
  return Glib::PropertyProxy_ReadOnly<double>(this, "scale");
}

Glib::PropertyProxy<bool> Text::property_scale_set() 
{
  return Glib::PropertyProxy<bool>(this, "scale-set");
}

Glib::PropertyProxy_ReadOnly<bool> Text::property_scale_set() const
{
  return Glib::PropertyProxy_ReadOnly<bool>(this, "scale-set");
}

Glib::PropertyProxy<Gtk::AnchorType> Text::property_anchor() 
{
  return Glib::PropertyProxy<Gtk::AnchorType>(this, "anchor");
}

Glib::PropertyProxy_ReadOnly<Gtk::AnchorType> Text::property_anchor() const
{
  return Glib::PropertyProxy_ReadOnly<Gtk::AnchorType>(this, "anchor");
}

Glib::PropertyProxy<Gtk::Justification> Text::property_justification() 
{
  return Glib::PropertyProxy<Gtk::Justification>(this, "justification");
}

Glib::PropertyProxy_ReadOnly<Gtk::Justification> Text::property_justification() const
{
  return Glib::PropertyProxy_ReadOnly<Gtk::Justification>(this, "justification");
}

Glib::PropertyProxy<double> Text::property_clip_width() 
{
  return Glib::PropertyProxy<double>(this, "clip-width");
}

Glib::PropertyProxy_ReadOnly<double> Text::property_clip_width() const
{
  return Glib::PropertyProxy_ReadOnly<double>(this, "clip-width");
}

Glib::PropertyProxy<double> Text::property_clip_height() 
{
  return Glib::PropertyProxy<double>(this, "clip-height");
}

Glib::PropertyProxy_ReadOnly<double> Text::property_clip_height() const
{
  return Glib::PropertyProxy_ReadOnly<double>(this, "clip-height");
}

Glib::PropertyProxy<bool> Text::property_clip() 
{
  return Glib::PropertyProxy<bool>(this, "clip");
}

Glib::PropertyProxy_ReadOnly<bool> Text::property_clip() const
{
  return Glib::PropertyProxy_ReadOnly<bool>(this, "clip");
}

Glib::PropertyProxy<double> Text::property_x_offset() 
{
  return Glib::PropertyProxy<double>(this, "x-offset");
}

Glib::PropertyProxy_ReadOnly<double> Text::property_x_offset() const
{
  return Glib::PropertyProxy_ReadOnly<double>(this, "x-offset");
}

Glib::PropertyProxy<double> Text::property_y_offset() 
{
  return Glib::PropertyProxy<double>(this, "y-offset");
}

Glib::PropertyProxy_ReadOnly<double> Text::property_y_offset() const
{
  return Glib::PropertyProxy_ReadOnly<double>(this, "y-offset");
}

Glib::PropertyProxy<Glib::ustring> Text::property_fill_color() 
{
  return Glib::PropertyProxy<Glib::ustring>(this, "fill-color");
}

Glib::PropertyProxy_ReadOnly<Glib::ustring> Text::property_fill_color() const
{
  return Glib::PropertyProxy_ReadOnly<Glib::ustring>(this, "fill-color");
}

Glib::PropertyProxy<Gdk::Color> Text::property_fill_color_gdk() 
{
  return Glib::PropertyProxy<Gdk::Color>(this, "fill-color-gdk");
}

Glib::PropertyProxy_ReadOnly<Gdk::Color> Text::property_fill_color_gdk() const
{
  return Glib::PropertyProxy_ReadOnly<Gdk::Color>(this, "fill-color-gdk");
}

Glib::PropertyProxy<guint> Text::property_fill_color_rgba() 
{
  return Glib::PropertyProxy<guint>(this, "fill-color-rgba");
}

Glib::PropertyProxy_ReadOnly<guint> Text::property_fill_color_rgba() const
{
  return Glib::PropertyProxy_ReadOnly<guint>(this, "fill-color-rgba");
}

Glib::PropertyProxy< Glib::RefPtr<Gdk::Bitmap> > Text::property_fill_stipple() 
{
  return Glib::PropertyProxy< Glib::RefPtr<Gdk::Bitmap> >(this, "fill-stipple");
}

Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Gdk::Bitmap> > Text::property_fill_stipple() const
{
  return Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Gdk::Bitmap> >(this, "fill-stipple");
}

Glib::PropertyProxy<double> Text::property_text_width() 
{
  return Glib::PropertyProxy<double>(this, "text-width");
}

Glib::PropertyProxy_ReadOnly<double> Text::property_text_width() const
{
  return Glib::PropertyProxy_ReadOnly<double>(this, "text-width");
}

Glib::PropertyProxy<double> Text::property_text_height() 
{
  return Glib::PropertyProxy<double>(this, "text-height");
}

Glib::PropertyProxy_ReadOnly<double> Text::property_text_height() const
{
  return Glib::PropertyProxy_ReadOnly<double>(this, "text-height");
}


} // namespace Canvas

} // namespace Gnome


