diff options
author | David A. Madore <david+git@madore.org> | 2011-09-08 16:45:01 +0200 |
---|---|---|
committer | David A. Madore <david+git@madore.org> | 2011-09-08 16:47:19 +0200 |
commit | e1a28d91563986bb6bd8866f7df68a4b0569ec9b (patch) | |
tree | 4579da56b53866d55feaae0fcf8c553961f4bc1e /org/madore/damlengine/TodoEntryElement.java | |
parent | c1aa7509008d3aaa4afa9ceb3c3e029b9542f75a (diff) | |
download | damlengine-e1a28d91563986bb6bd8866f7df68a4b0569ec9b.tar.gz damlengine-e1a28d91563986bb6bd8866f7df68a4b0569ec9b.tar.bz2 damlengine-e1a28d91563986bb6bd8866f7df68a4b0569ec9b.zip |
Display lists of categories, with appropriate links.
Diffstat (limited to 'org/madore/damlengine/TodoEntryElement.java')
-rw-r--r-- | org/madore/damlengine/TodoEntryElement.java | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/org/madore/damlengine/TodoEntryElement.java b/org/madore/damlengine/TodoEntryElement.java index 7365b88..db78c06 100644 --- a/org/madore/damlengine/TodoEntryElement.java +++ b/org/madore/damlengine/TodoEntryElement.java @@ -45,6 +45,18 @@ public final class TodoEntryElement extends TodoDefaultElement { String entryMonthStr = entryDateMatcher.group(2); String entryDayStr = entryDateMatcher.group(3); String entryDowStr = node.getAttributeNS(null, "day_of_week"); + String entryCatStr = node.getAttributeNS(null, "cat"); + ArrayList<String> entryCatList; + if ( entryCatStr.equals("") ) { + entryCatList = new ArrayList<String>(0); + } else { + String[] temp = entryCatStr.split("\\s+"); + entryCatList = new ArrayList<String>(temp.length); + for ( String cat : temp ) { + if ( ! cat.equals("") ) + entryCatList.add(cat); + } + } String entryIdStr = "d."+entryDateStr+"."+entryNumberStr; div.setAttributeNS(null, "id", entryIdStr); @@ -76,7 +88,7 @@ public final class TodoEntryElement extends TodoDefaultElement { Context ctx2 = ctx.clone(); ctx2.ent = new Context.EntryContext(entryYearStr, entryMonthStr, entryDayStr, - entryNumberStr, entryDowStr); + entryNumberStr, entryDowStr, entryCatList); ctx2.ent.headerNode = header; ctx2.ent.headlinkNode = headlink; @@ -95,11 +107,21 @@ public final class TodoEntryElement extends TodoDefaultElement { toProcess.add(it); } } + Element footer = ctx.doc.createElementNS(DamlEngine.XHTML_NS, "footer"); + div.appendChild(footer); + div.appendChild(ctx.doc.createTextNode("\n")); + if ( entryCatList.size() > 0 ) { + Element token = ctx.doc.createElementNS(DamlEngine.DAML_NS, + "d:implicit-do-categories"); + footer.appendChild(token); + footer.appendChild(ctx.doc.createTextNode("\n")); + toProcess.add(new TodoCategories(token, ctx2, this)); + } if ( node.getAttributeNS(null, "nocomments").equals("") ) { Element token = ctx.doc.createElementNS(DamlEngine.DAML_NS, "d:implicit-do-comments"); - div.appendChild(token); - div.appendChild(ctx.doc.createTextNode("\n")); + footer.appendChild(token); + footer.appendChild(ctx.doc.createTextNode("\n")); toProcess.add(new TodoComments(token, ctx2, this)); } this.ownerDeque.registerAtStart(toProcess); |