2015-03-08 04:57:55 -06:00
|
|
|
Jexer - Java Text User Interface library
|
|
|
|
========================================
|
|
|
|
|
|
|
|
This library is currently in design, but when finished it is intended
|
|
|
|
to implement a text-based windowing system loosely reminiscient of
|
|
|
|
Borland's [Turbo Vision](http://en.wikipedia.org/wiki/Turbo_Vision)
|
|
|
|
library. For those wishing to use the actual C++ Turbo Vision
|
|
|
|
library, see [Sergio Sigala's updated
|
|
|
|
version](http://tvision.sourceforge.net/) that runs on many more
|
|
|
|
platforms.
|
|
|
|
|
|
|
|
|
|
|
|
License
|
|
|
|
-------
|
|
|
|
|
|
|
|
This library is licensed LGPL ("GNU Lesser General Public License")
|
|
|
|
version 3 or greater. See the file LICENSE for the full license text,
|
|
|
|
which includes both the GPL v3 and the LGPL supplemental terms.
|
|
|
|
|
|
|
|
|
|
|
|
Usage
|
|
|
|
-----
|
|
|
|
|
|
|
|
The library is currently under initial development, usage patterns are
|
|
|
|
still being worked on. Generally the goal will be to build
|
|
|
|
applications somewhat as follows:
|
|
|
|
|
|
|
|
```Java
|
|
|
|
import jexer.*;
|
|
|
|
|
|
|
|
public class MyApplication extends TApplication {
|
|
|
|
|
|
|
|
public MyApplication() {
|
2015-03-13 11:50:01 -06:00
|
|
|
super();
|
2015-03-08 04:57:55 -06:00
|
|
|
|
2015-03-13 11:50:01 -06:00
|
|
|
// Create an editor window that has support for
|
|
|
|
// copy/paste, search text, arrow keys, horizontal
|
|
|
|
// and vertical scrollbar, etc.
|
|
|
|
addEditor();
|
2015-03-08 04:57:55 -06:00
|
|
|
|
2015-03-13 11:50:01 -06:00
|
|
|
// Create standard menus for File and Window
|
|
|
|
addFileMenu();
|
|
|
|
addWindowMenu();
|
2015-03-08 04:57:55 -06:00
|
|
|
}
|
|
|
|
|
|
|
|
public static void main(String [] args) {
|
2015-03-13 11:50:01 -06:00
|
|
|
MyApplication app = new MyApplication();
|
|
|
|
app.run();
|
2015-03-08 04:57:55 -06:00
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
Roadmap
|
|
|
|
-------
|
|
|
|
|
2015-03-14 10:21:03 -06:00
|
|
|
Many tasks remain before calling this version 1.0:
|
2015-03-08 04:57:55 -06:00
|
|
|
|
|
|
|
0.0.1:
|
|
|
|
|
2015-03-15 09:01:26 -06:00
|
|
|
- AWTBackend
|
2015-03-08 04:57:55 -06:00
|
|
|
|
|
|
|
0.0.2:
|
|
|
|
|
2015-03-15 09:01:26 -06:00
|
|
|
- TTreeView
|
|
|
|
- TDirectoryList
|
2015-03-14 06:54:01 -06:00
|
|
|
- TFileOpen
|
2015-03-08 04:57:55 -06:00
|
|
|
|
|
|
|
0.0.3:
|
|
|
|
|
2015-03-15 09:01:26 -06:00
|
|
|
- TEditor
|
|
|
|
- TTerminal
|
|
|
|
|
|
|
|
0.0.4:
|
|
|
|
|
2015-03-14 06:54:01 -06:00
|
|
|
- Bugs
|
2015-03-15 12:02:37 -06:00
|
|
|
- Bare ESC isn't being returned immediately
|
2015-03-15 09:01:26 -06:00
|
|
|
- TTimer is jittery with I/O
|
2015-03-14 06:54:01 -06:00
|
|
|
- TSubMenu keyboard mnemonic not working
|
|
|
|
- kbDel assertion failure in TMenu (MID_CLEAR)
|
2015-03-15 09:01:26 -06:00
|
|
|
- TDirectoryList cannot be navigated only with keyboard
|
|
|
|
- TTreeView cannot be navigated only with keyboard
|
|
|
|
- RangeViolation after dragging scrollbar up/down
|
2015-03-14 06:54:01 -06:00
|
|
|
- TEditor
|
|
|
|
- Word wrap
|
|
|
|
- Forward/backward word
|
|
|
|
- Search
|
|
|
|
- Replace
|
|
|
|
- Cut/Copy/Paste
|
2015-03-11 03:48:46 -06:00
|
|
|
|
2015-03-15 09:01:26 -06:00
|
|
|
0.1.0:
|
2015-03-11 03:48:46 -06:00
|
|
|
|
2015-03-15 09:01:26 -06:00
|
|
|
- TWindow
|
|
|
|
- "Smart placement" for new windows
|
2015-03-08 04:57:55 -06:00
|
|
|
- ECMATerminal
|
|
|
|
- Mouse 1006 mode parsing
|
|
|
|
|
|
|
|
Wishlist features (2.0):
|
|
|
|
|
|
|
|
- TTerminal
|
|
|
|
- Handle resize events (pass to child process)
|
|
|
|
- xterm mouse handling
|
|
|
|
- Screen
|
|
|
|
- Allow complex characters in putCharXY() and detect them in putStrXY().
|
|
|
|
- TComboBox
|
|
|
|
- TListBox
|
|
|
|
- TSpinner
|
|
|
|
- TCalendar widget
|
|
|
|
- TColorPicker widget
|
|
|
|
- Drag and drop
|
|
|
|
- TEditor
|
|
|
|
- TField
|
|
|
|
- TText
|
|
|
|
- TTerminal
|
|
|
|
- TComboBox
|