GOFormat

GOFormat

Functions

int (*GOFormatMeasure) ()
int go_format_measure_zero ()
int go_format_measure_pango ()
int go_format_measure_strlen ()
void go_render_general ()
void go_render_generall ()
GOFormat * go_format_new_from_XL ()
GOFormat * go_format_new_markup ()
GOFormat * go_format_general ()
GOFormat * go_format_empty ()
GOFormat * go_format_default_date ()
GOFormat * go_format_default_time ()
GOFormat * go_format_default_date_time ()
GOFormat * go_format_default_percentage ()
GOFormat * go_format_default_money ()
GOFormat * go_format_default_accounting ()
void go_format_generate_number_str ()
void go_format_details_init ()
void go_format_generate_str ()
char * go_format_str_localize ()
char * go_format_str_delocalize ()
const char * go_format_as_XL ()
GOFormat * go_format_ref ()
void go_format_unref ()
gboolean go_format_is_invalid ()
gboolean go_format_is_general ()
gboolean go_format_is_markup ()
gboolean go_format_is_text ()
gboolean go_format_is_var_width ()
int go_format_is_date ()
int go_format_is_time ()
int go_format_month_before_day ()
gboolean go_format_has_hour ()
gboolean go_format_has_minute ()
GOFormatMagic go_format_get_magic ()
GOFormat * go_format_new_magic ()
const GOFormat * go_format_specialize ()
const GOFormat * go_format_specializel ()
GOFormatFamily go_format_get_family ()
void go_format_get_details ()
const PangoAttrList * go_format_get_markup ()
gboolean go_format_is_simple ()
GOFormatNumberError go_format_value_gstring ()
char * go_format_value ()
GOFormatNumberError go_format_value_gstringl ()
char * go_format_valuel ()
gboolean go_format_eq ()
GOFormat * go_format_inc_precision ()
GOFormat * go_format_dec_precision ()
GOFormat * go_format_toggle_1000sep ()
char * go_format_odf_style_map ()
gboolean go_format_output_to_odf ()
GOFormatCurrency const * go_format_locale_currency ()

Types and Values

Description

Functions

GOFormatMeasure ()

int
(*GOFormatMeasure) (const GString *str,
                    PangoLayout *layout);


go_format_measure_zero ()

int
go_format_measure_zero (const GString *str,
                        PangoLayout *layout);


go_format_measure_pango ()

int
go_format_measure_pango (const GString *str,
                         PangoLayout *layout);


go_format_measure_strlen ()

int
go_format_measure_strlen (const GString *str,
                          PangoLayout *layout);


go_render_general ()

void
go_render_general (PangoLayout *layout,
                   GString *str,
                   GOFormatMeasure measure,
                   const GOFontMetrics *metrics,
                   double val,
                   int col_width,
                   gboolean unicode_minus);


go_render_generall ()

void
go_render_generall (PangoLayout *layout,
                    GString *str,
                    GOFormatMeasure measure,
                    const GOFontMetrics *metrics,
                    long double val,
                    int col_width,
                    gboolean unicode_minus);


go_format_new_from_XL ()

GOFormat *
go_format_new_from_XL (char const *str);

Parameters

str

XL descriptor in UTF-8 encoding.

 

Returns

Looks up and potentially creates a GOFormat from the supplied string in XL format.


go_format_new_markup ()

GOFormat *
go_format_new_markup (PangoAttrList *markup,
                      gboolean add_ref);

If add_ref is FALSE absorb the reference to markup , otherwise add a reference.

Parameters

markup

PangoAttrList

 

add_ref

boolean

 

Returns

A new format.


go_format_general ()

GOFormat *
go_format_general (void);


go_format_empty ()

GOFormat *
go_format_empty (void);


go_format_default_date ()

GOFormat *
go_format_default_date (void);


go_format_default_time ()

GOFormat *
go_format_default_time (void);


go_format_default_date_time ()

GOFormat *
go_format_default_date_time (void);


go_format_default_percentage ()

GOFormat *
go_format_default_percentage (void);


go_format_default_money ()

GOFormat *
go_format_default_money (void);


go_format_default_accounting ()

GOFormat *
go_format_default_accounting (void);


go_format_generate_number_str ()

void
go_format_generate_number_str (GString *dst,
                               int min_digits,
                               int num_decimals,
                               gboolean thousands_sep,
                               gboolean negative_red,
                               gboolean negative_paren,
                               const char *prefix,
                               const char *postfix);

Generates a format string for a number format with the given parameters and appends it to dst .

Parameters

dst

GString to append format string to.

 

min_digits

minimum number of digits before decimal separator.

 

num_decimals

number of decimals

 

thousands_sep

if true, use a thousands separator.

 

negative_red

if true, make negative values red.

 

negative_paren

if true, enclose negative values in parentheses.

 

prefix

