/*
 * This file was generated automatically by ExtUtils::ParseXS version 3.28 from the
 * contents of GtkTreeViewColumn.xs. Do not edit this file, edit GtkTreeViewColumn.xs instead.
 *
 *    ANY CHANGES MADE HERE WILL BE LOST!
 *
 */

#line 1 "xs/GtkTreeViewColumn.xs"
/*
 * Copyright (c) 2003-2005 by the gtk2-perl team (see the file AUTHORS)
 *
 * 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.1 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., 59 Temple Place - Suite 330, 
 * Boston, MA  02111-1307  USA.
 *
 * $Id$
 */

#include "gtk2perl.h"


/*
this is a GtkObject subclass.  no variants are necessary.
*/

/*
this is also used from gtk_tree_view_insert_column_with_cell_data_func.
*/

GPerlCallback *
gtk2perl_tree_cell_data_func_create (SV * func, SV * data)
{
	GType param_types [4];
	param_types[0] = GTK_TYPE_TREE_VIEW_COLUMN;
	param_types[1] = GTK_TYPE_CELL_RENDERER;
	param_types[2] = GTK_TYPE_TREE_MODEL;
	param_types[3] = GTK_TYPE_TREE_ITER;
	return gperl_callback_new (func, data, 
	                           G_N_ELEMENTS (param_types), param_types,
	                           0);
}

/*
 * GPerlCallback handler for GtkTreeCellDataFunc.
 */
void
gtk2perl_tree_cell_data_func (GtkTreeViewColumn * tree_column,
                              GtkCellRenderer * cell,
                              GtkTreeModel * tree_model,
                              GtkTreeIter * iter,
                              gpointer data)
{
	gperl_callback_invoke ((GPerlCallback*)data, NULL,
	                       tree_column, cell, tree_model, iter);
}






#define check_stack_for_attributes(first) (0 == ((items - (first)) % 2))

#define set_attributes_from_arg_stack(column, cell_renderer, first)	\
{									\
	int i;								\
	for (i = first ; i < items ; i+=2) {				\
		gtk_tree_view_column_add_attribute (column, cell_renderer,	\
		                                    SvGChar (ST (i)),	\
		                                    SvIV (ST (i+1)));	\
	}								\
}


#line 88 "xs/GtkTreeViewColumn.c"
#ifndef PERL_UNUSED_VAR
#  define PERL_UNUSED_VAR(var) if (0) var = var
#endif

#ifndef dVAR
#  define dVAR		dNOOP
#endif


/* This stuff is not part of the API! You have been warned. */
#ifndef PERL_VERSION_DECIMAL
#  define PERL_VERSION_DECIMAL(r,v,s) (r*1000000 + v*1000 + s)
#endif
#ifndef PERL_DECIMAL_VERSION
#  define PERL_DECIMAL_VERSION \
	  PERL_VERSION_DECIMAL(PERL_REVISION,PERL_VERSION,PERL_SUBVERSION)
#endif
#ifndef PERL_VERSION_GE
#  define PERL_VERSION_GE(r,v,s) \
	  (PERL_DECIMAL_VERSION >= PERL_VERSION_DECIMAL(r,v,s))
#endif
#ifndef PERL_VERSION_LE
#  define PERL_VERSION_LE(r,v,s) \
	  (PERL_DECIMAL_VERSION <= PERL_VERSION_DECIMAL(r,v,s))
#endif

/* XS_INTERNAL is the explicit static-linkage variant of the default
 * XS macro.
 *
 * XS_EXTERNAL is the same as XS_INTERNAL except it does not include
 * "STATIC", ie. it exports XSUB symbols. You probably don't want that
 * for anything but the BOOT XSUB.
 *
 * See XSUB.h in core!
 */


/* TODO: This might be compatible further back than 5.10.0. */
#if PERL_VERSION_GE(5, 10, 0) && PERL_VERSION_LE(5, 15, 1)
#  undef XS_EXTERNAL
#  undef XS_INTERNAL
#  if defined(__CYGWIN__) && defined(USE_DYNAMIC_LOADING)
#    define XS_EXTERNAL(name) __declspec(dllexport) XSPROTO(name)
#    define XS_INTERNAL(name) STATIC XSPROTO(name)
#  endif
#  if defined(__SYMBIAN32__)
#    define XS_EXTERNAL(name) EXPORT_C XSPROTO(name)
#    define XS_INTERNAL(name) EXPORT_C STATIC XSPROTO(name)
#  endif
#  ifndef XS_EXTERNAL
#    if defined(HASATTRIBUTE_UNUSED) && !defined(__cplusplus)
#      define XS_EXTERNAL(name) void name(pTHX_ CV* cv __attribute__unused__)
#      define XS_INTERNAL(name) STATIC void name(pTHX_ CV* cv __attribute__unused__)
#    else
#      ifdef __cplusplus
#        define XS_EXTERNAL(name) extern "C" XSPROTO(name)
#        define XS_INTERNAL(name) static XSPROTO(name)
#      else
#        define XS_EXTERNAL(name) XSPROTO(name)
#        define XS_INTERNAL(name) STATIC XSPROTO(name)
#      endif
#    endif
#  endif
#endif

