## CongAttributeEditor

CongAttributeEditor —

## Synopsis

    struct      CongAttributeEditor;
    #define     CONG_ATTRIBUTE_EDITOR           (obj)
    #define     CONG_ATTRIBUTE_EDITOR_CLASS     (klass)
    #define     IS_CONG_ATTRIBUTE_EDITOR        (obj)
    GType       cong_attribute_editor_get_type  (void);
    CongAttributeEditor* cong_attribute_editor_construct
                                                (CongAttributeEditor *attribute_editor,
                                                 CongDocument *doc,
                                                 CongNodePtr node,
                                                 xmlNs *ns_ptr,
                                                 const gchar *attribute_name);
    CongDocument* cong_attribute_editor_get_document
                                                (CongAttributeEditor *attribute_editor);
    CongNodePtr cong_attribute_editor_get_node  (CongAttributeEditor *attribute_editor);
    xmlNs*      cong_attribute_editor_get_ns    (CongAttributeEditor *attribute_editor);
    const gchar* cong_attribute_editor_get_attribute_name
                                                (CongAttributeEditor *attribute_editor);
    gchar*      cong_attribute_editor_get_attribute_value
                                                (CongAttributeEditor *attribute_editor);
    void        cong_attribute_editor_try_set_value
                                                (CongAttributeEditor *attribute_editor,
                                                 const gchar *new_attr_value);
    GtkWidget*  cong_attribute_editor_new       (CongDocument *doc,
                                                 CongNodePtr node,
                                                 xmlAttributePtr attr);
    GtkWidget*  cong_attribute_editor_id_new    (CongDocument *doc,
                                                 CongNodePtr node,
                                                 xmlNs *ns_ptr,
                                                 const gchar *attribute_name);
    GtkWidget*  cong_attribute_editor_idref_new (CongDocument *doc,
                                                 CongNodePtr node,
                                                 xmlNs *ns_ptr,
                                                 const gchar *attribute_name);
    GtkWidget*  cong_attribute_editor_idrefs_new
                                                (CongDocument *doc,
                                                 CongNodePtr node,
                                                 xmlNs *ns_ptr,
                                                 const gchar *attribute_name);
    GtkWidget*  cong_attribute_editor_entity_new
                                                (CongDocument *doc,
                                                 CongNodePtr node,
                                                 xmlNs *ns_ptr,
                                                 const gchar *attribute_name);
    GtkWidget*  cong_attribute_editor_entities_new
                                                (CongDocument *doc,
                                                 CongNodePtr node,
                                                 xmlNs *ns_ptr,
                                                 const gchar *attribute_name);
    GtkWidget*  cong_attribute_editor_nmtoken_new
                                                (CongDocument *doc,
                                                 CongNodePtr node,
                                                 xmlNs *ns_ptr,
                                                 const gchar *attribute_name);
    GtkWidget*  cong_attribute_editor_nmtokens_new
                                                (CongDocument *doc,
                                                 CongNodePtr node,
                                                 xmlNs *ns_ptr,
                                                 const gchar *attribute_name);
    GtkWidget*  cong_attribute_editor_notation_new
                                                (CongDocument *doc,
                                                 CongNodePtr node,
                                                 xmlNs *ns_ptr,
                                                 const gchar *attribute_name);

## Object Hierarchy

      GObject
       +----GtkObject
             +----GtkWidget
                   +----GtkContainer
                         +----GtkBox
                               +----GtkHBox
                                     +----CongAttributeEditor
                                           +----CongAttributeEditorCDATA
                                           +----CongAttributeEditorENUMERATION
                                           +----CongAttributeEditorLang

## Implemented Interfaces

CongAttributeEditor implements AtkImplementorIface.

## Description

## Details

### struct CongAttributeEditor

    struct CongAttributeEditor;

### CONG_ATTRIBUTE_EDITOR()

    #define CONG_ATTRIBUTE_EDITOR(obj)         G_TYPE_CHECK_INSTANCE_CAST (obj, CONG_ATTRIBUTE_EDITOR_TYPE, CongAttributeEditor)

`obj` : |

### CONG_ATTRIBUTE_EDITOR_CLASS()

    #define CONG_ATTRIBUTE_EDITOR_CLASS(klass) G_TYPE_CHECK_CLASS_CAST (klass, CONG_ATTRIBUTE_EDITOR_TYPE, CongAttributeEditorClass)

`klass` : |

### IS_CONG_ATTRIBUTE_EDITOR()

    #define IS_CONG_ATTRIBUTE_EDITOR(obj)      G_TYPE_CHECK_INSTANCE_TYPE (obj, CONG_ATTRIBUTE_EDITOR_TYPE)

`obj` : |

### cong_attribute_editor_get_type ()

    GType       cong_attribute_editor_get_type  (void);

Returns : |

### cong_attribute_editor_construct ()

    CongAttributeEditor* cong_attribute_editor_construct
                                                (CongAttributeEditor *attribute_editor,
                                                 CongDocument *doc,
                                                 CongNodePtr node,
                                                 xmlNs *ns_ptr,
                                                 const gchar *attribute_name);

TODO: Write me

`attribute_editor` : |
`doc` : |
`node` : |
`ns_ptr` : |
`attribute_name` : |
Returns : |

