bc4cb587febadec0a67fe5c12c5afc0155eba9b5
[jvcard.git] / src / be / nikiroo / jvcard / tui / windows / TuiContactWindow.java
1 package be.nikiroo.jvcard.tui.windows;
2
3 import java.util.HashMap;
4 import java.util.Map;
5
6 import jexer.TAction;
7 import jexer.TApplication;
8 import jexer.TKeypress;
9 import jexer.TLabel;
10 import jexer.TWindow;
11 import jexer.event.TKeypressEvent;
12 import be.nikiroo.jvcard.Contact;
13
14 public class TuiContactWindow extends TWindow {
15 private Map<TKeypress, TAction> keyBindings;
16
17 public TuiContactWindow(final TApplication app, final Contact contact) {
18 super(app, "Contact view", 40, 20);
19
20 keyBindings = new HashMap<TKeypress, TAction>();
21
22 keyBindings.put(TKeypress.kbQ, new TAction() {
23 @Override
24 public void DO() {
25 app.closeWindow(TuiContactWindow.this);
26 }
27 });
28
29 keyBindings.put(TKeypress.kbR, new TAction() {
30 @Override
31 public void DO() {
32 @SuppressWarnings("unused")
33 TWindow w = new TuiRawContactWindow(app, contact);
34 }
35 });
36
37 @SuppressWarnings("unused")
38 TLabel l = new TLabel(this, "'r' to see raw view", 0, 0);
39
40 // TODO: fullscreen selection?
41
42 // TODO: auto-maximize on FS, auto-resize on maximize
43 // setFullscreen(true);
44 maximize();
45 onResize(null);
46 }
47
48 @Override
49 public void onKeypress(TKeypressEvent keypress) {
50 if (keyBindings.containsKey(keypress.getKey())) {
51 keyBindings.get(keypress.getKey()).DO();
52 } else {
53 super.onKeypress(keypress);
54 }
55 }
56 }