--- /dev/null
+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());
+ }
+}