From 6a26aa7608a8e5573fb69b1ef949980d5c4676bf Mon Sep 17 00:00:00 2001 From: Niki Roo Date: Tue, 5 Mar 2019 19:13:58 +0100 Subject: [PATCH] TUI: story detail page --- ...ources.jar => jexer-0.0.6-dev-sources.jar} | Bin 635820 -> 687763 bytes .../reader/tui/TuiReaderStoryWindow.java | 134 ++++++++---------- 2 files changed, 57 insertions(+), 77 deletions(-) rename libs/{jexer-0.0.4-dev-sources.jar => jexer-0.0.6-dev-sources.jar} (88%) diff --git a/libs/jexer-0.0.4-dev-sources.jar b/libs/jexer-0.0.6-dev-sources.jar similarity index 88% rename from libs/jexer-0.0.4-dev-sources.jar rename to libs/jexer-0.0.6-dev-sources.jar index 1c09bd859f1b65e3660d150fce998e6c135ff981..5fb7f2d73454b4f7427f98bf56d5d62fe7c0a99c 100644 GIT binary patch delta 60084 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 delta 8530 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 diff --git a/src/be/nikiroo/fanfix/reader/tui/TuiReaderStoryWindow.java b/src/be/nikiroo/fanfix/reader/tui/TuiReaderStoryWindow.java index d726ae9..5874015 100644 --- a/src/be/nikiroo/fanfix/reader/tui/TuiReaderStoryWindow.java +++ b/src/be/nikiroo/fanfix/reader/tui/TuiReaderStoryWindow.java @@ -1,11 +1,13 @@ package be.nikiroo.fanfix.reader.tui; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import jexer.TAction; import jexer.TButton; import jexer.TLabel; +import jexer.TTable; import jexer.TText; import jexer.TWindow; import jexer.event.TResizeEvent; @@ -17,12 +19,20 @@ import be.nikiroo.fanfix.data.Paragraph.ParagraphType; import be.nikiroo.fanfix.data.Story; import be.nikiroo.fanfix.library.BasicLibrary; +/** + * This window will contain the {@link Story} in a readable format, with a + * chapter browser. + * + * @author niki + */ class TuiReaderStoryWindow extends TWindow { private BasicLibrary lib; private MetaData meta; private Story story; + private TLabel titleField; private TText textField; - private int chapter = -1; + private TTable table; + private int chapter = -99; // invalid value private List navigationButtons; private TLabel currentChapter; @@ -36,21 +46,23 @@ class TuiReaderStoryWindow extends TWindow { app.setStatusBar(this, desc(meta)); - textField = new TText(this, "", 0, 0, getWidth() - 2, getHeight() - 2); + // last = use window background + titleField = new TLabel(this, " Title", 0, 1, "tlabel", false); + textField = new TText(this, "", 0, 3, getWidth() - 2, getHeight() - 5); + table = new TTable(this, 0, 3, getWidth(), getHeight() - 4, null, null, + Arrays.asList("Key", "Value"), true); navigationButtons = new ArrayList(5); // -3 because 0-based and 2 for borders int row = getHeight() - 3; - navigationButtons.add(addButton(" ", 0, row, null)); // for bg colour - // when << - // button is - // pressed + // for bg colour when << button is pressed + navigationButtons.add(addButton(" ", 0, row, null)); navigationButtons.add(addButton("<< ", 0, row, new TAction() { @Override public void DO() { - setChapter(0); + setChapter(-1); } })); navigationButtons.add(addButton("< ", 4, row, new TAction() { @@ -78,6 +90,7 @@ class TuiReaderStoryWindow extends TWindow { currentChapter = addLabel("", 14, row); currentChapter.setWidth(getWidth() - 10); + setChapter(chapter); } @@ -88,7 +101,11 @@ class TuiReaderStoryWindow extends TWindow { // Resize the text field TODO: why setW/setH/reflow not enough for the // scrollbars? textField.onResize(new TResizeEvent(Type.WIDGET, resize.getWidth() - 2, - resize.getHeight() - 2)); + resize.getHeight() - 5)); + + table.setWidth(getWidth()); + table.setHeight(getHeight() - 4); + table.reflowData(); // -3 because 0-based and 2 for borders int row = getHeight() - 3; @@ -129,15 +146,11 @@ class TuiReaderStoryWindow extends TWindow { navigationButtons.get(3).setEnabled(chapter < max); navigationButtons.get(4).setEnabled(chapter < max); - StringBuilder builder = new StringBuilder(); - if (chapter < 0) { - appendInfoPage(builder); + displayInfoPage(); } else { - appendChapterPage(builder); + displayChapterPage(); } - - setText(builder.toString()); } setCurrentChapterText(); @@ -149,20 +162,22 @@ class TuiReaderStoryWindow extends TWindow { * @param builder * the builder to append to */ - private StringBuilder appendInfoPage(StringBuilder builder) { - MetaData meta = getStory().getMeta(); - - // TODO: use a ttable? + private void displayInfoPage() { + textField.setVisible(false); + table.setVisible(true); - appendTitle(builder, meta.getTitle(), 1).append("\n"); + MetaData meta = getStory().getMeta(); - // i18n - builder.append("Author: ").append(meta.getAuthor()).append("\n"); - builder.append("Publication date: ").append(meta.getDate()) - .append("\n"); - builder.append("Word count: ").append(meta.getWords()).append("\n"); + setCurrentTitle(meta.getTitle()); - return builder; + table.setRowData(new String[][] { // + new String[] { "Author", meta.getAuthor() }, // + new String[] { "Publication date", meta.getDate() }, + new String[] { "Word count", Long.toString(meta.getWords()) }, + new String[] { "Source", meta.getSource() } // + }); + table.setHeaders(Arrays.asList("key", "value"), false); + table.toTop(); } /** @@ -171,7 +186,12 @@ class TuiReaderStoryWindow extends TWindow { * @param builder * the builder to append to */ - private void appendChapterPage(StringBuilder builder) { + private void displayChapterPage() { + table.setVisible(false); + textField.setVisible(true); + + StringBuilder builder = new StringBuilder(); + Chapter chap = null; if (chapter == 0) { chap = getStory().getMeta().getResume(); @@ -181,10 +201,7 @@ class TuiReaderStoryWindow extends TWindow { // TODO: i18n String chapName = chap == null ? "[No RESUME]" : chap.getName(); - - appendTitle(builder, - String.format("Chapter %d: %s", chapter, chapName), 1); - builder.append("\n"); + setCurrentTitle(String.format("Chapter %d: %s", chapter, chapName)); if (chap != null) { for (Paragraph para : chap) { @@ -197,6 +214,8 @@ class TuiReaderStoryWindow extends TWindow { } } } + + setText(builder.toString()); } private Story getStory() { @@ -250,59 +269,20 @@ class TuiReaderStoryWindow extends TWindow { } currentChapter.setLabel(name); - - } - - private static String desc(MetaData meta) { - return String.format("%s: %s", meta.getLuid(), meta.getTitle()); } /** - * Append a title (on its own 2 lines). + * Set the current title in-window. * - * @param builder - * the {@link StringBuilder} to append to * @param title - * the title itself - * @param level - * the title level, 1 being the highest level, 2 second level and - * so on + * the new title */ - private static StringBuilder appendTitle(StringBuilder builder, - String title, int level) { - String hr; - switch (level) { - case 1: - hr = "======"; - break; - case 2: - hr = "=-=-=-"; - break; - case 3: - hr = "______"; - break; - case 4: - hr = "------"; - break; - default: - hr = ""; - break; - } - - int fullPad = title.length() / hr.length(); - int rest = title.length() - (fullPad * hr.length()); - - builder.append(title).append("\n"); - for (int i = 0; i < title.length() / hr.length(); i++) { - builder.append(hr); - } - - if (rest > 0) { - builder.append(hr.substring(0, rest)); - } - - builder.append("\n"); + private void setCurrentTitle(String title) { + titleField.setWidth(title.length()); + titleField.setLabel(title); + } - return builder; + private static String desc(MetaData meta) { + return String.format("%s: %s", meta.getLuid(), meta.getTitle()); } } -- 2.27.0