X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fjexer%2Fdemos%2FDemoTextWindow.java;h=74908862eb0b2abaf68d571ac334bec04035628b;hb=12b90437b5f22c2ae6e9b9b14c3b62b60f6143e5;hp=1c51296af5900b14f010433278f16eb660566742;hpb=7657ad8c9c48bdde0c7d693859e942bd2186b1f7;p=nikiroo-utils.git diff --git a/src/jexer/demos/DemoTextWindow.java b/src/jexer/demos/DemoTextWindow.java index 1c51296..7490886 100644 --- a/src/jexer/demos/DemoTextWindow.java +++ b/src/jexer/demos/DemoTextWindow.java @@ -3,7 +3,7 @@ * * The MIT License (MIT) * - * Copyright (C) 2017 Kevin Lamonte + * Copyright (C) 2019 Kevin Lamonte * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), @@ -28,9 +28,15 @@ */ package jexer.demos; -import jexer.*; -import jexer.event.*; -import jexer.menu.*; +import java.util.ResourceBundle; + +import jexer.TAction; +import jexer.TApplication; +import jexer.TText; +import jexer.TWidget; +import jexer.TWindow; +import jexer.event.TResizeEvent; +import jexer.menu.TMenu; import static jexer.TCommand.*; import static jexer.TKeypress.*; @@ -39,11 +45,24 @@ import static jexer.TKeypress.*; */ public class DemoTextWindow extends TWindow { + /** + * Translated strings. + */ + private static final ResourceBundle i18n = ResourceBundle.getBundle(DemoTextWindow.class.getName()); + + // ------------------------------------------------------------------------ + // Variables -------------------------------------------------------------- + // ------------------------------------------------------------------------ + /** * Hang onto my TText so I can resize it with the window. */ private TText textField; + // ------------------------------------------------------------------------ + // Constructors ----------------------------------------------------------- + // ------------------------------------------------------------------------ + /** * Public constructor makes a text window out of any string. * @@ -57,35 +76,39 @@ public class DemoTextWindow extends TWindow { super(parent, title, 0, 0, 44, 22, RESIZABLE); textField = addText(text, 1, 3, 40, 16); - addButton("&Left", 1, 1, new TAction() { + addButton(i18n.getString("left"), 1, 1, new TAction() { public void DO() { textField.leftJustify(); } }); - addButton("&Center", 10, 1, new TAction() { + addButton(i18n.getString("center"), 10, 1, new TAction() { public void DO() { textField.centerJustify(); } }); - addButton("&Right", 21, 1, new TAction() { + addButton(i18n.getString("right"), 21, 1, new TAction() { public void DO() { textField.rightJustify(); } }); - addButton("&Full", 31, 1, new TAction() { + addButton(i18n.getString("full"), 31, 1, new TAction() { public void DO() { textField.fullJustify(); } }); - statusBar = newStatusBar("Reflowable text window"); - statusBar.addShortcutKeypress(kbF1, cmHelp, "Help"); - statusBar.addShortcutKeypress(kbF2, cmShell, "Shell"); - statusBar.addShortcutKeypress(kbF3, cmOpen, "Open"); - statusBar.addShortcutKeypress(kbF10, cmExit, "Exit"); + statusBar = newStatusBar(i18n.getString("statusBar")); + statusBar.addShortcutKeypress(kbF1, cmHelp, + i18n.getString("statusBarHelp")); + statusBar.addShortcutKeypress(kbF2, cmShell, + i18n.getString("statusBarShell")); + statusBar.addShortcutKeypress(kbF3, cmOpen, + i18n.getString("statusBarOpen")); + statusBar.addShortcutKeypress(kbF10, cmExit, + i18n.getString("statusBarExit")); } /** @@ -94,13 +117,13 @@ public class DemoTextWindow extends TWindow { * @param parent the main application */ public DemoTextWindow(final TApplication parent) { - this(parent, "Text Area", + this(parent, i18n.getString("windowTitle"), "This is an example of a reflowable text field. Some example text follows.\n" + "\n" + "Notice that some menu items should be disabled when this window has focus.\n" + "\n" + "This library implements a text-based windowing system loosely " + -"reminiscient of Borland's [Turbo " + +"reminiscent of Borland's [Turbo " + "Vision](http://en.wikipedia.org/wiki/Turbo_Vision) library. For those " + "wishing to use the actual C++ Turbo Vision library, see [Sergio " + "Sigala's updated version](http://tvision.sourceforge.net/) that runs " + @@ -111,6 +134,10 @@ public class DemoTextWindow extends TWindow { } + // ------------------------------------------------------------------------ + // TWindow ---------------------------------------------------------------- + // ------------------------------------------------------------------------ + /** * Handle window/screen resize events. * @@ -120,9 +147,9 @@ public class DemoTextWindow extends TWindow { public void onResize(final TResizeEvent event) { if (event.getType() == TResizeEvent.Type.WIDGET) { // Resize the text field - textField.setWidth(event.getWidth() - 4); - textField.setHeight(event.getHeight() - 6); - textField.reflow(); + TResizeEvent textSize = new TResizeEvent(TResizeEvent.Type.WIDGET, + event.getWidth() - 4, event.getHeight() - 6); + textField.onResize(textSize); return; }