## CongDispspecElement

CongDispspecElement —

## Synopsis

    CongDispspecElement* cong_dispspec_element_new
                                                (CongDispspec *ds,
                                                 const gchar *local_name,
                                                 CongElementType type,
                                                 gboolean autogenerate_username);
    void        cong_dispspec_element_destroy   (CongDispspecElement *element);
    const gchar* cong_dispspec_element_get_ns_uri
                                                (const CongDispspecElement *element);
    const char* cong_dispspec_element_get_local_name
                                                (const CongDispspecElement *element);
    const char* cong_dispspec_element_username  (CongDispspecElement *element);
    const gchar* cong_dispspec_element_get_description
                                                (CongDispspecElement *element);
    GdkPixbuf*  cong_dispspec_element_get_icon  (CongDispspecElement *element);
    const gchar* cong_dispspec_element_get_value_for_key
                                                (const gchar *key,
                                                 const CongDispspecElement *element);
    const char* cong_dispspec_element_name_name_get
                                                (CongDispspecElement *element);
    void        cong_dispspec_element_set_whitespace
                                                (CongDispspecElement *element,
                                                 CongWhitespaceHandling whitespace);
    gboolean    cong_dispspec_element_collapseto
                                                (CongDispspecElement *element);
    gboolean    cong_dispspec_element_is_structural
                                                (CongDispspecElement *element);
    gboolean    cong_dispspec_element_is_span   (CongDispspecElement *element);
    GdkGC*      cong_dispspec_element_gc        (CongDispspecElement *element,
                                                 CongDispspecGCUsage usage);
    const GdkColor* cong_dispspec_element_col   (CongDispspecElement *element,
                                                 CongDispspecGCUsage usage);
    CongDispspecElementHeaderInfo* cong_dispspec_element_header_info
                                                (CongDispspecElement *element);
    const gchar* cong_dispspec_element_header_info_get_xpath_expression
                                                (CongDispspecElementHeaderInfo *header_info);
    gchar*      cong_dispspec_element_get_title (CongDispspecElement *element,
                                                 CongNodePtr x);
    gchar*      cong_dispspec_element_get_section_header_text
                                                (CongDispspecElement *element,
                                                 CongNodePtr x);
    CongFont*   cong_dispspec_element_get_font  (CongDispspecElement *element,
                                                 CongFontRole role);
    const gchar* cong_dispspec_element_get_editor_service_id
                                                (CongDispspecElement *element);
    const gchar* cong_dispspec_element_get_property_dialog_service_id
                                                (CongDispspecElement *element);
    xmlNodePtr  cong_dispspec_element_to_xml    (const CongDispspecElement *element,
                                                 xmlDocPtr xml_doc);
    CongDispspecElement* cong_dispspec_element_from_xml
                                                (CongDispspec *ds,
                                                 xmlNodePtr xml_element);

## Description

## Details

### cong_dispspec_element_new ()

    CongDispspecElement* cong_dispspec_element_new
                                                (CongDispspec *ds,
                                                 const gchar *local_name,
                                                 CongElementType type,
                                                 gboolean autogenerate_username);

Constructs a new CongDispspecElement, initialising fields to sane defaults.

`ds` : | the CongDispspec this will be added to
`local_name` : | the local name for the new element; must be non-NULL
`type` : |
`autogenerate_username` : | if TRUE, then generate a sane user-visible name for the element, using "header capitalisation"
Returns : | a freshly allocated CongDispspecElement

### cong_dispspec_element_destroy ()

    void        cong_dispspec_element_destroy   (CongDispspecElement *element);

TODO: Write me

`element` : |

### cong_dispspec_element_get_ns_uri ()

    const gchar* cong_dispspec_element_get_ns_uri
                                                (const CongDispspecElement *element);

`element` : | the element in question
Returns : | the namespace URI for this kind of element, or NULL if none

### cong_dispspec_element_get_local_name ()

    const char* cong_dispspec_element_get_local_name
                                                (const CongDispspecElement *element);

`element` : | the element in question
Returns : | the local name (relative to its namespace, if any) for this kind of element

### cong_dispspec_element_username ()

    const char* cong_dispspec_element_username  (CongDispspecElement *element);

TODO: Write me

`element` : |
Returns : |

### cong_dispspec_element_get_description ()

    const gchar* cong_dispspec_element_get_description
                                                (CongDispspecElement *element);

TODO: Write me

`element` : |
Returns : |

