Gtk-Perl

 view release on metacpan or  search on metacpan

Gtk/xs/GtkCTree.xs  view on Meta::CPAN

	CODE:
	RETVAL=ctree->tree_indent;
	OUTPUT:
	RETVAL

int
tree_column(ctree)
	Gtk::CTree	ctree
	CODE:
	RETVAL=ctree->tree_column;
	OUTPUT:
	RETVAL

Gtk::CTreeLineStyle
line_style(ctree)
	Gtk::CTree	ctree
	CODE:
	RETVAL=ctree->line_style;
	OUTPUT:
	RETVAL

Gtk::CellType
gtk_ctree_node_get_cell_type (ctree, node, column)
	Gtk::CTree	ctree
	Gtk::CTreeNode	node
	int column


char*
gtk_ctree_node_get_text(ctree, node, column)
	Gtk::CTree	ctree
	Gtk::CTreeNode	node
	int column
	ALIAS:
		Gtk::CTree::node_get_text = 0
		Gtk::CTree::get_text = 1
	CODE:
	{
		gchar* text=NULL;
#if GTK_HVER <= 0x010101
		/* FIXME: DEPRECATED? */
		gtk_ctree_get_text(ctree, node, column, &text);
#else
		gtk_ctree_node_get_text(ctree, node, column, &text);
#endif
		RETVAL = text;
	}
	OUTPUT:
	RETVAL

 #OUTPUT: list
 #RETURNS: the pixmap and the bitmap at the specified column
void
gtk_ctree_node_get_pixmap (ctree, node, column)
	Gtk::CTree	ctree
	Gtk::CTreeNode	node
	int column
	ALIAS:
		Gtk::CTree::node_get_pixmap = 0
		Gtk::CTree::get_pixmap = 1
	PPCODE:
	{
		GdkPixmap * pixmap = NULL;
		GdkBitmap * bitmap = NULL;
		int result;
		result = gtk_ctree_node_get_pixmap(ctree, node, column, &pixmap, (GIMME == G_ARRAY) ?&bitmap: NULL);
		if ( result ) {
			if ( pixmap ) {
				EXTEND(sp, 1);
				PUSHs(sv_2mortal(newSVGdkPixmap(pixmap)));
			}
			if (bitmap ) {
				EXTEND(sp, 1);
				PUSHs(sv_2mortal(newSVGdkBitmap(bitmap)));
			}
		}
	}

 #OUTPUT: list
 #RETURNS: ($text, $spacing, $pixmap, $bitmap)
void
gtk_ctree_node_get_pixtext (ctree, node, column)
	Gtk::CTree	ctree
	Gtk::CTreeNode	node
	int column
	ALIAS:
		Gtk::CTree::node_get_pixtext = 0
		Gtk::CTree::get_pixtext = 1
	PPCODE:
	{
		gchar* text = NULL;
		guint8 spacing;
		GdkPixmap * pixmap = NULL;
		GdkBitmap * bitmap = NULL;
		int result;
		/* FIXME: require GIMME == G_ARRAY? */
		result = gtk_ctree_node_get_pixtext(ctree, node, column, &text, &spacing, &pixmap, &bitmap);
		if ( result ) {
			EXTEND(sp, 4);
			if ( text )
				PUSHs(sv_2mortal(newSVpv(text, 0)));
			else
				PUSHs(sv_2mortal(newSVsv(&PL_sv_undef)));
			PUSHs(sv_2mortal(newSViv(spacing)));
			if ( pixmap )
				PUSHs(sv_2mortal(newSVGdkPixmap(pixmap)));
			else
				PUSHs(sv_2mortal(newSVsv(&PL_sv_undef)));
			if (bitmap )
				PUSHs(sv_2mortal(newSVGdkBitmap(bitmap)));
			else
				PUSHs(sv_2mortal(newSVsv(&PL_sv_undef)));
		}
	}


#if GTK_HVER >= 0x010200

Gtk::Style
gtk_ctree_node_get_cell_style (ctree, node, column)
	Gtk::CTree	ctree
	Gtk::CTreeNode	node
	int	column

Gtk::Style
gtk_ctree_node_get_row_style (ctree, node)
	Gtk::CTree	ctree
	Gtk::CTreeNode	node

void
gtk_ctree_node_set_row_style (ctree, node, style)
	Gtk::CTree	ctree
	Gtk::CTreeNode	node
	Gtk::Style	style

void
gtk_ctree_node_set_cell_style (ctree, node, column, style)
	Gtk::CTree	ctree
	Gtk::CTreeNode	node
	gint	column
	Gtk::Style	style

