Commit | Line | Data |
---|---|---|
7d4115a5 KL |
1 | Jexer - Java Text User Interface library |
2 | ======================================== | |
3 | ||
4 | This library is currently in design, but when finished it is intended | |
5 | to implement a text-based windowing system loosely reminiscient of | |
6 | Borland's [Turbo Vision](http://en.wikipedia.org/wiki/Turbo_Vision) | |
7 | library. For those wishing to use the actual C++ Turbo Vision | |
8 | library, see [Sergio Sigala's updated | |
9 | version](http://tvision.sourceforge.net/) that runs on many more | |
10 | platforms. | |
11 | ||
12 | ||
13 | License | |
14 | ------- | |
15 | ||
16 | This library is licensed LGPL ("GNU Lesser General Public License") | |
17 | version 3 or greater. See the file LICENSE for the full license text, | |
18 | which includes both the GPL v3 and the LGPL supplemental terms. | |
19 | ||
20 | ||
21 | Usage | |
22 | ----- | |
23 | ||
24 | The library is currently under initial development, usage patterns are | |
25 | still being worked on. Generally the goal will be to build | |
26 | applications somewhat as follows: | |
27 | ||
28 | ```Java | |
29 | import jexer.*; | |
30 | ||
31 | public class MyApplication extends TApplication { | |
32 | ||
33 | public MyApplication() { | |
fca67db0 | 34 | super(); |
7d4115a5 | 35 | |
fca67db0 KL |
36 | // Create an editor window that has support for |
37 | // copy/paste, search text, arrow keys, horizontal | |
38 | // and vertical scrollbar, etc. | |
39 | addEditor(); | |
7d4115a5 | 40 | |
fca67db0 KL |
41 | // Create standard menus for File and Window |
42 | addFileMenu(); | |
43 | addWindowMenu(); | |
7d4115a5 KL |
44 | } |
45 | ||
46 | public static void main(String [] args) { | |
fca67db0 KL |
47 | MyApplication app = new MyApplication(); |
48 | app.run(); | |
7d4115a5 KL |
49 | } |
50 | } | |
51 | ``` | |
52 | ||
53 | ||
54 | Roadmap | |
55 | ------- | |
56 | ||
30d336cc | 57 | Many tasks remain before calling this version 1.0: |
7d4115a5 KL |
58 | |
59 | 0.0.1: | |
60 | ||
b1b355b8 | 61 | - TMessageBox |
70f5b2bb | 62 | - TInputBox |
cc99cba8 | 63 | - AWTBackend |
7d4115a5 KL |
64 | |
65 | 0.0.2: | |
66 | ||
cc99cba8 KL |
67 | - TTreeView |
68 | - TDirectoryList | |
b1b355b8 | 69 | - TFileOpen |
7d4115a5 KL |
70 | |
71 | 0.0.3: | |
72 | ||
cc99cba8 KL |
73 | - TEditor |
74 | - TTerminal | |
75 | ||
76 | 0.0.4: | |
77 | ||
b1b355b8 | 78 | - Bugs |
70f5b2bb | 79 | - Bare ESC isn't being returned immediately |
cc99cba8 | 80 | - TTimer is jittery with I/O |
b1b355b8 KL |
81 | - TSubMenu keyboard mnemonic not working |
82 | - kbDel assertion failure in TMenu (MID_CLEAR) | |
cc99cba8 KL |
83 | - TDirectoryList cannot be navigated only with keyboard |
84 | - TTreeView cannot be navigated only with keyboard | |
85 | - RangeViolation after dragging scrollbar up/down | |
b1b355b8 KL |
86 | - TEditor |
87 | - Word wrap | |
88 | - Forward/backward word | |
89 | - Search | |
90 | - Replace | |
91 | - Cut/Copy/Paste | |
9edb442b | 92 | |
cc99cba8 | 93 | 0.1.0: |
9edb442b | 94 | |
cc99cba8 KL |
95 | - TWindow |
96 | - "Smart placement" for new windows | |
7d4115a5 KL |
97 | - ECMATerminal |
98 | - Mouse 1006 mode parsing | |
7d4115a5 KL |
99 | |
100 | Wishlist features (2.0): | |
101 | ||
102 | - TTerminal | |
103 | - Handle resize events (pass to child process) | |
104 | - xterm mouse handling | |
7d4115a5 KL |
105 | - Screen |
106 | - Allow complex characters in putCharXY() and detect them in putStrXY(). | |
107 | - TComboBox | |
108 | - TListBox | |
109 | - TSpinner | |
110 | - TCalendar widget | |
111 | - TColorPicker widget | |
112 | - Drag and drop | |
113 | - TEditor | |
114 | - TField | |
115 | - TText | |
116 | - TTerminal | |
117 | - TComboBox |