/* perl >= 5.10.0 && perl <= 5.15.1 */


/* The XS_EXTERNAL macro is used for functions that must not be static
 * like the boot XSUB of a module. If perl didn't have an XS_EXTERNAL
 * macro defined, the best we can do is assume XS is the same.
 * Dito for XS_INTERNAL.
 */
#ifndef XS_EXTERNAL
#  define XS_EXTERNAL(name) XS(name)
#endif
#ifndef XS_INTERNAL
#  define XS_INTERNAL(name) XS(name)
#endif

/* Now, finally, after all this mess, we want an ExtUtils::ParseXS
 * internal macro that we're free to redefine for varying linkage due
 * to the EXPORT_XSUB_SYMBOLS XS keyword. This is internal, use
 * XS_EXTERNAL(name) or XS_INTERNAL(name) in your code if you need to!
 */

#undef XS_EUPXS
#if defined(PERL_EUPXS_ALWAYS_EXPORT)
#  define XS_EUPXS(name) XS_EXTERNAL(name)
#else
   /* default to internal */
#  define XS_EUPXS(name) XS_INTERNAL(name)
#endif

#ifndef PERL_ARGS_ASSERT_CROAK_XS_USAGE
#define PERL_ARGS_ASSERT_CROAK_XS_USAGE assert(cv); assert(params)

/* prototype to pass -Wmissing-prototypes */
STATIC void
S_croak_xs_usage(const CV *const cv, const char *const params);

STATIC void
S_croak_xs_usage(const CV *const cv, const char *const params)
{
    const GV *const gv = CvGV(cv);

    PERL_ARGS_ASSERT_CROAK_XS_USAGE;

    if (gv) {
        const char *const gvname = GvNAME(gv);
        const HV *const stash = GvSTASH(gv);
        const char *const hvname = stash ? HvNAME(stash) : NULL;

        if (hvname)
	    Perl_croak_nocontext("Usage: %s::%s(%s)", hvname, gvname, params);
        else
	    Perl_croak_nocontext("Usage: %s(%s)", gvname, params);
    } else {
        /* Pants. I don't think that it should be possible to get here. */
	Perl_croak_nocontext("Usage: CODE(0x%"UVxf")(%s)", PTR2UV(cv), params);
    }
}
#undef  PERL_ARGS_ASSERT_CROAK_XS_USAGE

#define croak_xs_usage        S_croak_xs_usage

#endif

/* NOTE: the prototype of newXSproto() is different in versions of perls,
 * so we define a portable version of newXSproto()
 */
#ifdef newXS_flags
#define newXSproto_portable(name, c_impl, file, proto) newXS_flags(name, c_impl, file, proto, 0)
#else
#define newXSproto_portable(name, c_impl, file, proto) (PL_Sv=(SV*)newXS(name, c_impl, file), sv_setpv(PL_Sv, proto), (CV*)PL_Sv)
#endif /* !defined(newXS_flags) */

#if PERL_VERSION_LE(5, 21, 5)
#  define newXS_deffile(a,b) Perl_newXS(aTHX_ a,b,file)
#else
#  define newXS_deffile(a,b) Perl_newXS_deffile(aTHX_ a,b)
#endif

#line 232 "xs/GtkTreeViewColumn.c"

XS_EUPXS(XS_Gtk2__TreeViewColumn_new); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_new)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "class");
    {
	GtkTreeViewColumn *	RETVAL;

	RETVAL = gtk_tree_view_column_new(/*void*/);
	{
	    SV * RETVALSV;
	    RETVALSV = newSVGtkTreeViewColumn (RETVAL);
	    RETVALSV = sv_2mortal(RETVALSV);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_new_with_attributes); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_new_with_attributes)
{
    dVAR; dXSARGS;
    if (items < 3)
       croak_xs_usage(cv,  "class, title, cell, ...");
    {
	const gchar *	title;
	GtkCellRenderer *	cell = SvGtkCellRenderer (ST(2))
;
	GtkTreeViewColumn *	RETVAL;

	/* same as SvGChar(), but not in a function */
	sv_utf8_upgrade (ST(1));
	title = (const gchar *)SvPV_nolen (ST(1))
;
#line 96 "xs/GtkTreeViewColumn.xs"
	if (!check_stack_for_attributes (3))
		croak ("Usage: Gtk2::TreeViewColumn->new_with_attributes (title, cellrenderer, attr1, col1, ...)");
	RETVAL = gtk_tree_view_column_new ();
	gtk_tree_view_column_set_title (RETVAL, title);
	gtk_tree_view_column_pack_start (RETVAL, cell, TRUE);
	set_attributes_from_arg_stack (RETVAL, cell, 3);
#line 278 "xs/GtkTreeViewColumn.c"
	{
	    SV * RETVALSV;
	    RETVALSV = newSVGtkTreeViewColumn (RETVAL);
	    RETVALSV = sv_2mortal(RETVALSV);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_pack_start); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_pack_start)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "tree_column, cell, expand");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	GtkCellRenderer *	cell = SvGtkCellRenderer (ST(1))