gboolean
gtk_ctree_node_get_selectable (ctree, node)
	Gtk::CTree	ctree
	Gtk::CTreeNode	node

void
gtk_ctree_node_set_selectable (ctree, node, selectable)

Gtk/xs/GtkCTree.xs  view on Meta::CPAN

	Gtk::CTree	ctree
	Gtk::CTreeNode	node
	int	column
	double	row_align
	double	col_align

Gtk::CTreeNode
gtk_ctree_node_nth (ctree, row)
	Gtk::CTree	ctree
	int	row

void
gtk_ctree_node_set_foreground (ctree, node, color)
	Gtk::CTree	ctree
	Gtk::CTreeNode	node
	Gtk::Gdk::Color	color

void
gtk_ctree_node_set_background (ctree, node, color)
	Gtk::CTree	ctree
	Gtk::CTreeNode	node
	Gtk::Gdk::Color	color

void
gtk_ctree_node_set_pixmap (ctree, node, column, pixmap, mask)
	Gtk::CTree	ctree
	Gtk::CTreeNode	node
	int	column
	Gtk::Gdk::Pixmap_OrNULL	pixmap
	Gtk::Gdk::Bitmap_OrNULL	mask

void
gtk_ctree_node_set_pixtext (ctree, node, column, text, spacing, pixmap, mask)
	Gtk::CTree	ctree
	Gtk::CTreeNode	node
	int	column
	char *	text
	gint	spacing
	Gtk::Gdk::Pixmap_OrNULL	pixmap
	Gtk::Gdk::Bitmap_OrNULL	mask

void
gtk_ctree_set_node_info (ctree, node, text, spacing=5, pixmap_closed=NULL, mask_closed=NULL, pixmap_opened=NULL, mask_opened=NULL, is_leaf=TRUE, expanded=FALSE)
	Gtk::CTree	ctree
	Gtk::CTreeNode	node
	char *	text
	gint	spacing
	Gtk::Gdk::Pixmap_OrNULL	pixmap_closed
	Gtk::Gdk::Bitmap_OrNULL	mask_closed
	Gtk::Gdk::Pixmap_OrNULL	pixmap_opened
	Gtk::Gdk::Bitmap_OrNULL	mask_opened
	gboolean	is_leaf
	gboolean	expanded

 #OUTPUT: list
 #RETURNS: ($text, $spacing, $openpix, $openbitmap, $closedpix, $closedbitmap, $isleaf, $expanded)
void
gtk_ctree_get_node_info (ctree, node)
	Gtk::CTree	ctree
	Gtk::CTreeNode	node
	PPCODE:
	{
		char * text;
		guint8 spacing;
		GdkPixmap *pc = NULL, * po=NULL;
		GdkBitmap *bc=NULL, *bo=NULL;
		gboolean is_leaf, expanded;

		if (gtk_ctree_get_node_info(ctree, node, &text, &spacing, &pc, &bc, &po, &bo, &is_leaf, &expanded)) {
			EXTEND(sp, 8);
			PUSHs(sv_2mortal(newSVpv(text, 0)));
			PUSHs(sv_2mortal(newSViv(spacing)));
			PUSHs(sv_2mortal(newSVGdkPixmap(pc)));
			PUSHs(sv_2mortal(newSVGdkBitmap(bc)));
			PUSHs(sv_2mortal(newSVGdkPixmap(po)));
			PUSHs(sv_2mortal(newSVGdkBitmap(bo)));
			PUSHs(sv_2mortal(newSViv(is_leaf)));
			PUSHs(sv_2mortal(newSViv(expanded)));
		}
	}

void
gtk_ctree_set_expander_style (ctree, expander_style)
	Gtk::CTree	ctree
	Gtk::CTreeExpanderStyle	expander_style

void
gtk_ctree_set_show_stub (ctree, show_stub)
	Gtk::CTree	ctree
	gboolean	show_stub

void
gtk_ctree_set_spacing (ctree, spacing)
	Gtk::CTree	ctree
	gint	spacing

 #ARG: $data reference (a reference to some data)
void
gtk_ctree_node_set_row_data(ctree, node, data)
	Gtk::CTree  ctree
	Gtk::CTreeNode node
	SV *	data
	CODE:
	{
		SV * sv = (SV*)SvRV(data);
		
		/*\ Hearken: we are given a reference, called 'data', which refers to
		 *          some SV, called 'sv'. The RV is ephemeral, and we must
		 *          not form a permanent reference to it. Instead, we
		 *          increment the refcount of the target sv, and store that
		 *          sv's pointer as the row data. When the row data is
		 *          deallocated, the sv's refcount will be decremented.
		\*/

		if (!sv)
			croak("Data must be a reference");
			
		SvREFCNT_inc(sv);
		
		gtk_ctree_node_set_row_data_full(ctree, node, sv, svrefcnt_dec);
	}