optional string to place before number part of the format

 

postfix

optional string to place after number part of the format

 

go_format_details_init ()

void
go_format_details_init (GOFormatDetails *details,
                        GOFormatFamily family);


go_format_generate_str ()

void
go_format_generate_str (GString *dst,
                        GOFormatDetails const *details);


go_format_str_localize ()

char *
go_format_str_localize (char const *str);

Localizes the given format string, i.e., changes decimal dots to the locale's notion of that and performs other such transformations.

Parameters

str

A *valid* format string

 

Returns

a localized format string, or NULL if the format was not valid.


go_format_str_delocalize ()

char *
go_format_str_delocalize (char const *str);

De-localizes the given format string, i.e., changes locale's decimal separators to dots and performs other such transformations.

Parameters

str

A *valid* localized format string

 

Returns

a non-local format string, or NULL if the format was not valid.


go_format_as_XL ()

const char *
go_format_as_XL (GOFormat const *fmt);

Parameters

fmt

a GOFormat

 

Returns

the XL style format strint.


go_format_ref ()

GOFormat *
go_format_ref (GOFormat const *fmt);

Adds a reference to a GOFormat.

Parameters

fmt

a GOFormat

 

Returns

gf


go_format_unref ()

void
go_format_unref (GOFormat const *fmt);

Removes a reference to fmt , freeing when it goes to zero.

Parameters

fmt

a GOFormat

 

go_format_is_invalid ()

gboolean
go_format_is_invalid (GOFormat const *fmt);

Parameters

fmt

Format to query

 

Returns

TRUE if, and if only, the format is invalid


go_format_is_general ()

gboolean
go_format_is_general (GOFormat const *fmt);

Parameters

fmt

Format to query

 

Returns

TRUE if the format is "General", possibly with condition, color, and/or locale. ("xGeneral" is thus not considered to be General for the purpose of this function.) Returns FALSE otherwise.


go_format_is_markup ()

gboolean
go_format_is_markup (GOFormat const *fmt);

Parameters

fmt

Format to query

 

Returns

TRUE if the format is a markup format Returns FALSE otherwise.


go_format_is_text ()

gboolean
go_format_is_text (GOFormat const *fmt);

Parameters

fmt

Format to query

 

Returns

TRUE if the format is a text format Returns FALSE otherwise.


go_format_is_var_width ()

gboolean
go_format_is_var_width (GOFormat const *fmt);

Parameters

fmt

Format to query

 

Returns

TRUE if the format is variable width, i.e., can stretch. Returns FALSE otherwise.


go_format_is_date ()

int
go_format_is_date (GOFormat const *fmt);

Parameters

fmt

Format to query

 

Returns

+2 if the format is a date format with time +1 if the format is any other date format. 0 if the format is not a date format. -1 if the format is inconsistent.


go_format_is_time ()

int
go_format_is_time (GOFormat const *fmt);

Parameters

fmt

Format to query

 

Returns

+2 if the format is a time format with elapsed hour/minute/second +1 if the format is any other time format 0 if the format is not a time format -1 if the format is inconsistent.


go_format_month_before_day ()

int
go_format_month_before_day (GOFormat const *fmt);

Parameters

fmt

Format to query

 

Returns

0, if format is a date format with day and month in that order 1, if format is a date format with month and day in that order, unless 2, if format is a date with year before month before day -1, otherwise.


go_format_has_hour ()

gboolean
go_format_has_hour (GOFormat const *fmt);

Parameters

fmt

Format to query

 

Returns

TRUE if format is a number format with an hour specifier FALSE otherwise.


go_format_has_minute ()

gboolean
go_format_has_minute (GOFormat const *fmt);

Parameters

fmt

Format to query

 

Returns

TRUE if format is a number format with a minute specifier FALSE otherwise.


go_format_get_magic ()

GOFormatMagic
go_format_get_magic (GOFormat const *fmt);

Parameters

fmt

Format to query

 

Returns

a non-zero magic code for certain formats, such as system date.


go_format_new_magic ()

GOFormat *
go_format_new_magic (GOFormatMagic m);


go_format_specialize ()

const GOFormat *
go_format_specialize (GOFormat const *fmt,
                      double val,
                      char type,
                      gboolean *inhibit_minus);


go_format_specializel ()

const GOFormat *
go_format_specializel (GOFormat const *fmt,
                       long double val,
                       char type,
                       gboolean *inhibit_minus);


go_format_get_family ()

GOFormatFamily
go_format_get_family (GOFormat const *fmt);


go_format_get_details ()

void
go_format_get_details (GOFormat const *fmt,
                       GOFormatDetails *dst,
                       gboolean *exact);


go_format_get_markup ()

const PangoAttrList *
go_format_get_markup (GOFormat const *fmt);


go_format_is_simple ()

gboolean
go_format_is_simple (GOFormat const *fmt);