;
	gboolean	expand = (bool)SvTRUE(ST(2))
;

	gtk_tree_view_column_pack_start(tree_column, cell, expand);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_pack_end); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_pack_end)
{
    dVAR; dXSARGS;
    if (items != 3)
       croak_xs_usage(cv,  "tree_column, cell, expand");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	GtkCellRenderer *	cell = SvGtkCellRenderer (ST(1))
;
	gboolean	expand = (bool)SvTRUE(ST(2))
;

	gtk_tree_view_column_pack_end(tree_column, cell, expand);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_clear); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_clear)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "tree_column");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;

	gtk_tree_view_column_clear(tree_column);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_get_cell_renderers); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_get_cell_renderers)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "tree_column");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
#line 131 "xs/GtkTreeViewColumn.xs"
	GList * renderers, * i;
#line 359 "xs/GtkTreeViewColumn.c"
#line 133 "xs/GtkTreeViewColumn.xs"
	renderers = gtk_tree_view_column_get_cell_renderers (tree_column);
	EXTEND (SP, (int)g_list_length (renderers));
	for (i = renderers ; i ; i = i->next)
		PUSHs (sv_2mortal (newSVGtkCellRenderer (GTK_CELL_RENDERER (i->data))));
	g_list_free (renderers);
#line 366 "xs/GtkTreeViewColumn.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_add_attribute); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_add_attribute)
{
    dVAR; dXSARGS;
    if (items != 4)
       croak_xs_usage(cv,  "tree_column, cell_renderer, attribute, column");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	GtkCellRenderer *	cell_renderer = SvGtkCellRenderer (ST(1))
;
	const gchar *	attribute;
	gint	column = (gint)SvIV(ST(3))
;

	/* same as SvGChar(), but not in a function */
	sv_utf8_upgrade (ST(2));
	attribute = (const gchar *)SvPV_nolen (ST(2))
;

	gtk_tree_view_column_add_attribute(tree_column, cell_renderer, attribute, column);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_set_attributes); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_set_attributes)
{
    dVAR; dXSARGS;
    if (items < 2)
       croak_xs_usage(cv,  "tree_column, cell_renderer, ...");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	GtkCellRenderer *	cell_renderer = SvGtkCellRenderer (ST(1))
;
#line 157 "xs/GtkTreeViewColumn.xs"
	if (!check_stack_for_attributes (2))
		croak ("Usage: $treeviewcolumn->set_attributes (cellrenderer, attr1, col1, ...)");
	set_attributes_from_arg_stack (tree_column, cell_renderer, 2);
#line 414 "xs/GtkTreeViewColumn.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_set_cell_data_func); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_set_cell_data_func)
{
    dVAR; dXSARGS;
    if (items < 3 || items > 4)
       croak_xs_usage(cv,  "tree_column, cell_renderer, func, data=NULL");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	GtkCellRenderer *	cell_renderer = SvGtkCellRenderer (ST(1))
;
	SV *	func = ST(2)
;
	SV *	data;
#line 181 "xs/GtkTreeViewColumn.xs"
	GPerlCallback * callback;
#line 436 "xs/GtkTreeViewColumn.c"

	if (items < 4)
	    data = NULL;
	else {
	    data = ST(3)
;
	}
#line 183 "xs/GtkTreeViewColumn.xs"
	callback = gtk2perl_tree_cell_data_func_create (func, data);
	gtk_tree_view_column_set_cell_data_func (tree_column, cell_renderer,
	                                         gtk2perl_tree_cell_data_func,
	                                         callback,
	                                         (GDestroyNotify)
						    gperl_callback_destroy);
#line 451 "xs/GtkTreeViewColumn.c"
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_clear_attributes); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_clear_attributes)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "tree_column, cell_renderer");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	GtkCellRenderer *	cell_renderer = SvGtkCellRenderer (ST(1))
;

	gtk_tree_view_column_clear_attributes(tree_column, cell_renderer);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_set_spacing); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_set_spacing)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "tree_column, spacing");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	gint	spacing = (gint)SvIV(ST(1))
