jexer/README.md

116 lines
2.4 KiB
Markdown
Raw Normal View History

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