import jexer.TTable;
import jexer.TText;
import jexer.TWindow;
+import jexer.event.TCommandEvent;
import jexer.event.TResizeEvent;
import jexer.event.TResizeEvent.Type;
import be.nikiroo.fanfix.data.Chapter;
import be.nikiroo.fanfix.data.Paragraph;
import be.nikiroo.fanfix.data.Paragraph.ParagraphType;
import be.nikiroo.fanfix.data.Story;
-import be.nikiroo.fanfix.library.BasicLibrary;
import be.nikiroo.utils.StringUtils;
/**
* @author niki
*/
class TuiReaderStoryWindow extends TWindow {
- private BasicLibrary lib;
- private MetaData meta;
private Story story;
private TLabel titleField;
private TText textField;
private TLabel currentChapter;
// chapter: -1 for "none" (0 is desc)
- public TuiReaderStoryWindow(TuiReaderApplication app, BasicLibrary lib,
- MetaData meta, int chapter) {
- super(app, desc(meta), 0, 0, 60, 18, CENTERED | RESIZABLE);
+ public TuiReaderStoryWindow(TuiReaderApplication app, Story story,
+ int chapter) {
+ super(app, desc(story.getMeta()), 0, 0, 60, 18, CENTERED | RESIZABLE);
- this.lib = lib;
- this.meta = meta;
+ this.story = story;
- app.setStatusBar(this, desc(meta));
+ app.setStatusBar(this, desc(story.getMeta()));
// last = use window background
titleField = new TLabel(this, " Title", 0, 1, "tlabel", false);
}
private Story getStory() {
- if (story == null) {
- // TODO: progress bar?
- story = lib.getStory(meta.getLuid(), null);
- }
return story;
}
private static String desc(MetaData meta) {
return String.format("%s: %s", meta.getLuid(), meta.getTitle());
}
+
+ @Override
+ public void onCommand(TCommandEvent command) {
+ if (command.getCmd().equals(TuiReaderApplication.CMD_EXIT)) {
+ TuiReaderApplication.close(this);
+ } else {
+ // Handle our own event if needed here
+ super.onCommand(command);
+ }
+ }
}