;

	gtk_tree_view_column_set_spacing(tree_column, spacing);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_get_spacing); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_get_spacing)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "tree_column");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	gint	RETVAL;
	dXSTARG;

	RETVAL = gtk_tree_view_column_get_spacing(tree_column);
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_set_visible); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_set_visible)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "tree_column, visible");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	gboolean	visible = (bool)SvTRUE(ST(1))
;

	gtk_tree_view_column_set_visible(tree_column, visible);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_get_visible); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_get_visible)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "tree_column");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	gboolean	RETVAL;

	RETVAL = gtk_tree_view_column_get_visible(tree_column);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_set_resizable); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_set_resizable)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "tree_column, resizable");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	gboolean	resizable = (bool)SvTRUE(ST(1))
;

	gtk_tree_view_column_set_resizable(tree_column, resizable);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_get_resizable); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_get_resizable)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "tree_column");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	gboolean	RETVAL;

	RETVAL = gtk_tree_view_column_get_resizable(tree_column);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_set_sizing); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_set_sizing)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "tree_column, type");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	GtkTreeViewColumnSizing	type = SvGtkTreeViewColumnSizing (ST(1))
;

	gtk_tree_view_column_set_sizing(tree_column, type);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_get_sizing); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_get_sizing)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "tree_column");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	GtkTreeViewColumnSizing	RETVAL;

	RETVAL = gtk_tree_view_column_get_sizing(tree_column);
	{
	    SV * RETVALSV;
	    RETVALSV = newSVGtkTreeViewColumnSizing (RETVAL);
	    RETVALSV = sv_2mortal(RETVALSV);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_get_width); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_get_width)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "tree_column");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	gint	RETVAL;
	dXSTARG;

	RETVAL = gtk_tree_view_column_get_width(tree_column);
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_get_fixed_width); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_get_fixed_width)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "tree_column");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	gint	RETVAL;
	dXSTARG;

	RETVAL = gtk_tree_view_column_get_fixed_width(tree_column);
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_set_fixed_width); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_set_fixed_width)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "tree_column, fixed_width");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	gint	fixed_width = (gint)SvIV(ST(1))
;

	gtk_tree_view_column_set_fixed_width(tree_column, fixed_width);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_set_min_width); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_set_min_width)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "tree_column, min_width");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	gint	min_width = (gint)SvIV(ST(1))
;

	gtk_tree_view_column_set_min_width(tree_column, min_width);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_get_min_width); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_get_min_width)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "tree_column");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	gint	RETVAL;
	dXSTARG;

	RETVAL = gtk_tree_view_column_get_min_width(tree_column);
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_set_max_width); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_set_max_width)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "tree_column, max_width");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	gint	max_width = (gint)SvIV(ST(1))
;

	gtk_tree_view_column_set_max_width(tree_column, max_width);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_get_max_width); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_get_max_width)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "tree_column");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	gint	RETVAL;
	dXSTARG;

	RETVAL = gtk_tree_view_column_get_max_width(tree_column);
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_clicked); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_clicked)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "tree_column");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;

	gtk_tree_view_column_clicked(tree_column);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_set_title); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_set_title)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "tree_column, title");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	const gchar *	title;

	/* same as SvGChar(), but not in a function */
	sv_utf8_upgrade (ST(1));
	title = (const gchar *)SvPV_nolen (ST(1))
;

	gtk_tree_view_column_set_title(tree_column, title);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_get_title); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_get_title)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "tree_column");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	const gchar *	RETVAL;

	RETVAL = gtk_tree_view_column_get_title(tree_column);
	{
	    SV * RETVALSV;
	    RETVALSV = sv_newmortal();
	    /* same as newSVGChar(), but not in a function */
	    sv_setpv ((SV*)RETVALSV, RETVAL);
	    SvUTF8_on (RETVALSV);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#if GTK_CHECK_VERSION(2,4,0)
#define XSubPPtmpAAAA 1


XS_EUPXS(XS_Gtk2__TreeViewColumn_set_expand); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_set_expand)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "tree_column, expand");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	gboolean	expand = (bool)SvTRUE(ST(1))
;

	gtk_tree_view_column_set_expand(tree_column, expand);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_get_expand); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_get_expand)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "tree_column");
    {
	gboolean	RETVAL;
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;

	RETVAL = gtk_tree_view_column_get_expand(tree_column);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Gtk2__TreeViewColumn_set_clickable); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_set_clickable)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "tree_column, clickable");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	gboolean	clickable = (bool)SvTRUE(ST(1))
