Alexandre Bury
5e6222bf23
Use intermediate type for the callback promise
...
Using actual promises would still be better
2016-07-25 13:38:13 -07:00
Alexandre Bury
c1c9322319
Add panel view
2016-07-25 13:35:46 -07:00
Alexandre Bury
6c71ac14b0
More linear progress bar progression
...
Each cell should receive the same number of ticks
2016-07-25 12:18:05 -07:00
Alexandre Bury
47acf1667d
Remove brackets from progress bar
...
It was ugly, really.
Put a Panel (doesn't exist yet) around it if you want.
2016-07-24 23:03:59 -07:00
Alexandre Bury
e29511e757
Add ProgressBar
...
Also make Callback its own NewType to add comversion methods.
2016-07-24 23:01:09 -07:00
Alexandre Bury
10e072c140
Allow loading themes from content.
...
Made `load_theme` thake a `&str` and Added `load_theme_file`.
2016-07-24 16:56:22 -07:00
Alexandre Bury
0a8228d073
Add examples to documentation
2016-07-20 22:08:06 -07:00
Alexandre Bury
536321ebda
Add Button to prelude.
2016-07-20 22:02:45 -07:00
Alexandre Bury
2a4742f67b
Use prelude in docs
2016-07-20 21:43:20 -07:00
Alexandre Bury
f28ac264f1
Add prelude import module
...
Update examples to use it.
2016-07-20 21:25:14 -07:00
Alexandre Bury
64d176ffa5
Add proper select popup placement
...
Added a popup select to the `list_view` example
2016-07-20 00:30:00 -07:00
Alexandre Bury
8b6022a398
Add popup mode to SelectView
...
Single-line, opens a popup on selection.
2016-07-19 23:47:27 -07:00
Alexandre Bury
783fa0f1e2
Fix typo in docs
2016-07-19 20:50:21 -07:00
Alexandre Bury
a1d0231e2c
Make Menubar
a proper View
2016-07-19 20:44:50 -07:00
Alexandre Bury
2065be3e88
Add some doc to the menu
module
2016-07-19 20:28:34 -07:00
Alexandre Bury
4120203844
More fixes for insufficient space.
2016-07-17 01:20:41 -07:00
Alexandre Bury
8750185f8c
Don't crash on insufficient space
2016-07-16 22:06:28 -07:00
Alexandre Bury
ab3a55abaf
Add enabled state to Button
2016-07-16 18:49:17 -07:00
Alexandre Bury
58a04bbb13
Add enabled state to SelectView
2016-07-16 18:46:18 -07:00
Alexandre Bury
02b6b6601f
Add enabled state to Checkbox
2016-07-16 18:36:54 -07:00
Alexandre Bury
77a623674a
Add on_change callback to CheckBox
2016-07-16 18:18:33 -07:00
Alexandre Bury
05f66b8e1b
Add macro'd Default implementations
2016-07-16 17:28:42 -07:00
Alexandre Bury
d4afdf024f
Add checkbox view
2016-07-16 17:22:24 -07:00
Alexandre Bury
5ee8706582
Add scrollable
flag to TextViews
2016-07-16 17:08:17 -07:00
Alexandre Bury
5b25893496
Rustfmt
2016-07-16 13:52:28 -07:00
Alexandre Bury
a22c92a1a1
Add ListView
...
Also added `examples/list_view.rs`.
2016-07-16 13:25:21 -07:00
Alexandre Bury
99993ab1ec
Clear screen when hiding menubar
...
Otherwise it's visible but inactive
2016-07-16 01:07:37 -07:00
Alexandre Bury
2b54d6df28
Make View::draw
take a &self (instead of a &mut self)
...
TrackedView, the only user of the mutability, now uses internal
mutability with a Cell.
2016-07-15 23:44:38 -07:00
Alexandre Bury
ef6f83751c
Remove unused file
2016-07-15 11:17:09 -07:00
Alexandre Bury
1010c825ae
Added doc for event module
2016-07-14 23:25:32 -07:00
Alexandre Bury
2ed8552e4b
More doc fixes
2016-07-14 22:53:16 -07:00
Alexandre Bury
b4fafbec83
Fix some documentation
2016-07-14 22:50:35 -07:00
Alexandre Bury
bd5c45ac0e
Fix clippy warnings
2016-07-14 22:32:43 -07:00
Alexandre Bury
91fdf96066
Add Direction
enum
...
And add a Direction argument to take_focus
2016-07-14 22:23:06 -07:00
Alexandre Bury
1b34934df7
Fix printer::Printer
imports
2016-07-13 23:25:54 -07:00
Alexandre Bury
7f17a4ff74
Don't expose single-item modules
...
Instead, pub-use it from the root.
2016-07-13 23:18:59 -07:00
Alexandre Bury
d9e4512752
Fix linear layout focus switch
2016-07-13 22:16:55 -07:00
Alexandre Bury
5059e21cb1
Fix focus in LinearLayout
...
Focus now at least works. #42 is still open though.
2016-07-13 22:11:03 -07:00
Alexandre Bury
9390504290
Add documentation to BoxView
2016-07-13 21:30:30 -07:00
Alexandre Bury
e166869c51
Add some documentation to view
module
2016-07-13 20:52:24 -07:00
Alexandre Bury
03c400ad44
Fix linear layout in constrained space
2016-07-13 01:19:05 -07:00
Alexandre Bury
12593c8ea8
Rustfmt on xy.rs
2016-07-12 21:33:50 -07:00
Alexandre Bury
4fe7df220a
Add basic test to Vec2
2016-07-12 21:33:24 -07:00
Alexandre Bury
7f530e34b7
Add XY generic struct
2016-07-12 21:03:17 -07:00
Alexandre Bury
309c471a63
Add #![deny(missing_docs)]
...
And fill the appropriate missing ones
2016-07-11 20:26:33 -07:00
Alexandre Bury
c597c262fe
Add single-orientation FullView
...
full_width and full_height
2016-07-11 19:35:18 -07:00
Alexandre Bury
b7a270f258
Split width
and height
in BoxView
...
They are now both optional
2016-07-11 19:24:50 -07:00
Alexandre Bury
c07e8b6aee
Rustfmt
2016-07-10 19:11:21 -07:00
Alexandre Bury
6e0819f723
Simplify Event enum
...
Now properly unify Alt/Ctrl/Shift handling
2016-07-10 18:27:26 -07:00
Alexandre Bury
99bf28dfd6
Add needs_relayout
method to View
trait.
...
Purely optimization-focused trait (it is safe to ignore it entirely).
Allows view groups to take shortcuts if they know their children didn't
change since last time.
2016-07-10 17:41:49 -07:00
Alexandre Bury
4b095a0652
Apply rustfmt
2016-07-09 19:05:51 -07:00
Alexandre Bury
08ab18608b
Clear the screen only on window resize and layer removal
...
Should actually also be done if a layer shrinks.
Luckily, clear can be called anytime, as draw() is the last action
performed in the event loop - so it's safe to clear the screen in any
event callback, or even during layout.
2016-07-09 18:49:37 -07:00
Alexandre Bury
9b2dec2a7f
Use proper bounds for dialogs
...
Buttons height was not removed from the budget for get_min_size
2016-07-09 18:36:07 -07:00
Alexandre Bury
455a2a817c
Invalidate TextView cache on content change
2016-07-09 18:26:52 -07:00
Alexandre Bury
2860467f29
Cache layout in TextView
...
Calling either get_min_size or layout will cache the results, so the
next call with the same constraints will not re-compute everything.
2016-07-09 18:23:58 -07:00
Alexandre Bury
4498d206f5
Support wide characters in TextViews
...
Added some japanese paragraphs to the lorem example.
2016-07-04 21:30:13 -07:00
Alexandre Bury
cc72aa4ddc
Better wide char support
2016-07-04 16:04:32 -07:00
Alexandre Bury
d89c83f0ed
MenuPopup now supports PageUp/Down and Home/End
2016-07-02 20:53:13 -07:00
Alexandre Bury
692c310656
Better Menu API
...
Now offer non-chainable methods as well.
2016-07-02 20:44:27 -07:00
Alexandre Bury
e127392e8a
Add impl Default for Menubar
...
To make clippy happy
2016-07-02 19:47:11 -07:00
Alexandre Bury
0fd3bc113f
Fix layout bug in StackView
...
Only skip padding for non-centered views
2016-07-02 19:46:23 -07:00
Alexandre Bury
8220fe529e
Better menubar example
...
Added scrolling support, and left/right navigation
2016-07-02 19:37:38 -07:00
Alexandre Bury
1d54764cdb
Working menubar example
...
Also update callback: use Rc instead of Box
2016-07-02 15:02:42 -07:00
Alexandre Bury
1863e48b07
Add MenuPopup view
2016-07-02 01:01:09 -07:00
Alexandre Bury
1b1d7166a1
Replace SizeRequest with simple Vec2
...
We may go back to an enum though, to handle text views in LinearLayouts.
But the previous Fixed/AtMost/Unknown distinction was useless.
2016-07-02 00:47:38 -07:00
Alexandre Bury
c958093b74
Add TrackedView to cache the view size
2016-07-01 20:23:58 -07:00
Alexandre Bury
87cd1ce23f
Add position parameter to stack view layers
...
Can be centered, absolute or relative to the previous layer.
Can be set independently for each axis.
2016-07-01 19:19:43 -07:00
Alexandre Bury
985009e51c
More ncurses isolation
...
Also some renaming in the theme module
2016-06-30 23:38:01 -07:00
Alexandre Bury
4dcb2ea901
Remove debug println
2016-06-29 17:51:26 -07:00
Alexandre Bury
ba26ab965b
Don't run example on cargo test
...
Apparently it fails on travis (??)
2016-06-29 17:46:39 -07:00
Alexandre Bury
5751a293e5
Push most ncurses-specific code into separate trait
...
Prepare backend change.
Still not isolated is the color setup in `theme`.
2016-06-29 17:37:51 -07:00
Alexandre Bury
d0d4380d5a
Add menubar example
...
Not working yet, but at least it shows how the API should be used.
2016-06-28 01:13:44 -07:00
Alexandre Bury
d02c30ae9f
Fix clippy warnings
2016-06-27 22:40:11 -07:00
Alexandre Bury
80b219f34a
Apply rustfmt
2016-06-27 22:10:59 -07:00
Alexandre Bury
042e631d9f
Add base for menubar
...
Cursive now has a global menubar, with a `select_menubar()` method.
2016-06-27 21:59:42 -07:00
Alexandre Bury
43230534ff
Add menu tree
2016-06-27 21:55:46 -07:00
Alexandre Bury
34f235daf0
Use UTF-8 drawing characters for printer methods
...
Instead of ncurses chtype.
2016-06-26 15:03:12 -07:00
Alexandre Bury
ed785940dd
Fix typo in doc
2016-06-26 09:45:53 -07:00
Alexandre Bury
8dbb61830f
Added a Resize
event
...
For when the window is resized.
Not exactly a key event, but...
Also (very) partial support for Alt-FX keys.
Obviously most already have a mapping,
but Alt-F9, Alt-F11 and Alt-F12 seem to work.
2016-06-25 19:38:22 -07:00
Alexandre Bury
822ffa7a7b
Fix keyboard input
...
Shift/Ctrl/Alt + special keys (arrow, pageup/down, home/end, ins/del)
are better supported.
2016-06-25 19:28:42 -07:00
Alexandre Bury
58bd274df0
Update Readme & run rustfmt
2016-06-25 16:39:05 -07:00
Alexandre Bury
8d24df5f59
Experiment: use direct utf-8 VLINE char
2016-06-25 15:52:19 -07:00
Alexandre Bury
07c3c99e54
Update for new ncurses version
2016-03-15 15:39:08 -07:00
Alexandre Bury
af47abeaad
Edit view now support content larger than display
...
It then scrolls horizontally
2015-07-30 15:40:03 +02:00
Alexandre Bury
ac85a1f288
Fixed bug with dialog without buttons
2015-07-28 21:54:32 +02:00
Alexandre Bury
36fbc1ce5b
Add some convenient ID methods
2015-07-28 15:57:52 +02:00
Alexandre Bury
25a298a2eb
Fix dialog layout and input
2015-06-08 22:24:59 -07:00
Alexandre Bury
4fff7882aa
Fix focus state in linear layout
2015-06-08 15:47:09 -07:00
Alexandre Bury
df11b4f1f0
Update documentation
2015-06-08 15:38:10 -07:00
Alexandre Bury
daaff26e1c
Add input support to linear layouts
2015-06-08 15:11:44 -07:00
Alexandre Bury
d5a796a4cd
Fix dialog button alignment
2015-06-08 15:11:36 -07:00
Alexandre Bury
40af72a567
BugFix in LinearLayout
...
And add a simple linear example.
2015-06-08 12:23:36 -07:00
Alexandre Bury
df5ff808e3
Basic linear layout implementation
...
Not tested yet
2015-06-07 20:58:10 -07:00
Alexandre Bury
14a18ce760
Add some more input
2015-06-06 22:48:16 -07:00
Alexandre Bury
3a1e40ed49
Add some input support and updated readme
2015-06-06 15:05:01 -07:00
Alexandre Bury
6e4d00127b
Fix theme fallback
...
Now themes correctly use fallback values on TTY
2015-06-05 21:35:42 -07:00
Alexandre Bury
17e44652b8
Fix warning
...
Unused error reported.
2015-06-05 21:13:34 -07:00
Alexandre Bury
e5cb687990
Refactor themes and colors
...
And adds a theme example.
TODO: Shadow & Borders support
2015-06-05 18:26:40 -07:00
Alexandre Bury
cb523e88ae
Fix doc-tests
2015-06-04 11:40:35 -07:00
Alexandre Bury
a77a40558f
Add some doc.
2015-06-03 15:36:51 -07:00