mirror of https://github.com/Gnucash/gnucash
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
159 lines
6.4 KiB
159 lines
6.4 KiB
#ifndef GNUMERIC_MSTYLE_H
|
|
#define GNUMERIC_MSTYLE_H
|
|
|
|
#include "gnumeric.h"
|
|
#include "style.h"
|
|
|
|
/*
|
|
* Keep element_size up to date.
|
|
*/
|
|
typedef enum {
|
|
/* Delimiter */
|
|
MSTYLE_ELEMENT_UNSET = 0,
|
|
/* When there is a conflict in a merge */
|
|
MSTYLE_ELEMENT_CONFLICT,
|
|
/* Types that are visible in blank cells */
|
|
MSTYLE_COLOR_BACK,
|
|
MSTYLE_COLOR_PATTERN,
|
|
|
|
MSTYLE_BORDER_TOP,
|
|
MSTYLE_BORDER_BOTTOM,
|
|
MSTYLE_BORDER_LEFT,
|
|
MSTYLE_BORDER_RIGHT,
|
|
MSTYLE_BORDER_REV_DIAGONAL,
|
|
MSTYLE_BORDER_DIAGONAL,
|
|
|
|
MSTYLE_PATTERN,
|
|
/* Delimiter */
|
|
MSTYLE_ELEMENT_MAX_BLANK,
|
|
/* Normal types */
|
|
MSTYLE_COLOR_FORE,
|
|
MSTYLE_FONT_NAME,
|
|
MSTYLE_FONT_BOLD,
|
|
MSTYLE_FONT_ITALIC,
|
|
MSTYLE_FONT_UNDERLINE,
|
|
MSTYLE_FONT_STRIKETHROUGH,
|
|
MSTYLE_FONT_SIZE,
|
|
|
|
MSTYLE_FORMAT,
|
|
|
|
MSTYLE_ALIGN_V,
|
|
MSTYLE_ALIGN_H,
|
|
MSTYLE_INDENT,
|
|
MSTYLE_ROTATION,
|
|
MSTYLE_WRAP_TEXT,
|
|
MSTYLE_SHRINK_TO_FIT,
|
|
|
|
MSTYLE_CONTENT_LOCKED,
|
|
MSTYLE_CONTENT_HIDDEN,
|
|
|
|
/* Things not in MS Excel's Style */
|
|
MSTYLE_VALIDATION,
|
|
MSTYLE_HLINK, /* patch equal_XL if this is changed */
|
|
MSTYLE_INPUT_MSG, /* patch equal_XL if this is changed */
|
|
/* Delimiter */
|
|
MSTYLE_ELEMENT_MAX
|
|
} MStyleElementType;
|
|
|
|
GnmStyle *mstyle_new (void);
|
|
GnmStyle *mstyle_new_default (void);
|
|
GnmStyle *mstyle_copy (const GnmStyle *st);
|
|
GnmStyle *mstyle_copy_merge (const GnmStyle *orig, const GnmStyle *overlay);
|
|
void mstyle_ref (GnmStyle *st);
|
|
void mstyle_unref (GnmStyle *st);
|
|
|
|
GnmStyle *mstyle_link_sheet (GnmStyle *st, Sheet *sheet);
|
|
void mstyle_link (GnmStyle *st);
|
|
void mstyle_link_multiple (GnmStyle *st, int count);
|
|
void mstyle_unlink (GnmStyle *st);
|
|
|
|
gboolean mstyle_equal (GnmStyle const *a, GnmStyle const *b);
|
|
gboolean mstyle_equal_XL (GnmStyle const *a, GnmStyle const *b);
|
|
gboolean mstyle_verify (GnmStyle const *st);
|
|
guint mstyle_hash (gconstpointer st);
|
|
guint mstyle_hash_XL (gconstpointer st);
|
|
gboolean mstyle_empty (const GnmStyle *st);
|
|
|
|
/*
|
|
* Wafer thin element access functions.
|
|
*/
|
|
gboolean mstyle_is_element_set (const GnmStyle *st, MStyleElementType t);
|
|
gboolean mstyle_is_element_conflict (const GnmStyle *st, MStyleElementType t);
|
|
void mstyle_compare (GnmStyle *a, const GnmStyle *b);
|
|
void mstyle_unset_element (GnmStyle *st, MStyleElementType t);
|
|
void mstyle_replace_element (GnmStyle *src, GnmStyle *dst, MStyleElementType t);
|
|
void mstyle_set_color (GnmStyle *st, MStyleElementType t,
|
|
GnmColor *col);
|
|
GnmColor *mstyle_get_color (const GnmStyle *st, MStyleElementType t);
|
|
void mstyle_set_border (GnmStyle *st, MStyleElementType t,
|
|
GnmBorder *border);
|
|
GnmBorder *mstyle_get_border (const GnmStyle *st, MStyleElementType t);
|
|
void mstyle_set_pattern (GnmStyle *st, int pattern);
|
|
int mstyle_get_pattern (const GnmStyle *st);
|
|
void mstyle_set_font_name (GnmStyle *st, const char *name);
|
|
const char *mstyle_get_font_name (const GnmStyle *st);
|
|
void mstyle_set_font_bold (GnmStyle *st, gboolean bold);
|
|
gboolean mstyle_get_font_bold (const GnmStyle *st);
|
|
void mstyle_set_font_italic (GnmStyle *st, gboolean italic);
|
|
gboolean mstyle_get_font_italic (const GnmStyle *st);
|
|
void mstyle_set_font_uline (GnmStyle *st, StyleUnderlineType const t);
|
|
StyleUnderlineType mstyle_get_font_uline (const GnmStyle *st);
|
|
void mstyle_set_font_strike (GnmStyle *st, gboolean strikethrough);
|
|
gboolean mstyle_get_font_strike (const GnmStyle *st);
|
|
void mstyle_set_font_size (GnmStyle *st, double size);
|
|
double mstyle_get_font_size (const GnmStyle *st);
|
|
|
|
/* this font must be unrefd after use */
|
|
GnmFont *mstyle_get_font (const GnmStyle *st,
|
|
PangoContext *context,
|
|
double zoom);
|
|
void mstyle_set_format (GnmStyle *st, GnmFormat *);
|
|
void mstyle_set_format_text (GnmStyle *st, const char *format);
|
|
GnmFormat *mstyle_get_format (const GnmStyle *st);
|
|
void mstyle_set_align_h (GnmStyle *st, StyleHAlignFlags a);
|
|
StyleHAlignFlags mstyle_get_align_h (const GnmStyle *st);
|
|
void mstyle_set_align_v (GnmStyle *st, StyleVAlignFlags a);
|
|
StyleVAlignFlags mstyle_get_align_v (const GnmStyle *st);
|
|
void mstyle_set_indent (GnmStyle *st, int i);
|
|
int mstyle_get_indent (const GnmStyle *st);
|
|
|
|
void mstyle_set_rotation (GnmStyle *st, int r);
|
|
int mstyle_get_rotation (const GnmStyle *st);
|
|
|
|
void mstyle_set_wrap_text (GnmStyle *st, gboolean f);
|
|
gboolean mstyle_get_wrap_text (const GnmStyle *st);
|
|
gboolean mstyle_get_effective_wrap_text (const GnmStyle *st);
|
|
void mstyle_set_shrink_to_fit (GnmStyle *st, gboolean f);
|
|
gboolean mstyle_get_shrink_to_fit (const GnmStyle *st);
|
|
|
|
void mstyle_set_content_locked (GnmStyle *st, gboolean f);
|
|
gboolean mstyle_get_content_locked (const GnmStyle *st);
|
|
void mstyle_set_content_hidden (GnmStyle *st, gboolean f);
|
|
gboolean mstyle_get_content_hidden (const GnmStyle *st);
|
|
|
|
void mstyle_set_validation (GnmStyle *st, GnmValidation *v);
|
|
GnmValidation *mstyle_get_validation (const GnmStyle *st);
|
|
|
|
void mstyle_set_hlink (GnmStyle *st, GnmHLink *link);
|
|
GnmHLink *mstyle_get_hlink (const GnmStyle *st);
|
|
|
|
void mstyle_set_input_msg (GnmStyle *st, GnmInputMsg *msg);
|
|
GnmInputMsg *mstyle_get_input_msg (const GnmStyle *st);
|
|
|
|
gboolean mstyle_visible_in_blank (const GnmStyle *st);
|
|
|
|
PangoAttrList *mstyle_generate_attrs_full (const GnmStyle *st);
|
|
PangoAttrList *mstyle_get_pango_attrs (const GnmStyle *st,
|
|
PangoContext *context,
|
|
double zoom);
|
|
void mstyle_set_from_pango_attribute (GnmStyle *style,
|
|
PangoAttribute const *attr);
|
|
|
|
char *mstyle_to_string (const GnmStyle *st); /* Debug only ! leaks like a sieve */
|
|
void mstyle_dump (const GnmStyle *st);
|
|
|
|
void mstyle_init (void);
|
|
void mstyle_shutdown (void);
|
|
|
|
#endif /* GNUMERIC_MSTYLE_H */
|