;

	gtk_tree_view_column_set_clickable(tree_column, clickable);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_get_clickable); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_get_clickable)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "tree_column");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	gboolean	RETVAL;

	RETVAL = gtk_tree_view_column_get_clickable(tree_column);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_set_widget); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_set_widget)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "tree_column, widget");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	GtkWidget_ornull *	widget = SvGtkWidget_ornull (ST(1))
;

	gtk_tree_view_column_set_widget(tree_column, widget);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_get_widget); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_get_widget)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "tree_column");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	GtkWidget_ornull *	RETVAL;

	RETVAL = gtk_tree_view_column_get_widget(tree_column);
	{
	    SV * RETVALSV;
	    RETVALSV = newSVGtkWidget_ornull (RETVAL);
	    RETVALSV = sv_2mortal(RETVALSV);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_set_alignment); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_set_alignment)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "tree_column, xalign");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	gfloat	xalign = (float)SvNV(ST(1))
;

	gtk_tree_view_column_set_alignment(tree_column, xalign);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_get_alignment); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_get_alignment)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "tree_column");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	gfloat	RETVAL;
	dXSTARG;

	RETVAL = gtk_tree_view_column_get_alignment(tree_column);
	XSprePUSH; PUSHn((double)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_set_reorderable); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_set_reorderable)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "tree_column, reorderable");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	gboolean	reorderable = (bool)SvTRUE(ST(1))
;

	gtk_tree_view_column_set_reorderable(tree_column, reorderable);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_get_reorderable); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_get_reorderable)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "tree_column");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	gboolean	RETVAL;

	RETVAL = gtk_tree_view_column_get_reorderable(tree_column);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_set_sort_column_id); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_set_sort_column_id)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "tree_column, sort_column_id");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	gint	sort_column_id = (gint)SvIV(ST(1))
;

	gtk_tree_view_column_set_sort_column_id(tree_column, sort_column_id);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_get_sort_column_id); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_get_sort_column_id)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "tree_column");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	gint	RETVAL;
	dXSTARG;

	RETVAL = gtk_tree_view_column_get_sort_column_id(tree_column);
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_set_sort_indicator); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_set_sort_indicator)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "tree_column, setting");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	gboolean	setting = (bool)SvTRUE(ST(1))
;

	gtk_tree_view_column_set_sort_indicator(tree_column, setting);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_get_sort_indicator); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_get_sort_indicator)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "tree_column");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	gboolean	RETVAL;

	RETVAL = gtk_tree_view_column_get_sort_indicator(tree_column);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_set_sort_order); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_set_sort_order)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "tree_column, order");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	GtkSortType	order = SvGtkSortType (ST(1))
;

	gtk_tree_view_column_set_sort_order(tree_column, order);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_get_sort_order); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_get_sort_order)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "tree_column");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	GtkSortType	RETVAL;

	RETVAL = gtk_tree_view_column_get_sort_order(tree_column);
	{
	    SV * RETVALSV;
	    RETVALSV = newSVGtkSortType (RETVAL);
	    RETVALSV = sv_2mortal(RETVALSV);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_cell_set_cell_data); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_cell_set_cell_data)
{
    dVAR; dXSARGS;
    if (items != 5)
       croak_xs_usage(cv,  "tree_column, tree_model, iter, is_expander, is_expanded");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	GtkTreeModel *	tree_model = SvGtkTreeModel (ST(1))
;
	GtkTreeIter *	iter = SvGtkTreeIter (ST(2))
;
	gboolean	is_expander = (bool)SvTRUE(ST(3))
;
	gboolean	is_expanded = (bool)SvTRUE(ST(4))
;

	gtk_tree_view_column_cell_set_cell_data(tree_column, tree_model, iter, is_expander, is_expanded);
    }
    XSRETURN_EMPTY;
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_cell_get_size); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_cell_get_size)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "tree_column");
    PERL_UNUSED_VAR(ax); /* -Wall */
    SP -= items;
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
#line 360 "xs/GtkTreeViewColumn.xs"
	GdkRectangle cell_area = {0};
	gint x_offset = 0, y_offset = 0, width = 0, height = 0;
#line 1160 "xs/GtkTreeViewColumn.c"
#line 363 "xs/GtkTreeViewColumn.xs"
	/* PUTBACK/SPAGAIN because gtk_tree_view_column_cell_get_size()
	   calls out to its renderers, which may be perl */
	PUTBACK;
	gtk_tree_view_column_cell_get_size (tree_column, &cell_area, &x_offset, &y_offset, &width, &height);
	SPAGAIN;
	EXTEND (sp, 5);
	PUSHs (sv_2mortal (newSViv (x_offset)));
	PUSHs (sv_2mortal (newSViv (y_offset)));
	PUSHs (sv_2mortal (newSViv (width)));
	PUSHs (sv_2mortal (newSViv (height)));
	PUSHs (sv_2mortal (newSVGdkRectangle (&cell_area)));
