Update support code for Jexer
[jvcard.git] / src / be / nikiroo / jvcard / tui / windows / TuiContactWindow.java
index bc4cb587febadec0a67fe5c12c5afc0155eba9b5..f1a6c3439d4b3d4d1dfbc23b0bbae85f3743e982 100644 (file)
@@ -1,56 +1,32 @@
 package be.nikiroo.jvcard.tui.windows;
 
-import java.util.HashMap;
-import java.util.Map;
-
 import jexer.TAction;
-import jexer.TApplication;
 import jexer.TKeypress;
 import jexer.TLabel;
 import jexer.TWindow;
-import jexer.event.TKeypressEvent;
 import be.nikiroo.jvcard.Contact;
 
-public class TuiContactWindow extends TWindow {
-       private Map<TKeypress, TAction> keyBindings;
-
-       public TuiContactWindow(final TApplication app, final Contact contact) {
-               super(app, "Contact view", 40, 20);
+public class TuiContactWindow extends TuiBasicWindow {
+       public TuiContactWindow(final TuiBasicWindow parent, final Contact contact) {
+               super(parent, "Contact view");
 
-               keyBindings = new HashMap<TKeypress, TAction>();
-
-               keyBindings.put(TKeypress.kbQ, new TAction() {
+               addKeyBinding(TKeypress.kbQ, "Quit", new TAction() {
                        @Override
                        public void DO() {
-                               app.closeWindow(TuiContactWindow.this);
+                               parent.getApplication().closeWindow(TuiContactWindow.this);
                        }
                });
 
-               keyBindings.put(TKeypress.kbR, new TAction() {
+               addKeyBinding(TKeypress.kbR, "Raw view", new TAction() {
                        @Override
                        public void DO() {
                                @SuppressWarnings("unused")
-                               TWindow w = new TuiRawContactWindow(app, contact);
+                               TWindow w = new TuiRawContactWindow(TuiContactWindow.this,
+                                               contact);
                        }
                });
 
                @SuppressWarnings("unused")
                TLabel l = new TLabel(this, "'r' to see raw view", 0, 0);
-
-               // TODO: fullscreen selection?
-
-               // TODO: auto-maximize on FS, auto-resize on maximize
-               // setFullscreen(true);
-               maximize();
-               onResize(null);
-       }
-
-       @Override
-       public void onKeypress(TKeypressEvent keypress) {
-               if (keyBindings.containsKey(keypress.getKey())) {
-                       keyBindings.get(keypress.getKey()).DO();
-               } else {
-                       super.onKeypress(keypress);
-               }
        }
 }