1 #ifndef __SP_XMLVIEW_ATTR_LIST_H__
2 #define __SP_XMLVIEW_ATTR_LIST_H__
4 /*
5 * Specialization of GtkCList for editing XML node attributes
6 *
7 * Authors:
8 * MenTaLguY <mental@rydia.net>
9 *
10 * Copyright (C) 2002 MenTaLguY
11 *
12 * Released under the GNU GPL; see COPYING for details
13 */
15 #include <stdio.h>
16 #include <gtk/gtkctree.h>
17 #include <gtk/gtk.h>
18 #include "../xml/repr.h"
23 #define SP_TYPE_XMLVIEW_ATTR_LIST (sp_xmlview_attr_list_get_type ())
24 #define SP_XMLVIEW_ATTR_LIST(o) (GTK_CHECK_CAST ((o), SP_TYPE_XMLVIEW_ATTR_LIST, SPXMLViewAttrList))
25 #define SP_IS_XMLVIEW_ATTR_LIST(o) (GTK_CHECK_TYPE ((o), SP_TYPE_XMLVIEW_ATTR_LIST))
26 #define SP_XMLVIEW_ATTR_LIST_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), SP_TYPE_XMLVIEW_ATTR_LIST))
28 struct SPXMLViewAttrList
29 {
30 GtkCList list;
32 Inkscape::XML::Node * repr;
33 };
35 struct SPXMLViewAttrListClass
36 {
37 GtkCListClass parent_class;
39 void (* row_changed) (SPXMLViewAttrList *list, gint row);
40 };
42 GtkType sp_xmlview_attr_list_get_type (void);
43 GtkWidget * sp_xmlview_attr_list_new (Inkscape::XML::Node * repr);
45 #define SP_XMLVIEW_ATTR_LIST_GET_REPR(list) (SP_XMLVIEW_ATTR_LIST (list)->repr)
47 #define sp_xmlview_attr_list_get_row_key(list, row) (GPOINTER_TO_INT (gtk_clist_get_row_data ((list), (row))))
48 #define sp_xmlview_attr_list_find_row_from_key(list, key) (gtk_clist_find_row_from_data ((list), GINT_TO_POINTER ((key))))
50 void sp_xmlview_attr_list_set_repr (SPXMLViewAttrList * list, Inkscape::XML::Node * repr);
54 #endif