Gtk/xs/GtkCTree.xs  view on Meta::CPAN

void
gtk_ctree_unselect(ctree, node)
	Gtk::CTree	ctree
	Gtk::CTreeNode	node

void
gtk_ctree_unselect_recursive(ctree, node=NULL)
	Gtk::CTree	ctree
	Gtk::CTreeNode_OrNULL	node


void
gtk_ctree_node_set_text(ctree, node, column, text)
	Gtk::CTree	ctree
	Gtk::CTreeNode	node
	int column
	char *text
	ALIAS:
		Gtk::CTree::node_set_text = 0
		Gtk::CTree::set_text = 1
	CODE:
#if GTK_HVER <= 0x010101
	/* FIXME: DEPRECATED? */
	gtk_ctree_set_text(ctree, node, column, text);
#else
	gtk_ctree_node_set_text(ctree, node, column, text);
#endif


void
gtk_ctree_sort_node(ctree, node=0)
	Gtk::CTree	ctree
	Gtk::CTreeNode_OrNULL	node
	ALIAS:
		Gtk::CTree::sort_node = 0
		Gtk::CTree::sort = 1
	CODE:
#if GTK_HVER <= 0x010101
	/* FIXME: DEPRECATED? */
	gtk_ctree_sort(ctree, node);
#else
	gtk_ctree_sort_node(ctree, node);
#endif

void
gtk_ctree_sort_recursive(ctree, node=0)
	Gtk::CTree	ctree
	Gtk::CTreeNode_OrNULL	node

gboolean
gtk_ctree_is_hot_spot (ctree, x, y)
	Gtk::CTree	ctree
	int	x
	int	y

 #OUTPUT: list
 #RETURNS: list of Gtk::CTreeNode
void
selection (ctree)
	Gtk::CTree	ctree
	PPCODE:
	{
		GList * selection = GTK_CLIST(ctree)->selection;
		while(selection) {
			EXTEND(sp, 1);
			PUSHs(sv_2mortal(newSVGtkCTreeNode(GTK_CTREE_NODE(selection->data))));
			selection=selection->next;
		}
	}

int
get_node_position (ctree, node)
	Gtk::CTree	ctree
	Gtk::CTreeNode	node
	CODE:
	RETVAL = g_list_position(GTK_CLIST(ctree)->row_list, (GList*)node);
	OUTPUT:
	RETVAL

 #OUTPUT: list
 #RETURNS: list of Gtk::CTreeRow
void
row_list (ctree)
	Gtk::CTree	ctree
	PPCODE:
	{
		GList * row_list = GTK_CLIST(ctree)->row_list;
		while(row_list) {
			EXTEND(sp, 1);
			PUSHs(sv_2mortal(newSVGtkCTreeRow(row_list->data)));
			row_list=row_list->next;
		}

	}

#endif

MODULE = Gtk::CTree		PACKAGE = Gtk::CTreeNode		PREFIX = gtk_ctree_node_

#ifdef GTK_CTREE

 #OUTPUT: Gtk::CTreeRow
void
row(ctree_node)
	Gtk::CTreeNode	ctree_node
	PPCODE:
	{
		if (ctree_node) {
			EXTEND(sp, 1);
			PUSHs(sv_2mortal(newSVGtkCTreeRow(GTK_CTREE_ROW(ctree_node))));
		}
	}

 #OUTPUT: Gtk::CTreeNode
void
next(ctree_node)
	Gtk::CTreeNode	ctree_node
	PPCODE:
	{
		if (ctree_node) {
			EXTEND(sp, 1);
			PUSHs(sv_2mortal(newSVGtkCTreeNode(GTK_CTREE_NODE_NEXT(ctree_node))));
		}
	}

 #OUTPUT: Gtk::CTreeNode
void
prev(ctree_node)
	Gtk::CTreeNode	ctree_node
	PPCODE:
	{
		if (ctree_node) {
			EXTEND(sp, 1);
			PUSHs(sv_2mortal(newSVGtkCTreeNode(GTK_CTREE_NODE_PREV(ctree_node))));
		}
	}

#endif



( run in 0.554 second using v1.01-cache-2.11-cpan-5511b514fd6 )