## CongApp

CongApp —

## Synopsis

    CongApp*    cong_app_singleton              (void);
    void        cong_app_construct_singleton    (int argc,
                                                 char *argv[]);
    void        cong_app_destroy_singleton      (void);
    int         cong_app_post_init_hack         (CongApp *app);
    gchar*      cong_app_get_clipboard_xml_source
                                                (CongApp *app,
                                                 GdkAtom selection,
                                                 CongDocument *target_doc);
    void        cong_app_set_clipboard_from_xml_fragment
                                                (CongApp *app,
                                                 GdkAtom selection,
                                                 const gchar *xml_fragment,
                                                 CongDocument *source_doc);
    GnomeProgram* cong_app_get_gnome_program    (CongApp *app);
    GtkTooltips* cong_app_get_tooltips          (CongApp *app);
    CongFont*   cong_app_get_font               (CongApp *app,
                                                 CongFontRole role);
    CongPluginManager* cong_app_get_plugin_manager
                                                (CongApp *app);
    CongDispspecRegistry* cong_app_get_dispspec_registry
                                                (CongApp *app);
    GConfClient* cong_app_get_gconf_client      (CongApp *app);
    const GList* cong_app_get_language_list     (CongApp *app);

## Description

## Details

### cong_app_singleton ()

    CongApp*    cong_app_singleton              (void);

Returns : | the singleton instance of CongApp

### cong_app_construct_singleton ()

    void        cong_app_construct_singleton    (int argc,
                                                 char *argv[]);

Construct the singleton instance of CongApp

`argc` : |
`argv` : |

### cong_app_destroy_singleton ()

    void        cong_app_destroy_singleton      (void);

TODO: Write me

### cong_app_post_init_hack ()

    int         cong_app_post_init_hack         (CongApp *app);

TODO: Write me

`app` : |
Returns : |

### cong_app_get_clipboard_xml_source ()

    gchar*      cong_app_get_clipboard_xml_source
                                                (CongApp *app,
                                                 GdkAtom selection,
                                                 CongDocument *target_doc);

This function interrogates the appropriate clipboard and attempts to get the content in the best possible format for the target document. It may attempt to do conversions, for example, converting <li> elements into <listitem> when pasting HTML into a DocBook document.

Returns: a newly-allocated UTF-8 fragment of XML source, wrapped in a <placeholder> element, suitable for parsing and adding to the document (which must then be freed using g_free) or NULL

`app` : | the CongApp
`selection` : | should be either GDK_SELECTION_CLIPBOARD or GDK_SELECTION_PRIMARY
`target_doc` : | the CongDocument into which the source is to be pasted
Returns : |

### cong_app_set_clipboard_from_xml_fragment ()

    void        cong_app_set_clipboard_from_xml_fragment
                                                (CongApp *app,
                                                 GdkAtom selection,
                                                 const gchar *xml_fragment,
                                                 CongDocument *source_doc);

This function takes the XML source and attempts to place it into the appropriate clipboard. It will attempt to make it available in a number of formats, and in the best possible way for each format. It may attempt to do conversions when it does this, e.g. generating pretty versions of bulleted lists for text, or converting to an HTML representation where appropriate.

The XML form of the source is not converted, but is wrapped in an <xml-fragment> top-level element and given a DOCTYPE declaration if available in the source document. So it should be well-formed, but not valid. Haven't yet specified what happens to entities.

`app` : | the CongApp
`selection` : | should be either GDK_SELECTION_CLIPBOARD or GDK_SELECTION_PRIMARY
`xml_fragment` : | a fragment of XML source
`source_doc` : | the CongDocument from which the source has been cut

### cong_app_get_gnome_program ()

    GnomeProgram* cong_app_get_gnome_program    (CongApp *app);

TODO: Write me

`app` : |
Returns : |

### cong_app_get_tooltips ()

    GtkTooltips* cong_app_get_tooltips          (CongApp *app);

TODO: Write me

`app` : |
Returns : |

### cong_app_get_font ()

    CongFont*   cong_app_get_font               (CongApp *app,
                                                 CongFontRole role);

TODO: Write me

`app` : |
`role` : |
Returns : |

### cong_app_get_plugin_manager ()

    CongPluginManager* cong_app_get_plugin_manager
                                                (CongApp *app);

TODO: Write me

`app` : |
Returns : |

### cong_app_get_dispspec_registry ()

    CongDispspecRegistry* cong_app_get_dispspec_registry
                                                (CongApp *app);

TODO: Write me

`app` : |
Returns : |

### cong_app_get_gconf_client ()

    GConfClient* cong_app_get_gconf_client      (CongApp *app);

TODO: Write me

`app` : |
Returns : |

### cong_app_get_language_list ()

    const GList* cong_app_get_language_list     (CongApp *app);

TODO: Write me

`app` : |
Returns : |