+
+ @Override
+ public MetaData getMeta() {
+ return reader.getMeta();
+ }
+
+ @Override
+ public Story getStory(Progress pg) {
+ return reader.getStory(pg);
+ }
+
+ @Override
+ public BasicLibrary getLibrary() {
+ return reader.getLibrary();
+ }
+
+ @Override
+ public void setLibrary(BasicLibrary lib) {
+ reader.setLibrary(lib);
+ }
+
+ @Override
+ public void setMeta(MetaData meta) throws IOException {
+ reader.setMeta(meta);
+ }
+
+ @Override
+ public void setMeta(String luid) throws IOException {
+ reader.setMeta(luid);
+ }
+
+ @Override
+ public void setMeta(URL source, Progress pg) throws IOException {
+ reader.setMeta(source, pg);
+ }
+
+ @Override
+ public void browse(String source) {
+ reader.browse(source);
+ }
+
+ @Override
+ public int getChapter() {
+ return reader.getChapter();
+ }
+
+ @Override
+ public void setChapter(int chapter) {
+ reader.setChapter(chapter);
+ }
+
+ private void init(Reader reader) {
+ this.reader = reader;
+
+ // Do not allow traces/debug to pollute the screen:
+ Instance.setSyserrHandler(new SyserrHandler() {
+ @Override
+ public void notify(Exception e, boolean showDetails) {
+ // TODO
+ }
+ });
+
+ Instance.setTraceHandler(new TraceHandler() {
+ @Override
+ public void trace(String message) {
+ // TODO
+ }
+ });
+ //
+
+ // Add the menus
+ addFileMenu();
+ addEditMenu();
+ addWindowMenu();
+ addHelpMenu();
+
+ getBackend().setTitle("Fanfix");
+ }