|  |  |  | Goffice Reference Manual |  | 
|---|---|---|---|---|
enum GOFormatFamily; enum GOFormatNumberError; int (*GOFormatMeasure) (const GString *str, PangoLayout *layout); int go_format_measure_zero (const GString *str, PangoLayout *layout); int go_format_measure_pango (const GString *str, PangoLayout *layout); int go_format_measure_strlen (const GString *str, PangoLayout *layout); void go_render_general (PangoLayout *layout, GString *str, GOFormatMeasure measure, const GOFontMetrics *metrics, double val, int col_width, gboolean unicode_minus); void go_render_generall (PangoLayout *layout, GString *str, GOFormatMeasure measure, const GOFontMetrics *metrics, long double val, int col_width, gboolean unicode_minus); GOFormat* go_format_new_from_XL (char const *str); GOFormat* go_format_new_markup (PangoAttrList *markup, gboolean add_ref); GOFormat* go_format_general (void); GOFormat* go_format_default_date (void); GOFormat* go_format_default_time (void); GOFormat* go_format_default_date_time (void); GOFormat* go_format_default_percentage (void); GOFormat* go_format_default_money (void); char* go_format_str_localize (char const *str); char* go_format_str_delocalize (char const *str); const char* go_format_as_XL (GOFormat const *fmt); GOFormat* go_format_ref (GOFormat *fmt); void go_format_unref (GOFormat *fmt); gboolean go_format_is_general (GOFormat const *fmt); gboolean go_format_is_markup (GOFormat const *fmt); gboolean go_format_is_text (GOFormat const *fmt); gboolean go_format_is_var_width (GOFormat const *fmt); int go_format_is_date (GOFormat const *fmt); GOFormatFamily go_format_get_family (GOFormat const *fmt); const PangoAttrList* go_format_get_markup (GOFormat const *fmt); gboolean go_format_is_simple (GOFormat const *fmt); 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); char* go_format_value (GOFormat const *fmt, double val); 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); char* go_format_valuel (GOFormat const *fmt, long double val); gboolean go_format_eq (GOFormat const *a, GOFormat const *b); GOFormat* go_format_inc_precision (GOFormat const *fmt); GOFormat* go_format_dec_precision (GOFormat const *fmt); GOFormat* go_format_toggle_1000sep (GOFormat const *fmt); GOFormatCurrency; void go_number_format_init (void); void go_number_format_shutdown (void); void go_currency_date_format_init (void); void go_currency_date_format_shutdown (void);
typedef enum {
	GO_FORMAT_UNKNOWN	= -1,
	GO_FORMAT_GENERAL	= 0,
	GO_FORMAT_NUMBER	= 1,
	GO_FORMAT_CURRENCY	= 2,
	GO_FORMAT_ACCOUNTING	= 3,
	GO_FORMAT_DATE		= 4,
	GO_FORMAT_TIME		= 5,
	GO_FORMAT_PERCENTAGE	= 6,
	GO_FORMAT_FRACTION	= 7,
	GO_FORMAT_SCIENTIFIC	= 8,
	GO_FORMAT_TEXT		= 9,
	GO_FORMAT_SPECIAL	= 10,
	GO_FORMAT_MARKUP	= 11	/* Internal use only */
} GOFormatFamily;
typedef enum {
	GO_FORMAT_NUMBER_OK = 0,
	GO_FORMAT_NUMBER_INVALID_FORMAT,
	GO_FORMAT_NUMBER_DATE_ERROR
} GOFormatNumberError;
int (*GOFormatMeasure) (const GString *str, PangoLayout *layout);
| str: | |
| layout: | |
| Returns : | 
int go_format_measure_zero (const GString *str, PangoLayout *layout);
| str: | |
| layout: | |
| Returns : | 
int go_format_measure_pango (const GString *str, PangoLayout *layout);
| str: | |
| layout: | |
| Returns : | 
int go_format_measure_strlen (const GString *str, PangoLayout *layout);
| str: | |
| layout: | |
| Returns : | 
void        go_render_general               (PangoLayout *layout,
                                             GString *str,
                                             GOFormatMeasure measure,
                                             const GOFontMetrics *metrics,
                                             double val,
                                             int col_width,
                                             gboolean unicode_minus);
