Commit | Line | Data |
---|---|---|
10dd1e38 NR |
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 | } |