## global

global —

## Synopsis

    #define     CONG_GCONF_PATH
    #define     RELEASE
    #define     CONG_VALIDATE_UTF8              (str)
    CongEditorView* cong_editor_view_new        (CongDocument *doc);
    void        cong_editor_view_free           (CongEditorView *editor_view);
    GtkWidget*  cong_editor_view_get_widget     (CongEditorView *editor_view);
    GtkWidget*  cong_dom_view_new               (CongDocument *doc,
                                                 CongPrimaryWindow *primary_window);
    GtkWidget*  cong_source_view_new            (CongDocument *doc);
    GtkWidget*  cong_debug_message_log_view_new (CongDocument *doc);
    GtkWidget*  cong_debug_signal_log_view_new  (CongDocument *doc);
    GtkWidget*  cong_node_properties_dialog_new (CongDocument *doc,
                                                 CongNodePtr node,
                                                 GtkWindow *parent_window);
    gint        cong_cursor_blink               ();
    GList*      xml_all_present_span_elements   (CongDispspec *ds,
                                                 CongNodePtr node);
    GList*      xml_all_valid_span_elements     (CongDispspec *ds,
                                                 CongNodePtr node);
    char*       xml_fetch_clean_data            (CongNodePtr x);
    #define     UNUSED_VAR                      (x)
    void        col_to_gcol                     (GdkColor *gcol,
                                                 unsigned int col);
    void        cong_cursor_init                (CongCursor *curs,
                                                 CongDocument *doc);
    void        cong_cursor_uninit              (CongCursor *curs);
    void        cong_cursor_on                  (CongCursor *curs);
    void        cong_cursor_off                 (CongCursor *curs);
    int         cong_cursor_paragraph_insert    (CongCursor *curs);
    gboolean    cong_cursor_calc_prev_char      (CongCursor *curs,
                                                 CongDocument *doc,
                                                 CongLocation *output_loc);
    gboolean    cong_cursor_calc_next_char      (CongCursor *curs,
                                                 CongDocument *doc,
                                                 CongLocation *output_loc);
    void        cong_cursor_next_line           (CongCursor *curs,
                                                 CongSpanEditor *xed);
    void        cong_cursor_del_prev_char       (CongCursor *curs,
                                                 CongDocument *doc);
    void        cong_cursor_del_next_char       (CongCursor *curs,
                                                 CongDocument *doc);
    void        cong_cursor_home                (CongCursor *curs,
                                                 CongDocument *doc);
    void        cong_cursor_end                 (CongCursor *curs,
                                                 CongDocument *doc);
    const CongLocation* cong_cursor_get_location
                                                (const CongCursor *cursor);
    void        xv_style_r                      (GtkWidget *widget,
                                                 gpointer data);
    CongDispspec* query_for_forced_dispspec     (gchar *what_failed,
                                                 xmlDocPtr doc,
                                                 GtkWindow *parent_window,
                                                 const gchar *filename_extension);
    GtkWidget*  make_uneditable_text            (const gchar *text);
    gchar*      get_col_string                  (const GdkColor *col);
    xmlAttrPtr  xmlNewProp_NUMBER               (xmlNodePtr node,
                                                 const xmlChar *name,
                                                 int value);

## Description

## Details

### CONG_GCONF_PATH

    #define CONG_GCONF_PATH "/apps/conglomerate/"

### RELEASE

    #define RELEASE 1

### CONG_VALIDATE_UTF8()

    #define     CONG_VALIDATE_UTF8(str)

`str` : |

### cong_editor_view_new ()

    CongEditorView* cong_editor_view_new        (CongDocument *doc);

`doc` : |
Returns : |

### cong_editor_view_free ()

    void        cong_editor_view_free           (CongEditorView *editor_view);

`editor_view` : |

### cong_editor_view_get_widget ()

    GtkWidget*  cong_editor_view_get_widget     (CongEditorView *editor_view);

`editor_view` : |
Returns : |

### cong_dom_view_new ()

    GtkWidget*  cong_dom_view_new               (CongDocument *doc,
                                                 CongPrimaryWindow *primary_window);

TODO: Write me

`doc` : |
`primary_window` : |
Returns : |

### cong_source_view_new ()

    GtkWidget*  cong_source_view_new            (CongDocument *doc);

`doc` : |
Returns : |

### cong_debug_message_log_view_new ()

    GtkWidget*  cong_debug_message_log_view_new (CongDocument *doc);

TODO: Write me

`doc` : |
Returns : |

### cong_debug_signal_log_view_new ()

    GtkWidget*  cong_debug_signal_log_view_new  (CongDocument *doc);

TODO: Write me

`doc` : |
Returns : |

### cong_node_properties_dialog_new ()

    GtkWidget*  cong_node_properties_dialog_new (CongDocument *doc,
                                                 CongNodePtr node,
                                                 GtkWindow *parent_window);

Create a dialog window which displays, and allows the user to edit, the properties of the supplied node. The format of the dialog depends on the node type.

