aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/demo/e-test-model.h
diff options
context:
space:
mode:
Diffstat (limited to 'addressbook/demo/e-test-model.h')
-rw-r--r--addressbook/demo/e-test-model.h64
1 files changed, 64 insertions, 0 deletions
diff --git a/addressbook/demo/e-test-model.h b/addressbook/demo/e-test-model.h
new file mode 100644
index 0000000000..dd3f8e0fa9
--- /dev/null
+++ b/addressbook/demo/e-test-model.h
@@ -0,0 +1,64 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+#ifndef _E_TEST_MODEL_H_
+#define _E_TEST_MODEL_H_
+
+#include "e-table-model.h"
+
+#define E_TEST_MODEL_TYPE (e_test_model_get_type ())
+#define E_TEST_MODEL(o) (GTK_CHECK_CAST ((o), E_TEST_MODEL_TYPE, ETestModel))
+#define E_TEST_MODEL_CLASS(k) (GTK_CHECK_CLASS_CAST((k), E_TEST_MODEL_TYPE, ETestModelClass))
+#define E_IS_TEST_MODEL(o) (GTK_CHECK_TYPE ((o), E_TEST_MODEL_TYPE))
+#define E_IS_TEST_MODEL_CLASS(k) (GTK_CHECK_CLASS_TYPE ((k), E_TEST_MODEL_TYPE))
+
+/* Virtual Column list:
+ 0 Email
+ 1 Full Name
+ 2 Street
+ 3 Phone
+*/
+typedef struct _Address Address;
+typedef enum _Rows Rows;
+
+
+struct _Address {
+ gchar *email;
+ gchar *full_name;
+ gchar *street;
+ gchar *phone;
+};
+
+enum _Rows {
+ EMAIL,
+ FULL_NAME,
+ STREET,
+ PHONE,
+ LAST_COL
+};
+
+
+
+typedef struct {
+ ETableModel parent;
+
+ Address **data;
+ int data_count;
+
+ char *filename;
+ int idle;
+} ETestModel;
+
+
+typedef struct {
+ ETableModelClass parent_class;
+} ETestModelClass;
+
+
+GtkType e_test_model_get_type (void);
+ETableModel *e_test_model_new (char *filename);
+
+void e_test_model_queue_save(ETestModel *model);
+void e_test_model_add_column (ETestModel *model, Address *newadd);
+
+
+#endif /* _E_TEST_MODEL_H_ */
+