diff options
author | Akira TAGOH <akira@tagoh.org> | 2006-11-21 12:42:29 +0000 |
---|---|---|
committer | Akira TAGOH <akira@tagoh.org> | 2006-11-21 12:42:29 +0000 |
commit | 2dbe607f6ee9be30195b24380007222a325b42d2 (patch) | |
tree | 732cc906e1e708384785c20976cce07de73eb391 | |
parent | 3051d4f7c70ed4c5b7ec594f620a51ab35666eec (diff) |
2006-11-21 Akira TAGOH <at@gclab.org>
* hieroglyph/hglist.c (hg_list_get_iter_previous): new function.
(hg_list_get_iter_last): new function.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | hieroglyph/hglist.c | 30 | ||||
-rw-r--r-- | hieroglyph/hglist.h | 36 | ||||
-rw-r--r-- | hieroglyph/version.h.in | 2 |
4 files changed, 56 insertions, 17 deletions
@@ -1,3 +1,8 @@ +2006-11-21 Akira TAGOH <at@gclab.org> + + * hieroglyph/hglist.c (hg_list_get_iter_previous): new function. + (hg_list_get_iter_last): new function. + 2006-11-13 Akira TAGOH <at@gclab.org> * hieroglyph/operator.c (_hg_operator_op_arc): fix a typo. diff --git a/hieroglyph/hglist.c b/hieroglyph/hglist.c index 594b6f3..9b97bba 100644 --- a/hieroglyph/hglist.c +++ b/hieroglyph/hglist.c @@ -556,6 +556,36 @@ hg_list_get_iter_next(HgList *list, return TRUE; } +gboolean +hg_list_get_iter_previous(HgList *list, + HgListIter iter) +{ + g_return_val_if_fail (list != NULL, FALSE); + g_return_val_if_fail (iter != NULL, FALSE); + g_return_val_if_fail (iter->top == list, FALSE); + g_return_val_if_fail (iter->last == hg_list_previous(list), FALSE); + + iter->current = hg_list_previous(iter->current); + if (iter->current == iter->last) + return FALSE; + + return TRUE; +} + +gboolean +hg_list_get_iter_last(HgList *list, + HgListIter iter) +{ + g_return_val_if_fail (list != NULL, FALSE); + g_return_val_if_fail (iter != NULL, FALSE); + g_return_val_if_fail (iter->top == list, FALSE); + g_return_val_if_fail (iter->last == hg_list_previous(list), FALSE); + + iter->current = hg_list_last(iter->current); + + return TRUE; +} + gpointer hg_list_iter_get_data(HgListIter iter) { diff --git a/hieroglyph/hglist.h b/hieroglyph/hglist.h index 4d28d4a..c452aef 100644 --- a/hieroglyph/hglist.h +++ b/hieroglyph/hglist.h @@ -49,22 +49,26 @@ HgList *hg_list_last (HgList *list); #define hg_list_iter_free hg_mem_free -HgListIter hg_list_iter_new (HgList *list); -gboolean hg_list_get_iter_first (HgList *list, - HgListIter iter); -gboolean hg_list_get_iter_next (HgList *list, - HgListIter iter); -HgListIter hg_list_find_iter (HgList *list, - gconstpointer data); -HgListIter hg_list_find_iter_custom(HgList *list, - gconstpointer data, - HgCompareFunc func); -gpointer hg_list_iter_get_data (HgListIter iter); -void hg_list_iter_set_data (HgListIter iter, - gpointer data); -void hg_list_iter_set_object (HgListIter iter, - HgObject *hobject); -HgList *hg_list_iter_delete_link(HgListIter iter); +HgListIter hg_list_iter_new (HgList *list); +gboolean hg_list_get_iter_first (HgList *list, + HgListIter iter); +gboolean hg_list_get_iter_next (HgList *list, + HgListIter iter); +gboolean hg_list_get_iter_previous(HgList *list, + HgListIter iter); +gboolean hg_list_get_iter_last (HgList *list, + HgListIter iter); +HgListIter hg_list_find_iter (HgList *list, + gconstpointer data); +HgListIter hg_list_find_iter_custom (HgList *list, + gconstpointer data, + HgCompareFunc func); +gpointer hg_list_iter_get_data (HgListIter iter); +void hg_list_iter_set_data (HgListIter iter, + gpointer data); +void hg_list_iter_set_object (HgListIter iter, + HgObject *hobject); +HgList *hg_list_iter_delete_link (HgListIter iter); G_END_DECLS diff --git a/hieroglyph/version.h.in b/hieroglyph/version.h.in index 7d2d5e3..cfbe095 100644 --- a/hieroglyph/version.h.in +++ b/hieroglyph/version.h.in @@ -29,7 +29,7 @@ G_BEGIN_DECLS #define HIEROGLYPH_VERSION "@VERSION@" -#define HIEROGLYPH_UUID "4421ead2-d773-4522-934f-f332a4600589" +#define HIEROGLYPH_UUID "9f44b1a6-671c-4534-9614-0ca1984d2d92" const char *__hg_rcsid G_GNUC_UNUSED = "$Rev$"; |