### cong_attribute_editor_get_document ()

    CongDocument* cong_attribute_editor_get_document
                                                (CongAttributeEditor *attribute_editor);

TODO: Write me

`attribute_editor` : |
Returns : |

### cong_attribute_editor_get_node ()

    CongNodePtr cong_attribute_editor_get_node  (CongAttributeEditor *attribute_editor);

TODO: Write me

`attribute_editor` : |
Returns : |

### cong_attribute_editor_get_ns ()

    xmlNs*      cong_attribute_editor_get_ns    (CongAttributeEditor *attribute_editor);

TODO: Write me

`attribute_editor` : |
Returns : |

### cong_attribute_editor_get_attribute_name ()

    const gchar* cong_attribute_editor_get_attribute_name
                                                (CongAttributeEditor *attribute_editor);

Returns the name of the attribute. This string should not be freed.

`attribute_editor` : |
Returns : |

### cong_attribute_editor_get_attribute_value ()

    gchar*      cong_attribute_editor_get_attribute_value
                                                (CongAttributeEditor *attribute_editor);

Returns the value of the attribute represented by this editor (`attribute_editor`).

`attribute_editor` : |
Returns : | The contents of the attribute, to be freed by the called. Will be NULL if the attribute is not defined.

### cong_attribute_editor_try_set_value ()

    void        cong_attribute_editor_try_set_value
                                                (CongAttributeEditor *attribute_editor,
                                                 const gchar *new_attr_value);

If value of attribute is equal to value that attribute editor is trying to set, the function simply returns. But if those values differs, the attribute value will be updated. This function is proposed to use on updates of UI in various implementaion of CongAttributeEditor.

`attribute_editor` : | The Attribute Editor that tries to set value
`new_attr_value` : | value to try.

### cong_attribute_editor_new ()

    GtkWidget*  cong_attribute_editor_new       (CongDocument *doc,
                                                 CongNodePtr node,
                                                 xmlAttributePtr attr);

TODO: Write me

`doc` : |
`node` : |
`attr` : |
Returns : |

### cong_attribute_editor_id_new ()

    GtkWidget*  cong_attribute_editor_id_new    (CongDocument *doc,
                                                 CongNodePtr node,
                                                 xmlNs *ns_ptr,
                                                 const gchar *attribute_name);

`doc` : |
`node` : |
`ns_ptr` : |
`attribute_name` : |
Returns : |

### cong_attribute_editor_idref_new ()

    GtkWidget*  cong_attribute_editor_idref_new (CongDocument *doc,
                                                 CongNodePtr node,
                                                 xmlNs *ns_ptr,
                                                 const gchar *attribute_name);

`doc` : |
`node` : |
`ns_ptr` : |
`attribute_name` : |
Returns : |

### cong_attribute_editor_idrefs_new ()

    GtkWidget*  cong_attribute_editor_idrefs_new
                                                (CongDocument *doc,
                                                 CongNodePtr node,
                                                 xmlNs *ns_ptr,
                                                 const gchar *attribute_name);

`doc` : |
`node` : |
`ns_ptr` : |
`attribute_name` : |
Returns : |

### cong_attribute_editor_entity_new ()

    GtkWidget*  cong_attribute_editor_entity_new
                                                (CongDocument *doc,
                                                 CongNodePtr node,
                                                 xmlNs *ns_ptr,
                                                 const gchar *attribute_name);

`doc` : |
`node` : |
`ns_ptr` : |
`attribute_name` : |
Returns : |

### cong_attribute_editor_entities_new ()

    GtkWidget*  cong_attribute_editor_entities_new
                                                (CongDocument *doc,
                                                 CongNodePtr node,
                                                 xmlNs *ns_ptr,
                                                 const gchar *attribute_name);

`doc` : |
`node` : |
`ns_ptr` : |
`attribute_name` : |
Returns : |

### cong_attribute_editor_nmtoken_new ()

    GtkWidget*  cong_attribute_editor_nmtoken_new
                                                (CongDocument *doc,
                                                 CongNodePtr node,
                                                 xmlNs *ns_ptr,
                                                 const gchar *attribute_name);

Creates a GtkWidget that is used to display/edit the supplied attribute (with name given by the attribute_name argument). This attribute should be an XML name token.

At the moment this is a striaght copy of the cong_attribute_editor_cdata_new function. I think it would make more sense if this were a sub-class of the "CDATA" object (perhaps with a minor name change to make it less CDATA-specific)?

Should there be any user-visible indication that the item is a NMTOKEN rather than CDATA?

`doc` : |
`node` : |
`ns_ptr` : |
`attribute_name` : |
Returns : |

### cong_attribute_editor_nmtokens_new ()

    GtkWidget*  cong_attribute_editor_nmtokens_new
                                                (CongDocument *doc,
                                                 CongNodePtr node,
                                                 xmlNs *ns_ptr,
                                                 const gchar *attribute_name);

`doc` : |
`node` : |
`ns_ptr` : |
`attribute_name` : |
Returns : |

### cong_attribute_editor_notation_new ()

    GtkWidget*  cong_attribute_editor_notation_new
                                                (CongDocument *doc,
                                                 CongNodePtr node,
                                                 xmlNs *ns_ptr,
                                                 const gchar *attribute_name);

`doc` : |
`node` : |
`ns_ptr` : |
`attribute_name` : |
Returns : |