## Families and types

Families and types

## Functions

GHashTable const * | gog_plot_families ()
GogPlotFamily * | gog_plot_family_by_name ()
GogPlotFamily * | gog_plot_family_register ()
void | gog_plot_family_unregister ()
GogPlotType * | gog_plot_type_register ()
GHashTable const * | gog_trend_line_types ()

## Types and Values

| GogPlotFamily
| GogPlotType
| GogTrendLineType

## Description

## Functions

### gog_plot_families ()

    GHashTable const *
    gog_plot_families (void);

#### Returns

the registered plot families.

[transfer none][element-type utf8 GogPlotFamily]

### gog_plot_family_by_name ()

    GogPlotFamily *
    gog_plot_family_by_name (char const *name);

[skip]

#### Parameters

name | family name |

#### Returns

the plot family if it exists.

### gog_plot_family_register ()

    GogPlotFamily *
    gog_plot_family_register (char const *name,
                              char const *sample_image_file,
                              int priority,
                              GogAxisSet axis_set);

[skip]

#### Parameters

name | family name |
sample_image_file | the sample image file name. |
axis_set | the used axis set. |

#### Returns

the new GogPlotFamily.

### gog_plot_family_unregister ()

    void
    gog_plot_family_unregister (GogPlotFamily *family);

### gog_plot_type_register ()

    GogPlotType *
    gog_plot_type_register (GogPlotFamily *family,
                            int col,
                            int row,
                            char const *name,
                            char const *sample_image_file,
                            char const *description,
                            char const *engine);

[skip]

#### Parameters

family | GogPlotFamily |
col | the column where the sample should appear. |
row | the row where the sample should appear. |
name | the plot type name. |
sample_image_file | the sample image file name. |
description | the plot type description. |
engine | the plot engine name. |

#### Returns

the new GogPlotType.

### gog_trend_line_types ()

    GHashTable const *
    gog_trend_line_types (void);

#### Returns

the registered trend line types.

[transfer none]

## Types and Values

### GogPlotFamily

    typedef struct {
    	char *name, *sample_image_file;
    	int priority;

    	GogAxisSet	 axis_set;

    	GHashTable *types;
    } GogPlotFamily;

Plot types family.

#### Members

char *`name`; | family name. |
char *`sample_image_file`; | sample image for the graph editor. |
int `priority`; | priority. |
GogAxisSet `axis_set`; | GogAxisSet used. |
GHashTable *`types`; | known types in the family. |

### GogPlotType

    typedef struct {
    	GogPlotFamily 	*family;
    	char 		*engine;

    	char 		*name, *sample_image_file;
    	char 		*description; /* untranslated */
    	int 		 col, row;

    	GHashTable 	*properties;
    } GogPlotType;

#### Members

GogPlotFamily *`family`; | plot family. |
char *`engine`; | plot engine. |
char *`name`; | plot type name. |
char *`sample_image_file`; | sample image for the graph editor. |
char *`description`; | untranslated description. |
int `col`; | column where the plot type appears in the table inside the graph editor. |
int `row`; | row. |
GHashTable *`properties`; | plot type properties. |

### GogTrendLineType

    typedef struct {
    	char *engine;

    	char *name;
    	char *description; /* untranslated */

    	GHashTable *properties;
    } GogTrendLineType;

#### Members

char *`engine`; | trend line engine. |
char *`name`; | trend line type name. |
char *`description`; | untranslated description. |
GHashTable *`properties`; | trend line type properties. |