| layout: | |
| str: | |
| measure: | |
| metrics: | |
| val: | |
| col_width: | |
| unicode_minus: | 
void        go_render_generall              (PangoLayout *layout,
                                             GString *str,
                                             GOFormatMeasure measure,
                                             const GOFontMetrics *metrics,
                                             long double val,
                                             int col_width,
                                             gboolean unicode_minus);
| layout: | |
| str: | |
| measure: | |
| metrics: | |
| val: | |
| col_width: | |
| unicode_minus: | 
GOFormat* go_format_new_from_XL (char const *str);
Looks up and potentially creates a GOFormat from the supplied string in XL format.
descriptor_string: XL descriptor in UTF-8 encoding.
| str: | |
| Returns : | 
GOFormat*   go_format_new_markup            (PangoAttrList *markup,
                                             gboolean add_ref);
Create a MARKUP format.  If add_ref is FALSE absorb the reference to
markup, otherwise add a reference.
| markup: | PangoAttrList | 
| add_ref: | |
| Returns : | 
const char* go_format_as_XL (GOFormat const *fmt);
| fmt: | a GOFormat | 
| Returns : | the XL style format strint. | 
GOFormat* go_format_ref (GOFormat *fmt);
Adds a reference to a GOFormat.
| fmt: | a GOFormat | 
| Returns : | 
void go_format_unref (GOFormat *fmt);
Removes a reference to fmt, freeing when it goes to zero.
| fmt: | a GOFormat | 
gboolean go_format_is_general (GOFormat const *fmt);
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.)
| fmt: | Format to query | 
| Returns : | FALSE otherwise. | 
gboolean go_format_is_markup (GOFormat const *fmt);
Returns TRUE if the format is a markup format
| fmt: | Format to query | 
| Returns : | FALSE otherwise. | 
gboolean go_format_is_text (GOFormat const *fmt);
Returns TRUE if the format is a text format
| fmt: | Format to query | 
| Returns : | FALSE otherwise. | 
gboolean go_format_is_var_width (GOFormat const *fmt);
Returns TRUE if the format is variable width, i.e., can stretch.
| fmt: | Format to query | 
| Returns : | FALSE otherwise. | 
int go_format_is_date (GOFormat const *fmt);
Returns TRUE if the format is a date format. Returns FALSE if the format is not a date format.
| fmt: | Format to query | 
| Returns : | -1 if the format is inconsistent. | 
const PangoAttrList* go_format_get_markup (GOFormat const *fmt);
| fmt: | |
| Returns : | 
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);
| layout: | |
| str: | |
| measure: | |
| metrics: | |
| fmt: | |
| val: | |
| type: | |
| sval: | |
| go_color: | |
| col_width: | |
| date_conv: | |
| unicode_minus: | |
| Returns : | 
char*       go_format_value                 (GOFormat const *fmt,
                                             double val);
Converts val into a string using format specified by fmt.
| fmt: | a GOFormat | 
| val: | value to format | 
| Returns : | a newly allocated string containing formated value. | 
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);
| layout: | |
| str: | |
| measure: | |
| metrics: | |
| fmt: | |
| val: | |
| type: | |
| sval: | |
| go_color: | |
| col_width: | |
| date_conv: | |
| unicode_minus: | |
| Returns : | 
char*       go_format_valuel                (GOFormat const *fmt,
                                             long double val);
| fmt: | |
| val: | |
| Returns : | 
GOFormat* go_format_inc_precision (GOFormat const *fmt);
Increaseds the displayed precision for fmt by one digit.
| fmt: | GOFormat | 
| Returns : | NULL if the new format would not change things | 
GOFormat* go_format_dec_precision (GOFormat const *fmt);
Decreases the displayed precision for fmt by one digit.
| fmt: | GOFormat | 
| Returns : | NULL if the new format would not change things | 
GOFormat* go_format_toggle_1000sep (GOFormat const *fmt);
| fmt: | |
| Returns : | 
typedef struct {
	gchar const *symbol;
	gchar const *description;
	gboolean precedes;
	gboolean has_space;
} GOFormatCurrency;