// -*- c++ -*-
// Generated by gmmproc 2.46.1 -- DO NOT MODIFY!
#ifndef _GOOCANVASMM_ITEMMODEL_P_H
#define _GOOCANVASMM_ITEMMODEL_P_H


#include <glibmm/private/interface_p.h>

#include <glibmm/private/interface_p.h>

namespace Goocanvas
{

class ItemModel_Class : public Glib::Interface_Class
{
public:
  typedef ItemModel CppObjectType;
  typedef GooCanvasItemModel BaseObjectType;
  typedef GooCanvasItemModelIface BaseClassType;
  typedef Glib::Interface_Class CppClassParent;

  friend class ItemModel;

  const Glib::Interface_Class& init();

  static void iface_init_function(void* g_iface, void* iface_data);

  static Glib::ObjectBase* wrap_new(GObject*);

protected:

  //Callbacks (default signal handlers):
  //These will call the *_impl member methods, which will then call the existing default signal callbacks, if any.
  //You could prevent the original default signal handlers being called by overriding the *_impl method.
  static void child_added_callback(GooCanvasItemModel* self, gint p0);
  static void child_removed_callback(GooCanvasItemModel* self, gint p0);
  static void child_moved_callback(GooCanvasItemModel* self, gint p0, gint p1);
  static void changed_callback(GooCanvasItemModel* self, gboolean p0);
  static void child_notify_callback(GooCanvasItemModel* self, GParamSpec* p0);
  static void animation_finished_callback(GooCanvasItemModel* self, gboolean p0);

  //Callbacks (virtual functions):
  static gint get_n_children_vfunc_callback(GooCanvasItemModel* self);
  static GooCanvasItemModel* get_child_vfunc_callback(GooCanvasItemModel* self, gint child_num);
  static void add_child_vfunc_callback(GooCanvasItemModel* self, GooCanvasItemModel* model, gint position);
  static void move_child_vfunc_callback(GooCanvasItemModel* self, gint old_position, gint new_position);
  static void remove_child_vfunc_callback(GooCanvasItemModel* self, gint child_num);
  static void get_child_property_vfunc_callback(GooCanvasItemModel* self, GooCanvasItemModel* child, guint property_id, GValue* value, GParamSpec* pspec);
  static void set_child_property_vfunc_callback(GooCanvasItemModel* self, GooCanvasItemModel* child, guint property_id, const GValue* value, GParamSpec* pspec);
  static GooCanvasItemModel* get_parent_vfunc_callback(GooCanvasItemModel* self);
  static void set_parent_vfunc_callback(GooCanvasItemModel* self, GooCanvasItemModel* parent);
  static GooCanvasItem* create_item_vfunc_callback(GooCanvasItemModel* self, GooCanvas* canvas);
  static gboolean get_transform_vfunc_callback(GooCanvasItemModel* self, cairo_matrix_t* transform);
  static void set_transform_vfunc_callback(GooCanvasItemModel* self, const cairo_matrix_t* transform);
  static GooCanvasStyle* get_style_vfunc_callback(GooCanvasItemModel* self);
  static void set_style_vfunc_callback(GooCanvasItemModel* self, GooCanvasStyle* style);
};


} // namespace Goocanvas


#endif /* _GOOCANVASMM_ITEMMODEL_P_H */