The main interest will be for nodes of type CONG_NODE_TYPE_ELEMENT. If there is a plugin registered for this node then the plugin will be used, otherwise the attributes of the node will be displayed. In the later case, the attributes will be displayed in a "raw" form (as a set of name and value pairs) and, if a DTD associated with this file, using an interface that follows the DTD (e.g. will limit enumerated values to the allowable choices only).

For CONG_NODE_TYPE_TEXT nodes the properties of the parent node will be displayed. This is primarily so that users can access the attributes of span nodes, but it will work for any text node. Should there be a way to indicate that this has happened (i.e. some indication in the dialog that we are actually displaying the parent's properties)?

Other node types result in a dialog which only lists the name and the XPath location of the node.

At present the returned dialog window should be displayed using `gtk_widget_show()` rather than `gtk_dialog_run()`.

`doc` : | The document being displayed.
`node` : | The node to display.
`parent_window` : | The parent window of the document.
Returns : | a GtkWidget displaying the properties of the node.

### cong_cursor_blink ()

    gint        cong_cursor_blink               ();

TODO: Write me

Returns : |

### xml_all_present_span_elements ()

    GList*      xml_all_present_span_elements   (CongDispspec *ds,
                                                 CongNodePtr node);

TODO: Write me

`ds` : |
`node` : |
Returns : |

### xml_all_valid_span_elements ()

    GList*      xml_all_valid_span_elements     (CongDispspec *ds,
                                                 CongNodePtr node);

TODO: Write me

`ds` : |
`node` : |
Returns : |

### xml_fetch_clean_data ()

    char*       xml_fetch_clean_data            (CongNodePtr x);

`x` : |
Returns : |

### UNUSED_VAR()

    #define UNUSED_VAR(x)

`x` : |

### col_to_gcol ()

    void        col_to_gcol                     (GdkColor *gcol,
                                                 unsigned int col);

TODO: Write me

`gcol` : |
`col` : |

### cong_cursor_init ()

    void        cong_cursor_init                (CongCursor *curs,
                                                 CongDocument *doc);

TODO: Write me

`curs` : |
`doc` : |

### cong_cursor_uninit ()

    void        cong_cursor_uninit              (CongCursor *curs);

TODO: Write me

`curs` : |

### cong_cursor_on ()

    void        cong_cursor_on                  (CongCursor *curs);

`curs` : |

### cong_cursor_off ()

    void        cong_cursor_off                 (CongCursor *curs);

`curs` : |

### cong_cursor_paragraph_insert ()

    int         cong_cursor_paragraph_insert    (CongCursor *curs);

TODO: Write me

`curs` : |
Returns : |

### cong_cursor_calc_prev_char ()

    gboolean    cong_cursor_calc_prev_char      (CongCursor *curs,
                                                 CongDocument *doc,
                                                 CongLocation *output_loc);

`curs` : |
`doc` : |
`output_loc` : |
Returns : |

### cong_cursor_calc_next_char ()

    gboolean    cong_cursor_calc_next_char      (CongCursor *curs,
                                                 CongDocument *doc,
                                                 CongLocation *output_loc);

`curs` : |
`doc` : |
`output_loc` : |
Returns : |

### cong_cursor_next_line ()

    void        cong_cursor_next_line           (CongCursor *curs,
                                                 CongSpanEditor *xed);

`curs` : |
`xed` : |

### cong_cursor_del_prev_char ()

    void        cong_cursor_del_prev_char       (CongCursor *curs,
                                                 CongDocument *doc);

TODO: Write me

`curs` : |
`doc` : |

### cong_cursor_del_next_char ()

    void        cong_cursor_del_next_char       (CongCursor *curs,
                                                 CongDocument *doc);

TODO: Write me

`curs` : |
`doc` : |

### cong_cursor_home ()

    void        cong_cursor_home                (CongCursor *curs,
                                                 CongDocument *doc);

`curs` : |
`doc` : |

### cong_cursor_end ()

    void        cong_cursor_end                 (CongCursor *curs,
                                                 CongDocument *doc);

`curs` : |
`doc` : |

### cong_cursor_get_location ()

    const CongLocation* cong_cursor_get_location
                                                (const CongCursor *cursor);

TODO: Write me

`cursor` : |
Returns : |

### xv_style_r ()

    void        xv_style_r                      (GtkWidget *widget,
                                                 gpointer data);

`widget` : |
`data` : |

### query_for_forced_dispspec ()

    CongDispspec* query_for_forced_dispspec     (gchar *what_failed,
                                                 xmlDocPtr doc,
                                                 GtkWindow *parent_window,
                                                 const gchar *filename_extension);

TODO: Write me

`what_failed` : |
`doc` : |
`parent_window` : |
`filename_extension` : |
Returns : |

### make_uneditable_text ()

    GtkWidget*  make_uneditable_text            (const gchar *text);

TODO: Write me

`text` : |
Returns : |

### get_col_string ()

    gchar*      get_col_string                  (const GdkColor *col);

TODO: Write me

`col` : |
Returns : |

### xmlNewProp_NUMBER ()

    xmlAttrPtr  xmlNewProp_NUMBER               (xmlNodePtr node,
                                                 const xmlChar *name,
                                                 int value);

TODO: Write me

`node` : |
`name` : |
`value` : |
Returns : |