X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Freader%2FTuiReaderStoryWindow.java;fp=src%2Fbe%2Fnikiroo%2Ffanfix%2Freader%2FTuiReaderStoryWindow.java;h=47a644edf5789174cf632e8a2dc4692f3103f6c2;hb=c1873e5678fabf306915c54f9c1736e03e027d60;hp=0000000000000000000000000000000000000000;hpb=ce788468f22e7666d97acedb81a15004aaf0bc01;p=fanfix.git diff --git a/src/be/nikiroo/fanfix/reader/TuiReaderStoryWindow.java b/src/be/nikiroo/fanfix/reader/TuiReaderStoryWindow.java new file mode 100644 index 0000000..47a644e --- /dev/null +++ b/src/be/nikiroo/fanfix/reader/TuiReaderStoryWindow.java @@ -0,0 +1,60 @@ +package be.nikiroo.fanfix.reader; + +import jexer.TApplication; +import jexer.TText; +import jexer.TWindow; +import jexer.event.TResizeEvent; +import be.nikiroo.fanfix.Instance; +import be.nikiroo.fanfix.data.Chapter; +import be.nikiroo.fanfix.data.MetaData; +import be.nikiroo.fanfix.data.Paragraph; +import be.nikiroo.fanfix.data.Story; + +public class TuiReaderStoryWindow extends TWindow { + private MetaData meta; + private Story story; + private TText textField; + + public TuiReaderStoryWindow(TApplication app, MetaData meta) { + super(app, desc(meta), 0, 0, 60, 18, CENTERED | RESIZABLE); + this.meta = meta; + + // /TODO: status bar with info, buttons to change chapter << < Chapter 0 + // : xxx.. > >> (max size for name = getWith() - X) + + // TODO: show all meta info before + + Chapter resume = getStory().getMeta().getResume(); + StringBuilder text = new StringBuilder(); + if (resume != null) { + // TODO: why does \n not work but \n\n do? bug in jexer? + text.append("Resume:\n\n "); // -> to status bar + for (Paragraph para : resume) { + text.append(para.getContent()).append("\n\n "); + } + } + textField = addText(text.toString(), 0, 0, getWidth(), getHeight()); + } + + @Override + public void onResize(TResizeEvent resize) { + super.onResize(resize); + + // Resize the text field + textField.setWidth(resize.getWidth()); + textField.setHeight(resize.getHeight()); + textField.reflow(); + } + + private Story getStory() { + if (story == null) { + // TODO: progress bar + story = Instance.getLibrary().getStory(meta.getLuid(), null); + } + return story; + } + + private static String desc(MetaData meta) { + return String.format("%s: %s", meta.getLuid(), meta.getTitle()); + } +}