go_format_value_gstring ()

GOFormatNumberError
go_format_value_gstring (PangoLayout *layout,
                         GString *str,
                         const GOFormatMeasure measure,
                         const GOFontMetrics *metrics,
                         GOFormat const *fmt,
                         double val,
                         char type,
                         const char *sval,
                         GOColor *go_color,
                         int col_width,
                         GODateConventions const *date_conv,
                         gboolean unicode_minus);


go_format_value ()

char *
go_format_value (GOFormat const *fmt,
                 double val);

Converts val into a string using format specified by fmt .

Parameters

fmt

a GOFormat

 

val

value to format

 

Returns

a newly allocated string containing formated value.


go_format_value_gstringl ()

GOFormatNumberError
go_format_value_gstringl (PangoLayout *layout,
                          GString *str,
                          const GOFormatMeasure measure,
                          const GOFontMetrics *metrics,
                          GOFormat const *fmt,
                          long double val,
                          char type,
                          const char *sval,
                          GOColor *go_color,
                          int col_width,
                          GODateConventions const *date_conv,
                          gboolean unicode_minus);


go_format_valuel ()

char *
go_format_valuel (GOFormat const *fmt,
                  long double val);


go_format_eq ()

gboolean
go_format_eq (GOFormat const *a,
              GOFormat const *b);


go_format_inc_precision ()

GOFormat *
go_format_inc_precision (GOFormat const *fmt);

Increases the displayed precision for fmt by one digit.

Parameters

fmt

GOFormat

 

Returns

NULL if the new format would not change things


go_format_dec_precision ()

GOFormat *
go_format_dec_precision (GOFormat const *fmt);

Decreases the displayed precision for fmt by one digit.

Parameters

fmt

GOFormat

 

Returns

NULL if the new format would not change things


go_format_toggle_1000sep ()

GOFormat *
go_format_toggle_1000sep (GOFormat const *fmt);


go_format_odf_style_map ()

char *
go_format_odf_style_map (GOFormat const *fmt,
                         int cond_part);


go_format_output_to_odf ()

gboolean
go_format_output_to_odf (GsfXMLOut *xout,
                         GOFormat const *fmt,
                         int cond_part,
                         char const *name,
                         gboolean with_extension);


go_format_locale_currency ()

GOFormatCurrency const *
go_format_locale_currency (void);

Types and Values

GOFormat

typedef struct _GOFormat GOFormat;


enum GOFormatFamily

Members

GO_FORMAT_UNKNOWN

   

GO_FORMAT_GENERAL

   

GO_FORMAT_NUMBER

   

GO_FORMAT_CURRENCY

   

GO_FORMAT_ACCOUNTING

   

GO_FORMAT_DATE

   

GO_FORMAT_TIME

   

GO_FORMAT_PERCENTAGE

   

GO_FORMAT_FRACTION

   

GO_FORMAT_SCIENTIFIC

   

GO_FORMAT_TEXT

   

GO_FORMAT_SPECIAL

   

GO_FORMAT_MARKUP

   

enum GOFormatMagic

Members

GO_FORMAT_MAGIC_NONE

   

GO_FORMAT_MAGIC_LONG_DATE

   

GO_FORMAT_MAGIC_MEDIUM_DATE

   

GO_FORMAT_MAGIC_SHORT_DATE

   

GO_FORMAT_MAGIC_SHORT_DATETIME

   

GO_FORMAT_MAGIC_LONG_TIME

   

GO_FORMAT_MAGIC_MEDIUM_TIME

   

GO_FORMAT_MAGIC_SHORT_TIME

   

enum GOFormatNumberError

Members

GO_FORMAT_NUMBER_OK

   

GO_FORMAT_NUMBER_INVALID_FORMAT

   

GO_FORMAT_NUMBER_DATE_ERROR

   

GOFormatCurrency

typedef struct {
	gchar const *symbol;
	gchar const *description;
	gboolean precedes;
	gboolean has_space;
} GOFormatCurrency;


GOFormatDetails

typedef struct {
	GOFormatFamily family;
	GOFormatMagic magic;

	/* NUMBER, SCIENTIFIC, CURRENCY, ACCOUNTING, PERCENTAGE: */
	int min_digits;
	int num_decimals;

	/* NUMBER, CURRENCY, ACCOUNTING, PERCENTAGE: */
	gboolean thousands_sep;

	/* NUMBER, CURRENCY, ACCOUNTING, PERCENTAGE: */
	gboolean negative_red;
	gboolean negative_paren;

	/* CURRENCY, ACCOUNTING: */
	GOFormatCurrency const *currency;

	/* CURRENCY: */
	gboolean force_quoted;

	/* SCIENTIFIC: */
	int exponent_step;
	gboolean use_markup;
	gboolean simplify_mantissa;
} GOFormatDetails;