summaryrefslogtreecommitdiffstats
path: root/org/madore/damlengine/TodoEntryElement.java
diff options
context:
space:
mode:
authorDavid A. Madore <david+git@madore.org>2011-09-08 16:45:01 +0200
committerDavid A. Madore <david+git@madore.org>2011-09-08 16:47:19 +0200
commite1a28d91563986bb6bd8866f7df68a4b0569ec9b (patch)
tree4579da56b53866d55feaae0fcf8c553961f4bc1e /org/madore/damlengine/TodoEntryElement.java
parentc1aa7509008d3aaa4afa9ceb3c3e029b9542f75a (diff)
downloaddamlengine-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.java28
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);