Пример #1
0
/**
 * gnm_ft_clone:
 * @ft: GnmFT
 *
 * Make a copy of @ft.
 *
 * Returns: transfer full): a copy of @ft
 **/
GnmFT *
gnm_ft_clone (GnmFT const *ft)
{
	GnmFT *clone;

	g_return_val_if_fail (ft != NULL, NULL);

	clone = gnm_ft_new ();
	gnm_ft_set_author (clone, ft->author);
	gnm_ft_set_name (clone, ft->name);
	gnm_ft_set_description (clone, ft->description);
	g_free (clone->filename); clone->filename = g_strdup (ft->filename);

	clone->category    = ft->category;

	clone->members = go_slist_map (ft->members,
				       (GOMapFunc)gnm_ft_member_clone);

	clone->number    = ft->number;
	clone->border    = ft->border;
	clone->font      = ft->font;
	clone->patterns  = ft->patterns;
	clone->alignment = ft->alignment;
	clone->edges     = ft->edges;
	clone->dimension = ft->dimension;

	clone->invalidate_hash = TRUE;

	return clone;
}
Пример #2
0
/**
 * gnm_scenario_dup:
 * @sc: #GnmScenario
 * @new_sheet: #Sheet
 *
 * Returns: (transfer full): the duplicated scenario.
 **/
GnmScenario *
gnm_scenario_dup (GnmScenario *src, Sheet *new_sheet)
{
	GnmScenario *dst;

	dst = gnm_scenario_new (src->name, new_sheet);
	gnm_scenario_set_comment (dst, src->comment);
	dst->items = go_slist_map (src->items,
				   (GOMapFunc)gnm_scenario_item_dup);
	return dst;
}
Пример #3
0
/**
 * stf_parse_options_csv_set_separators:
 *
 * A copy is made of the parameters.
 **/
void
stf_parse_options_csv_set_separators (StfParseOptions_t *parseoptions, char const *character,
				      GSList const *string)
{
	g_return_if_fail (parseoptions != NULL);

	g_free (parseoptions->sep.chr);
	parseoptions->sep.chr = g_strdup (character);

	go_slist_free_custom (parseoptions->sep.str, g_free);
	parseoptions->sep.str = go_slist_map (string, (GOMapFunc)g_strdup);
}