### cong_dispspec_element_get_icon ()

    GdkPixbuf*  cong_dispspec_element_get_icon  (CongDispspecElement *element);

TODO: Write me

`element` : |
Returns : |

### cong_dispspec_element_get_value_for_key ()

    const gchar* cong_dispspec_element_get_value_for_key
                                                (const gchar *key,
                                                 const CongDispspecElement *element);

Dispspec elements support a list of key/value string pairs; this is intended as a mechanism to allow plugins to have arbitrary data whilst having a DTD for xds files.

`key` : | the key
`element` : | the dispspec element
Returns : | the value, if found, or NULL if not present.

### cong_dispspec_element_name_name_get ()

    const char* cong_dispspec_element_name_name_get
                                                (CongDispspecElement *element);

`element` : |
Returns : |

### cong_dispspec_element_set_whitespace ()

    void        cong_dispspec_element_set_whitespace
                                                (CongDispspecElement *element,
                                                 CongWhitespaceHandling whitespace);

Set the CongWhitespaceHandling behaviour for this element

`element` : | The element of the display spec
`whitespace` : | The new value for whitespace handling

### cong_dispspec_element_collapseto ()

    gboolean    cong_dispspec_element_collapseto
                                                (CongDispspecElement *element);

TODO: Write me

`element` : |
Returns : |

### cong_dispspec_element_is_structural ()

    gboolean    cong_dispspec_element_is_structural
                                                (CongDispspecElement *element);

TODO: Write me

`element` : |
Returns : |

### cong_dispspec_element_is_span ()

    gboolean    cong_dispspec_element_is_span   (CongDispspecElement *element);

TODO: Write me

`element` : |
Returns : |

### cong_dispspec_element_gc ()

    GdkGC*      cong_dispspec_element_gc        (CongDispspecElement *element,
                                                 CongDispspecGCUsage usage);

TODO: Write me

`element` : |
`usage` : |
Returns : |

### cong_dispspec_element_col ()

    const GdkColor* cong_dispspec_element_col   (CongDispspecElement *element,
                                                 CongDispspecGCUsage usage);

TODO: Write me

`element` : |
`usage` : |
Returns : |

### cong_dispspec_element_header_info ()

    CongDispspecElementHeaderInfo* cong_dispspec_element_header_info
                                                (CongDispspecElement *element);

TODO: Write me

`element` : |
Returns : |

### cong_dispspec_element_header_info_get_xpath_expression ()

    const gchar* cong_dispspec_element_header_info_get_xpath_expression
                                                (CongDispspecElementHeaderInfo *header_info);

TODO: Write me

`header_info` : |
Returns : |

### cong_dispspec_element_get_title ()

    gchar*      cong_dispspec_element_get_title (CongDispspecElement *element,
                                                 CongNodePtr x);

TODO: Write me

`element` : |
`x` : |
Returns : |

### cong_dispspec_element_get_section_header_text ()

    gchar*      cong_dispspec_element_get_section_header_text
                                                (CongDispspecElement *element,
                                                 CongNodePtr x);

TODO: Write me

`element` : |
`x` : |
Returns : |

### cong_dispspec_element_get_font ()

    CongFont*   cong_dispspec_element_get_font  (CongDispspecElement *element,
                                                 CongFontRole role);

TODO: Write me

`element` : |
`role` : |
Returns : |

### cong_dispspec_element_get_editor_service_id ()

    const gchar* cong_dispspec_element_get_editor_service_id
                                                (CongDispspecElement *element);

TODO: Write me

`element` : |
Returns : |

### cong_dispspec_element_get_property_dialog_service_id ()

    const gchar* cong_dispspec_element_get_property_dialog_service_id
                                                (CongDispspecElement *element);

TODO: Write me

`element` : |
Returns : |

### cong_dispspec_element_to_xml ()

    xmlNodePtr  cong_dispspec_element_to_xml    (const CongDispspecElement *element,
                                                 xmlDocPtr xml_doc);

Create an element tag suitable for adding to an element-list tag within an xds XML document.

`element` : | the dispspec element we are adding
`xml_doc` : | the XML document we are creating
Returns : | a newly-created xmlNodePtr

### cong_dispspec_element_from_xml ()

    CongDispspecElement* cong_dispspec_element_from_xml
                                                (CongDispspec *ds,
                                                 xmlNodePtr xml_element);

Create an CongDispspecElement from an xds XML representation

`ds` : | the CongDispspec this will be added to
`xml_element` : | the element within the XML document
Returns : | a newly-created CongDispspecElement