1 package be
.nikiroo
.fanfix
.reader
;
3 import jexer
.TApplication
;
6 import jexer
.event
.TResizeEvent
;
7 import be
.nikiroo
.fanfix
.Instance
;
8 import be
.nikiroo
.fanfix
.data
.Chapter
;
9 import be
.nikiroo
.fanfix
.data
.MetaData
;
10 import be
.nikiroo
.fanfix
.data
.Paragraph
;
11 import be
.nikiroo
.fanfix
.data
.Story
;
13 public class TuiReaderStoryWindow
extends TWindow
{
14 private MetaData meta
;
16 private TText textField
;
18 public TuiReaderStoryWindow(TApplication app
, MetaData meta
) {
19 super(app
, desc(meta
), 0, 0, 60, 18, CENTERED
| RESIZABLE
);
22 // /TODO: status bar with info, buttons to change chapter << < Chapter 0
23 // : xxx.. > >> (max size for name = getWith() - X)
25 // TODO: show all meta info before
27 Chapter resume
= getStory().getMeta().getResume();
28 StringBuilder text
= new StringBuilder();
30 // TODO: why does \n not work but \n\n do? bug in jexer?
31 text
.append("Resume:\n\n "); // -> to status bar
32 for (Paragraph para
: resume
) {
33 text
.append(para
.getContent()).append("\n\n ");
36 textField
= addText(text
.toString(), 0, 0, getWidth(), getHeight());
40 public void onResize(TResizeEvent resize
) {
41 super.onResize(resize
);
43 // Resize the text field
44 textField
.setWidth(resize
.getWidth());
45 textField
.setHeight(resize
.getHeight());
49 private Story
getStory() {
52 story
= Instance
.getLibrary().getStory(meta
.getLuid(), null);
57 private static String
desc(MetaData meta
) {
58 return String
.format("%s: %s", meta
.getLuid(), meta
.getTitle());