#line 1173 "xs/GtkTreeViewColumn.c"
	PUTBACK;
	return;
    }
}


XS_EUPXS(XS_Gtk2__TreeViewColumn_cell_is_visible); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_cell_is_visible)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "tree_column");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	gboolean	RETVAL;

	RETVAL = gtk_tree_view_column_cell_is_visible(tree_column);
	ST(0) = boolSV(RETVAL);
    }
    XSRETURN(1);
}

#if GTK_CHECK_VERSION(2,2,0)
#define XSubPPtmpAAAB 1


XS_EUPXS(XS_Gtk2__TreeViewColumn_cell_get_position); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_cell_get_position)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "tree_column, cell_renderer");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	GtkCellRenderer *	cell_renderer = SvGtkCellRenderer (ST(1))
;
	gint	start_pos;
	gint	width;

	gtk_tree_view_column_cell_get_position(tree_column, cell_renderer, &start_pos, &width);
	XSprePUSH;	EXTEND(SP,2);
	PUSHs(sv_newmortal());
	sv_setiv(ST(0), (IV)start_pos);
	PUSHs(sv_newmortal());
	sv_setiv(ST(1), (IV)width);
    }
    XSRETURN(2);
}

#endif
#if GTK_CHECK_VERSION(2,2,0)
#define XSubPPtmpAAAC 1


XS_EUPXS(XS_Gtk2__TreeViewColumn_focus_cell); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_focus_cell)
{
    dVAR; dXSARGS;
    if (items != 2)
       croak_xs_usage(cv,  "tree_column, cell");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;
	GtkCellRenderer *	cell = SvGtkCellRenderer (ST(1))
;

	gtk_tree_view_column_focus_cell(tree_column, cell);
    }
    XSRETURN_EMPTY;
}

#endif /* >= 2.2.0 */
#if GTK_CHECK_VERSION (2, 8, 0)
#define XSubPPtmpAAAD 1


XS_EUPXS(XS_Gtk2__TreeViewColumn_queue_resize); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_queue_resize)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "tree_column");
    {
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;

	gtk_tree_view_column_queue_resize(tree_column);
    }
    XSRETURN_EMPTY;
}

#endif
#if GTK_CHECK_VERSION (2, 12, 0)
#define XSubPPtmpAAAE 1


XS_EUPXS(XS_Gtk2__TreeViewColumn_get_tree_view); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeViewColumn_get_tree_view)
{
    dVAR; dXSARGS;
    if (items != 1)
       croak_xs_usage(cv,  "tree_column");
    {
	GtkWidget_ornull *	RETVAL;
	GtkTreeViewColumn *	tree_column = SvGtkTreeViewColumn (ST(0))
;

	RETVAL = gtk_tree_view_column_get_tree_view(tree_column);
	{
	    SV * RETVALSV;
	    RETVALSV = newSVGtkWidget_ornull (RETVAL);
	    RETVALSV = sv_2mortal(RETVALSV);
	    ST(0) = RETVALSV;
	}
    }
    XSRETURN(1);
}

#endif

XS_EUPXS(XS_Gtk2__TreeView_insert_column_with_attributes); /* prototype to pass -Wmissing-prototypes */
XS_EUPXS(XS_Gtk2__TreeView_insert_column_with_attributes)
{
    dVAR; dXSARGS;
    if (items < 4)
       croak_xs_usage(cv,  "tree_view, position, title, cell, ...");
    {
	GtkTreeView *	tree_view = SvGtkTreeView (ST(0))
;
	gint	position = (gint)SvIV(ST(1))
;
	const gchar *	title;
	GtkCellRenderer *	cell = SvGtkCellRenderer (ST(3))
;
#line 429 "xs/GtkTreeViewColumn.xs"
	GtkTreeViewColumn * column;
#line 1312 "xs/GtkTreeViewColumn.c"
	gint	RETVAL;
	dXSTARG;

	/* same as SvGChar(), but not in a function */
	sv_utf8_upgrade (ST(2));
	title = (const gchar *)SvPV_nolen (ST(2))
;
#line 431 "xs/GtkTreeViewColumn.xs"
	if (!check_stack_for_attributes (4))
		croak ("Usage: Gtk2::TreeView::insert_column_with_attributes(tree_view, position, title, cell_renderer, attr1, col1, attr2, col2, ...)");
	column = gtk_tree_view_column_new ();
	RETVAL = gtk_tree_view_insert_column (tree_view, column, position);
	gtk_tree_view_column_set_title (column, title);
	gtk_tree_view_column_pack_start (column, cell, TRUE);
	set_attributes_from_arg_stack (column, cell, 4);
#line 1328 "xs/GtkTreeViewColumn.c"
	XSprePUSH; PUSHi((IV)RETVAL);
    }
    XSRETURN(1);
}

