コード例 #1
0
ファイル: stf-export.c プロジェクト: nzinfo/gnumeric
static gboolean
cb_set_export_option (const char *key, const char *value,
		      GError **err, gpointer user)
{
	Workbook *wb = user;
	GnmStfExport *stfe = gnm_stf_get_stfe (G_OBJECT (wb));
	const char *errtxt;

	if (strcmp (key, "sheet") == 0) {
		Sheet *sheet = workbook_sheet_by_name (wb, value);
		if (!sheet) {
			errtxt = _("There is no such sheet");
			goto error;
		}

		gnm_stf_export_options_sheet_list_add (stfe, sheet);

		return FALSE;
	}

	if (strcmp (key, "eol") == 0) {
		const char *eol;
		if (g_ascii_strcasecmp ("unix", value) == 0)
			eol = "\n";
		else if (g_ascii_strcasecmp ("mac", value) == 0)
			eol = "\r";
		else if	(g_ascii_strcasecmp ("windows", value) == 0)
			eol = "\r\n";
		else {
			errtxt = _("eol must be one of unix, mac, and windows");
			goto error;
		}

		g_object_set (G_OBJECT (stfe), "eol", eol, NULL);
		return FALSE;
	}

	if (strcmp (key, "charset") == 0 ||
	    strcmp (key, "locale") == 0 ||
	    strcmp (key, "quote") == 0 ||
	    strcmp (key, "separator") == 0 ||
	    strcmp (key, "format") == 0 ||
	    strcmp (key, "transliterate-mode") == 0 ||
	    strcmp (key, "quoting-mode") == 0 ||
	    strcmp (key, "quoting-on-whitespace") == 0)
		return go_object_set_property
			(G_OBJECT (stfe),
			 key, key, value,
			 err,
			 (_("Invalid value for option %s: \"%s\"")));

	errtxt = _("Invalid option for stf exporter");
error:
	if (err)
		*err = g_error_new (go_error_invalid (), 0, "%s", errtxt);

	return TRUE;
}
コード例 #2
0
ファイル: html_read.c プロジェクト: GNOME/gnumeric
static Sheet *
html_get_sheet (char const *name, Workbook *wb)
{
	Sheet *sheet = NULL;

	if (name) {
		sheet = workbook_sheet_by_name (wb, name);
		if (sheet == NULL) {
			sheet = sheet_new (wb, name, GNM_DEFAULT_COLS, GNM_DEFAULT_ROWS);
			workbook_sheet_attach (wb, sheet);
		}
	} else
		sheet = workbook_sheet_add (wb, -1, GNM_DEFAULT_COLS, GNM_DEFAULT_ROWS);
	return sheet;
}
コード例 #3
0
ファイル: RWorkbook.c プロジェクト: omegahat/Gnumeric
/**
  Get a reference to a particular sheet in a Gnumeric workbook,
  identifying it either by index or by name. If an integer
  is specified, this should be 1-based (rather than 0-based).
 */
USER_OBJECT_
RGnumeric_sheetInWorkbook(USER_OBJECT_ workbookRef, USER_OBJECT_ index)
{
  Workbook *workbook;
  USER_OBJECT_ ans = NULL_USER_OBJECT;
  Sheet *sheet;

  workbook = RGnumeric_resolveWorkbookReference(workbookRef);
  if(IS_INTEGER(index))
    sheet = workbook_sheet_by_index(workbook, INTEGER_DATA(index)[0] - 1);
  else {
    sheet = workbook_sheet_by_name(workbook, CHAR_DEREF(STRING_ELT(index, 0)));
  }
  if(sheet)
    ans = RGnumeric_sheetReference(sheet);

  return(ans);
}
コード例 #4
0
ファイル: gnumeric_link.c プロジェクト: gijs/coopy
GnumericSheetPtr gnumeric_get_sheet_by_name(GnumericWorkbookPtr workbook, 
					    const char *name) {
  WorkbookView *wbv = (WorkbookView *)workbook;
  Sheet *sheet = workbook_sheet_by_name (wb_view_get_workbook (wbv), name);
  return (GnumericSheetPtr*)sheet;
}