From c2ffbbece7eb57bd53aaf07ed0318dd79bbb0b7a Mon Sep 17 00:00:00 2001 From: Christopher James Lahey Date: Fri, 25 Feb 2000 04:28:14 +0000 Subject: Added e_xml_get_integer_prop_by_name. 2000-02-24 Christopher James Lahey * e-util/e-xml-utils.c, e-util/e-xml-utils.h: Added e_xml_get_integer_prop_by_name. * e-util/Makefile.am: Added e-util.c. * e-util/e-util.h: Added e-util.c functions. * e-util/e-util.c: New file for compare functions from mail: 2000-02-24 Christopher James Lahey * message-list.c: Changed to match new e_table_simple interface. svn path=/trunk/; revision=1931 --- ChangeLog | 11 +++++++++++ e-util/Makefile.am | 1 + e-util/e-util.c | 41 +++++++++++++++++++++++++++++++++++++++++ e-util/e-util.c-8611 | 41 +++++++++++++++++++++++++++++++++++++++++ e-util/e-util.h | 3 +++ e-util/e-util.h-29002 | 3 +++ e-util/e-xml-utils.c | 10 ++++++++++ e-util/e-xml-utils.c-56826 | 10 ++++++++++ e-util/e-xml-utils.h | 1 + e-util/e-xml-utils.h-82548 | 1 + mail/ChangeLog | 4 ++++ mail/message-list.c | 14 +++++++++++++- widgets/e-table/ChangeLog | 7 ++++--- 13 files changed, 143 insertions(+), 4 deletions(-) create mode 100644 e-util/e-util.c create mode 100644 e-util/e-util.c-8611 diff --git a/ChangeLog b/ChangeLog index 9ad46a540a..787c042ea6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2000-02-24 Christopher James Lahey + + * e-util/e-xml-utils.c, e-util/e-xml-utils.h: Added + e_xml_get_integer_prop_by_name. + + * e-util/Makefile.am: Added e-util.c. + + * e-util/e-util.h: Added e-util.c functions. + + * e-util/e-util.c: New file for compare functions + 2000-02-24 Dan Winship * acconfig.h: diff --git a/e-util/Makefile.am b/e-util/Makefile.am index 303e74f58b..c6058791dd 100644 --- a/e-util/Makefile.am +++ b/e-util/Makefile.am @@ -14,6 +14,7 @@ libeutil_a_SOURCES = \ e-gui-utils.h \ e-setup.c \ e-setup.h \ + e-util.c \ e-util.h \ e-xml-utils.c \ e-xml-utils.h diff --git a/e-util/e-util.c b/e-util/e-util.c new file mode 100644 index 0000000000..d637b33729 --- /dev/null +++ b/e-util/e-util.c @@ -0,0 +1,41 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * e-xml-utils.c + * Copyright (C) 2000 Helix Code, Inc. + * Author: Chris Lahey + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#include "e-util.h" +#include + +int +g_str_compare(const void *x, const void *y) +{ + return strcmp(x, y); +} + +int +g_int_compare(const void *x, const void *y) +{ + if ( GPOINTER_TO_INT(x) < GPOINTER_TO_INT(y) ) + return -1; + else if ( GPOINTER_TO_INT(x) == GPOINTER_TO_INT(y) ) + return 0; + else + return -1; +} diff --git a/e-util/e-util.c-8611 b/e-util/e-util.c-8611 new file mode 100644 index 0000000000..d637b33729 --- /dev/null +++ b/e-util/e-util.c-8611 @@ -0,0 +1,41 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * e-xml-utils.c + * Copyright (C) 2000 Helix Code, Inc. + * Author: Chris Lahey + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#include "e-util.h" +#include + +int +g_str_compare(const void *x, const void *y) +{ + return strcmp(x, y); +} + +int +g_int_compare(const void *x, const void *y) +{ + if ( GPOINTER_TO_INT(x) < GPOINTER_TO_INT(y) ) + return -1; + else if ( GPOINTER_TO_INT(x) == GPOINTER_TO_INT(y) ) + return 0; + else + return -1; +} diff --git a/e-util/e-util.h b/e-util/e-util.h index 660e579bfc..e5635cdf16 100644 --- a/e-util/e-util.h +++ b/e-util/e-util.h @@ -29,4 +29,7 @@ typedef enum { E_FOCUS_END } EFocus; +int g_str_compare(const void *x, const void *y); +int g_int_compare(const void *x, const void *y); + #endif /* _E_UTIL_H_ */ diff --git a/e-util/e-util.h-29002 b/e-util/e-util.h-29002 index 660e579bfc..e5635cdf16 100644 --- a/e-util/e-util.h-29002 +++ b/e-util/e-util.h-29002 @@ -29,4 +29,7 @@ typedef enum { E_FOCUS_END } EFocus; +int g_str_compare(const void *x, const void *y); +int g_int_compare(const void *x, const void *y); + #endif /* _E_UTIL_H_ */ diff --git a/e-util/e-xml-utils.c b/e-util/e-xml-utils.c index 7c6356dbef..e6f361392b 100644 --- a/e-util/e-xml-utils.c +++ b/e-util/e-xml-utils.c @@ -34,3 +34,13 @@ xmlNode *e_xml_get_child_by_name(xmlNode *parent, xmlChar *child_name) } return NULL; } + +int +e_xml_get_integer_prop_by_name(xmlNode *parent, xmlChar *prop_name) +{ + xmlChar *prop = xmlGetProp(parent, prop_name); + if (prop) + return atoi(prop); + else + return 0; +} diff --git a/e-util/e-xml-utils.c-56826 b/e-util/e-xml-utils.c-56826 index 7c6356dbef..e6f361392b 100644 --- a/e-util/e-xml-utils.c-56826 +++ b/e-util/e-xml-utils.c-56826 @@ -34,3 +34,13 @@ xmlNode *e_xml_get_child_by_name(xmlNode *parent, xmlChar *child_name) } return NULL; } + +int +e_xml_get_integer_prop_by_name(xmlNode *parent, xmlChar *prop_name) +{ + xmlChar *prop = xmlGetProp(parent, prop_name); + if (prop) + return atoi(prop); + else + return 0; +} diff --git a/e-util/e-xml-utils.h b/e-util/e-xml-utils.h index b55b4c6362..c9b0ff2b39 100644 --- a/e-util/e-xml-utils.h +++ b/e-util/e-xml-utils.h @@ -26,5 +26,6 @@ #include #include xmlNode *e_xml_get_child_by_name(xmlNode *parent, xmlChar *child_name); +int e_xml_get_integer_prop_by_name(xmlNode *parent, xmlChar *prop_name); #endif /* __E_XML_UTILS__ */ diff --git a/e-util/e-xml-utils.h-82548 b/e-util/e-xml-utils.h-82548 index b55b4c6362..c9b0ff2b39 100644 --- a/e-util/e-xml-utils.h-82548 +++ b/e-util/e-xml-utils.h-82548 @@ -26,5 +26,6 @@ #include #include xmlNode *e_xml_get_child_by_name(xmlNode *parent, xmlChar *child_name); +int e_xml_get_integer_prop_by_name(xmlNode *parent, xmlChar *prop_name); #endif /* __E_XML_UTILS__ */ diff --git a/mail/ChangeLog b/mail/ChangeLog index 0bb5479443..6aa072a42d 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,7 @@ +2000-02-24 Christopher James Lahey + + * message-list.c: Changed to match new e_table_simple interface. + 2000-02-24 Dan Winship * message-list.c (message_list_set_folder): update for CamelFolder diff --git a/mail/message-list.c b/mail/message-list.c index d3621ad6d5..6983b4ac78 100644 --- a/mail/message-list.c +++ b/mail/message-list.c @@ -126,6 +126,17 @@ ml_is_cell_editable (ETableModel *etm, int col, int row, void *data) return FALSE; } +static void * +ml_duplicate_value (ETableModel *etm, int col, const void *value, void *data) +{ + return value; +} + +static void +ml_free_value (ETableModel *etm, int col, void *value, void *data) +{ +} + static void ml_thaw (ETableModel *etm, void *data) { @@ -312,7 +323,8 @@ message_list_init (GtkObject *object) message_list->table_model = e_table_simple_new ( ml_col_count, ml_row_count, ml_value_at, - ml_set_value_at, ml_is_cell_editable, ml_thaw, message_list); + ml_set_value_at, ml_is_cell_editable, ml_duplicate_value, ml_free_value, + ml_thaw, message_list); message_list_init_renderers (message_list); message_list_init_header (message_list); diff --git a/widgets/e-table/ChangeLog b/widgets/e-table/ChangeLog index 4c4a9d65cd..13cef1b47c 100644 --- a/widgets/e-table/ChangeLog +++ b/widgets/e-table/ChangeLog @@ -5,8 +5,8 @@ test model view stuff. Changed the test to not have as many extra, useless, columns. - * test-cols.c, test-check.c: Added duplicate_value and add_value. Use the new - compare functions. + * test-cols.c, test-check.c: Added duplicate_value and add_value. + Use the new compare functions. * e-table.c, e-table.h: Use all the new features of e-table-groups (sorting and grouping). Handle on the fly reorganization of @@ -19,7 +19,8 @@ * e-table-subset-variable.c, e-table-subset-variable.h: Virtualized the add and remove commands so that - e_table_sorted_variable could override the add command to do sorting. + e_table_sorted_variable could override the add command to do + sorting. * e-table-sorted.c: Fixed this to inherit properly from ETableSubset. -- cgit