Merge commit '77d3a60869e7a780c6ae069e51530e1eacece5e2'
[fanfix.git] / src / jexer / demos / DemoEditorWindow.java
index f04916a1df1a933f7ab0f495dfbaae22a631f674..87798fb3f4b08d5ca6f684dc44928143f57aa35b 100644 (file)
@@ -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"),
  */
 package jexer.demos;
 
-import jexer.*;
-import jexer.event.*;
+import java.util.ResourceBundle;
+
+import jexer.TApplication;
+import jexer.TEditorWidget;
+import jexer.TWidget;
+import jexer.TWindow;
+import jexer.event.TResizeEvent;
 import static jexer.TCommand.*;
 import static jexer.TKeypress.*;
 
 /**
- * This window demonstates the TText, THScroller, and TVScroller widgets.
+ * This window demonstates the TEditor widget.
  */
 public class DemoEditorWindow extends TWindow {
 
+    /**
+     * Translated strings.
+     */
+    private static final ResourceBundle i18n = ResourceBundle.getBundle(DemoEditorWindow.class.getName());
+
+    // ------------------------------------------------------------------------
+    // Variables --------------------------------------------------------------
+    // ------------------------------------------------------------------------
+
     /**
      * Hang onto my TEditor so I can resize it with the window.
      */
     private TEditorWidget editField;
 
+    // ------------------------------------------------------------------------
+    // Constructors -----------------------------------------------------------
+    // ------------------------------------------------------------------------
+
     /**
      * Public constructor makes a text window out of any string.
      *
@@ -56,11 +74,13 @@ public class DemoEditorWindow extends TWindow {
         super(parent, title, 0, 0, 44, 22, RESIZABLE);
         editField = addEditor(text, 0, 0, 42, 20);
 
-        statusBar = newStatusBar("Editable 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(kbF10, cmExit,
+            i18n.getString("statusBarExit"));
     }
 
     /**
@@ -69,11 +89,11 @@ public class DemoEditorWindow extends TWindow {
      * @param parent the main application
      */
     public DemoEditorWindow(final TApplication parent) {
-        this(parent, "Editor",
+        this(parent, i18n.getString("windowTitle"),
 "This is an example of an editable text field.  Some example text follows.\n" +
 "\n" +
 "This library implements a text-based windowing system loosely\n" +
-"reminiscient of Borland's [Turbo\n" +
+"reminiscent of Borland's [Turbo\n" +
 "Vision](http://en.wikipedia.org/wiki/Turbo_Vision) library.  For those\n" +
 "wishing to use the actual C++ Turbo Vision library, see [Sergio\n" +
 "Sigala's updated version](http://tvision.sourceforge.net/) that runs\n" +
@@ -100,6 +120,10 @@ public class DemoEditorWindow extends TWindow {
 
     }
 
+    // ------------------------------------------------------------------------
+    // TWindow ----------------------------------------------------------------
+    // ------------------------------------------------------------------------
+
     /**
      * Handle window/screen resize events.
      *