#ifdef __cplusplus
extern "C"
#endif
XS_EXTERNAL(boot_Gtk2__TreeViewColumn); /* prototype to pass -Wmissing-prototypes */
XS_EXTERNAL(boot_Gtk2__TreeViewColumn)
{
#if PERL_VERSION_LE(5, 21, 5)
    dVAR; dXSARGS;
#else
    dVAR; dXSBOOTARGSXSAPIVERCHK;
#endif
#if (PERL_REVISION == 5 && PERL_VERSION < 9)
    char* file = __FILE__;
#else
    const char* file = __FILE__;
#endif

    PERL_UNUSED_VAR(file);

    PERL_UNUSED_VAR(cv); /* -W */
    PERL_UNUSED_VAR(items); /* -W */
#if PERL_VERSION_LE(5, 21, 5)
    XS_VERSION_BOOTCHECK;
#  ifdef XS_APIVERSION_BOOTCHECK
    XS_APIVERSION_BOOTCHECK;
#  endif
#endif

        newXS_deffile("Gtk2::TreeViewColumn::new", XS_Gtk2__TreeViewColumn_new);
        newXS_deffile("Gtk2::TreeViewColumn::new_with_attributes", XS_Gtk2__TreeViewColumn_new_with_attributes);
        newXS_deffile("Gtk2::TreeViewColumn::pack_start", XS_Gtk2__TreeViewColumn_pack_start);
        newXS_deffile("Gtk2::TreeViewColumn::pack_end", XS_Gtk2__TreeViewColumn_pack_end);
        newXS_deffile("Gtk2::TreeViewColumn::clear", XS_Gtk2__TreeViewColumn_clear);
        newXS_deffile("Gtk2::TreeViewColumn::get_cell_renderers", XS_Gtk2__TreeViewColumn_get_cell_renderers);
        newXS_deffile("Gtk2::TreeViewColumn::add_attribute", XS_Gtk2__TreeViewColumn_add_attribute);
        newXS_deffile("Gtk2::TreeViewColumn::set_attributes", XS_Gtk2__TreeViewColumn_set_attributes);
        newXS_deffile("Gtk2::TreeViewColumn::set_cell_data_func", XS_Gtk2__TreeViewColumn_set_cell_data_func);
        newXS_deffile("Gtk2::TreeViewColumn::clear_attributes", XS_Gtk2__TreeViewColumn_clear_attributes);
        newXS_deffile("Gtk2::TreeViewColumn::set_spacing", XS_Gtk2__TreeViewColumn_set_spacing);
        newXS_deffile("Gtk2::TreeViewColumn::get_spacing", XS_Gtk2__TreeViewColumn_get_spacing);
        newXS_deffile("Gtk2::TreeViewColumn::set_visible", XS_Gtk2__TreeViewColumn_set_visible);
        newXS_deffile("Gtk2::TreeViewColumn::get_visible", XS_Gtk2__TreeViewColumn_get_visible);
        newXS_deffile("Gtk2::TreeViewColumn::set_resizable", XS_Gtk2__TreeViewColumn_set_resizable);
        newXS_deffile("Gtk2::TreeViewColumn::get_resizable", XS_Gtk2__TreeViewColumn_get_resizable);
        newXS_deffile("Gtk2::TreeViewColumn::set_sizing", XS_Gtk2__TreeViewColumn_set_sizing);
        newXS_deffile("Gtk2::TreeViewColumn::get_sizing", XS_Gtk2__TreeViewColumn_get_sizing);
        newXS_deffile("Gtk2::TreeViewColumn::get_width", XS_Gtk2__TreeViewColumn_get_width);
        newXS_deffile("Gtk2::TreeViewColumn::get_fixed_width", XS_Gtk2__TreeViewColumn_get_fixed_width);
        newXS_deffile("Gtk2::TreeViewColumn::set_fixed_width", XS_Gtk2__TreeViewColumn_set_fixed_width);
        newXS_deffile("Gtk2::TreeViewColumn::set_min_width", XS_Gtk2__TreeViewColumn_set_min_width);
        newXS_deffile("Gtk2::TreeViewColumn::get_min_width", XS_Gtk2__TreeViewColumn_get_min_width);
        newXS_deffile("Gtk2::TreeViewColumn::set_max_width", XS_Gtk2__TreeViewColumn_set_max_width);
        newXS_deffile("Gtk2::TreeViewColumn::get_max_width", XS_Gtk2__TreeViewColumn_get_max_width);
        newXS_deffile("Gtk2::TreeViewColumn::clicked", XS_Gtk2__TreeViewColumn_clicked);
        newXS_deffile("Gtk2::TreeViewColumn::set_title", XS_Gtk2__TreeViewColumn_set_title);
        newXS_deffile("Gtk2::TreeViewColumn::get_title", XS_Gtk2__TreeViewColumn_get_title);
#if XSubPPtmpAAAA
        newXS_deffile("Gtk2::TreeViewColumn::set_expand", XS_Gtk2__TreeViewColumn_set_expand);
        newXS_deffile("Gtk2::TreeViewColumn::get_expand", XS_Gtk2__TreeViewColumn_get_expand);
#endif
        newXS_deffile("Gtk2::TreeViewColumn::set_clickable", XS_Gtk2__TreeViewColumn_set_clickable);
        newXS_deffile("Gtk2::TreeViewColumn::get_clickable", XS_Gtk2__TreeViewColumn_get_clickable);
        newXS_deffile("Gtk2::TreeViewColumn::set_widget", XS_Gtk2__TreeViewColumn_set_widget);
        newXS_deffile("Gtk2::TreeViewColumn::get_widget", XS_Gtk2__TreeViewColumn_get_widget);
        newXS_deffile("Gtk2::TreeViewColumn::set_alignment", XS_Gtk2__TreeViewColumn_set_alignment);
        newXS_deffile("Gtk2::TreeViewColumn::get_alignment", XS_Gtk2__TreeViewColumn_get_alignment);
        newXS_deffile("Gtk2::TreeViewColumn::set_reorderable", XS_Gtk2__TreeViewColumn_set_reorderable);
        newXS_deffile("Gtk2::TreeViewColumn::get_reorderable", XS_Gtk2__TreeViewColumn_get_reorderable);
        newXS_deffile("Gtk2::TreeViewColumn::set_sort_column_id", XS_Gtk2__TreeViewColumn_set_sort_column_id);
        newXS_deffile("Gtk2::TreeViewColumn::get_sort_column_id", XS_Gtk2__TreeViewColumn_get_sort_column_id);
        newXS_deffile("Gtk2::TreeViewColumn::set_sort_indicator", XS_Gtk2__TreeViewColumn_set_sort_indicator);
        newXS_deffile("Gtk2::TreeViewColumn::get_sort_indicator", XS_Gtk2__TreeViewColumn_get_sort_indicator);
        newXS_deffile("Gtk2::TreeViewColumn::set_sort_order", XS_Gtk2__TreeViewColumn_set_sort_order);
        newXS_deffile("Gtk2::TreeViewColumn::get_sort_order", XS_Gtk2__TreeViewColumn_get_sort_order);
        newXS_deffile("Gtk2::TreeViewColumn::cell_set_cell_data", XS_Gtk2__TreeViewColumn_cell_set_cell_data);
        newXS_deffile("Gtk2::TreeViewColumn::cell_get_size", XS_Gtk2__TreeViewColumn_cell_get_size);
        newXS_deffile("Gtk2::TreeViewColumn::cell_is_visible", XS_Gtk2__TreeViewColumn_cell_is_visible);
#if XSubPPtmpAAAB
        newXS_deffile("Gtk2::TreeViewColumn::cell_get_position", XS_Gtk2__TreeViewColumn_cell_get_position);
#endif
#if XSubPPtmpAAAC
        newXS_deffile("Gtk2::TreeViewColumn::focus_cell", XS_Gtk2__TreeViewColumn_focus_cell);
#endif
#if XSubPPtmpAAAD
        newXS_deffile("Gtk2::TreeViewColumn::queue_resize", XS_Gtk2__TreeViewColumn_queue_resize);
#endif
#if XSubPPtmpAAAE
        newXS_deffile("Gtk2::TreeViewColumn::get_tree_view", XS_Gtk2__TreeViewColumn_get_tree_view);
#endif
        newXS_deffile("Gtk2::TreeView::insert_column_with_attributes", XS_Gtk2__TreeView_insert_column_with_attributes);

    /* Initialisation Section */

#if XSubPPtmpAAAA
#endif
#if XSubPPtmpAAAB
#endif
#if XSubPPtmpAAAC
#endif
#if XSubPPtmpAAAD
#endif
#if XSubPPtmpAAAE
#endif
#line 1437 "xs/GtkTreeViewColumn.c"

    /* End of Initialisation Section */

#if PERL_VERSION_LE(5, 21, 5)
#  if PERL_VERSION_GE(5, 9, 0)
    if (PL_unitcheckav)
        call_list(PL_scopestack_ix, PL_unitcheckav);
#  endif
    XSRETURN_YES;
#else
    Perl_xs_boot_epilog(aTHX_ ax);
#endif
}

