## GogPlotEngine

GogPlotEngine — Plot and regression curve plugin management

## Synopsis

                        GogPlotType;
                        GogPlotFamily;
    GHashTableconst *   gog_plot_families                   (void);
    GogPlotFamily*      gog_plot_family_by_name             (char const *name);
    GogPlotFamily*      gog_plot_family_register            (char const *name,
                                                             char const *sample_image_file,
                                                             int priority,
                                                             GogAxisSet axis_set);
    void                gog_plot_family_unregister          (GogPlotFamily *family);
    GogPlotType*        gog_plot_type_register              (GogPlotFamily *famlily,
                                                             int col,
                                                             int row,
                                                             char const *name,
                                                             char const *sample_image_file,
                                                             char const *description,
                                                             char const *engine);
                        GogTrendLineType;
    GHashTableconst *   gog_trend_line_types                (void);
    void                gog_plugin_services_init            (void);
    void                gog_plugin_services_shutdown        (void);

## Description

## Details

### GogPlotType

    typedef struct {
    	GogPlotFamily 	*family;
    	char 		*engine;

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

    	GHashTable 	*properties;
    } GogPlotType;

### GogPlotFamily

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

    	GogAxisSet	 axis_set;

    	GHashTable *types;
    } GogPlotFamily;

### gog_plot_families ()

    GHashTableconst *   gog_plot_families                   (void);

Returns : |

### gog_plot_family_by_name ()

    GogPlotFamily*      gog_plot_family_by_name             (char const *name);

`name` : |
Returns : |

### gog_plot_family_register ()

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

`name` : |
`sample_image_file` : |
`priority` : |
`axis_set` : |
Returns : |

### gog_plot_family_unregister ()

    void                gog_plot_family_unregister          (GogPlotFamily *family);

`family` : |

### gog_plot_type_register ()

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

`famlily` : |
`col` : |
`row` : |
`name` : |
`sample_image_file` : |
`description` : |
`engine` : |
Returns : |

### GogTrendLineType

    typedef struct {
    	char *engine;

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

    	GHashTable *properties;
    } GogTrendLineType;

### gog_trend_line_types ()

    GHashTableconst *   gog_trend_line_types                (void);

Returns : |

### gog_plugin_services_init ()

    void                gog_plugin_services_init            (void);

### gog_plugin_services_shutdown ()

    void                gog_plugin_services_shutdown        (void);