2021-10-10 18:52:34 +08:00
|
|
|
Changelog
|
|
|
|
=========
|
2021-09-26 20:48:48 +08:00
|
|
|
|
2022-01-23 00:58:33 +08:00
|
|
|
current (development)
|
|
|
|
---------------------
|
|
|
|
|
2022-02-07 02:17:21 +08:00
|
|
|
#### DOM:
|
|
|
|
- The `inverted` decorator now toggle in the inverted attribute.
|
|
|
|
- Add `gauge` for the 4 directions. Expose the following API:
|
|
|
|
```cpp
|
|
|
|
Element gauge(float ratio);
|
|
|
|
Element gaugeLeft(float ratio);
|
|
|
|
Element gaugeRight(float ratio);
|
|
|
|
Element gaugeUp(float ratio);
|
|
|
|
Element gaugeDown(float ratio);
|
|
|
|
Element gaugeDirection(float ratio, GaugeDirection);
|
|
|
|
```
|
2022-02-13 18:41:31 +08:00
|
|
|
- Add the `automerge` decorator. This makes separator characters to be merged
|
|
|
|
with others nearby.
|
|
|
|
- Fix the `Table` rendering function, to allow automerging characters.
|
2022-02-14 09:44:57 +08:00
|
|
|
- Bugfix: The `vscroll_indicator` now computes its offset and size correctly.
|
2022-02-07 02:17:21 +08:00
|
|
|
|
2022-02-13 18:11:34 +08:00
|
|
|
#### Component
|
|
|
|
- Support SIGTSTP. (ctrl+z).
|
|
|
|
- Support task posting. `ScreenInteractive::Post(Task)`.
|
|
|
|
|
2022-01-23 00:58:33 +08:00
|
|
|
2.0.0
|
|
|
|
-----
|
2021-09-26 21:19:17 +08:00
|
|
|
|
2021-12-12 00:58:25 +08:00
|
|
|
### Features:
|
2021-12-13 04:31:54 +08:00
|
|
|
|
2022-01-22 22:38:01 +08:00
|
|
|
#### Screen
|
|
|
|
- Add the `automerge` to the Pixel bit field. This now controls which pixels are
|
|
|
|
automatically merged.
|
|
|
|
|
2021-12-13 04:31:54 +08:00
|
|
|
#### DOM:
|
2021-12-23 21:17:33 +08:00
|
|
|
- Add the `Canvas` class and `ElementFrom('canvas')` function. Together users of
|
|
|
|
the library can draw using braille and block characters.
|
2021-12-12 00:58:25 +08:00
|
|
|
- Support `flexbox` dom elements. This is build symmetrically to the HTML one.
|
|
|
|
All the following attributes are supported: direction, wrap, justify-content,
|
|
|
|
align-items, align-content, gap
|
|
|
|
- Add the dom elements helper based on `flexbox`:
|
|
|
|
- `paragraph`
|
|
|
|
- `paragraphAlignLeft`
|
|
|
|
- `paragraphAlignCenter`
|
|
|
|
- `paragraphAlignRight`
|
|
|
|
- `paragraphAlignJustify`
|
|
|
|
- Add the helper elements based on `flexbox`: `hflow()`, `vflow()`.
|
2021-12-13 18:38:31 +08:00
|
|
|
- Add: `focusPositionRelative` and `focusPosition`
|
2022-01-16 23:46:32 +08:00
|
|
|
- Add `Table` constructor from 2D vector of Element, instead of string.
|
2021-12-13 18:38:31 +08:00
|
|
|
|
|
|
|
#### Component
|
2022-01-02 22:48:56 +08:00
|
|
|
- Add the `collapsible` component.
|
2022-01-19 20:38:39 +08:00
|
|
|
- Add the `ScreenInteractive::WithRestoredIO`. This decorates a callback. This
|
|
|
|
runs it with the terminal hooks temporarilly uninstalled. This is useful if
|
|
|
|
you want to execute command using directly stdin/stdout/sterr.
|
2021-12-12 00:58:25 +08:00
|
|
|
|
2021-12-13 04:31:54 +08:00
|
|
|
### Bug
|
|
|
|
|
2022-01-22 22:38:01 +08:00
|
|
|
#### Table
|
|
|
|
- The `table` horizontal and vertical separator are now correctly expanded.
|
|
|
|
|
2021-12-13 04:31:54 +08:00
|
|
|
#### Component
|
|
|
|
- `Input` shouldn't take focus when hovered by the mouse.
|
|
|
|
- Modifying `Input`'s during on_enter/on_change event is now working correctly.
|
|
|
|
|
2021-12-12 00:58:25 +08:00
|
|
|
### Breaking changes:
|
|
|
|
- The behavior of `paragraph` has been modified. It now returns en Element,
|
2021-12-13 04:31:54 +08:00
|
|
|
instead of a list of elements.
|
2021-11-07 19:01:17 +08:00
|
|
|
|
2021-10-24 03:13:23 +08:00
|
|
|
0.11.1
|
|
|
|
------
|
2021-10-22 20:04:07 +08:00
|
|
|
|
2021-10-24 03:13:23 +08:00
|
|
|
# Component
|
|
|
|
- Feature: Support for PageUp/PageDown/Home/End buttons.
|
|
|
|
- Bugfix: Check the selected element are within bounds for Dropdown.
|
|
|
|
|
|
|
|
# Build
|
|
|
|
- Bugfix: Package library using the "Release config". Not debug.
|
2021-10-22 20:04:07 +08:00
|
|
|
|
2021-10-17 22:03:18 +08:00
|
|
|
0.11
|
|
|
|
----
|
|
|
|
|
|
|
|
## github workflow
|
|
|
|
- Add Windows ad MacOS artefacts.
|
|
|
|
- Merge all the workflows.
|
|
|
|
|
2021-10-09 17:51:00 +08:00
|
|
|
## Bug
|
|
|
|
- On Unix system, fallback to {80,25} screen dimension on failure.
|
|
|
|
|
2021-10-10 18:52:34 +08:00
|
|
|
## CMake
|
|
|
|
- Support for shared library, via `BUILD_SHARED_LIBS` option.
|
|
|
|
- Add library version and symlinks.
|
|
|
|
|
|
|
|
0.10 (2021-09-30)
|
|
|
|
--------------------
|
2021-10-01 03:13:16 +08:00
|
|
|
|
|
|
|
## Bug
|
|
|
|
- Fix the automated merge of borders.
|
|
|
|
|
2021-09-26 21:19:17 +08:00
|
|
|
### Dom
|
2021-10-16 05:04:11 +08:00
|
|
|
- `Table()` class to build stylised table.
|
|
|
|
See https://github.com/ArthurSonzogni/FTXUI/discussions/228
|
|
|
|
- `vscroll_indicator`. Show a scrollbar indicator on the right.
|
|
|
|
- `separatorEmpty`. A separator drawing nothing.
|
|
|
|
- `separatorFixed`. A separator drawing the provided character.
|
2021-09-26 21:19:17 +08:00
|
|
|
|
|
|
|
### Component
|
2021-10-16 05:04:11 +08:00
|
|
|
- `Maybe`: Display an component conditionnally based on a boolean.
|
|
|
|
- `Dropdown`: A dropdown select list.
|
2021-09-26 21:19:17 +08:00
|
|
|
|
2021-10-10 18:52:34 +08:00
|
|
|
0.9 (2021-09-26)
|
|
|
|
----------------
|
2021-09-26 20:48:48 +08:00
|
|
|
|
|
|
|
The initial release where changelog where written.
|
|
|
|
|
|
|
|
This version includes:
|
|
|
|
|
|
|
|
### screen
|
|
|
|
- Style:
|
|
|
|
- Bold.
|
|
|
|
- Blink.
|
|
|
|
- Dim.
|
|
|
|
- Inverted.
|
|
|
|
- Underlined.
|
|
|
|
- Foreground color.
|
|
|
|
- Background color.
|
|
|
|
- Support for UTF8 unicode.
|
|
|
|
- Full wide character: 测试.
|
|
|
|
- Combining characters: a⃒
|
|
|
|
- A Stencil buffer.
|
|
|
|
- Automatically merge box drawing characters.
|
|
|
|
- Detect terminal dimension.
|
|
|
|
|
|
|
|
### DOM
|
|
|
|
|
|
|
|
- Element:
|
|
|
|
- `text` & `vtext`
|
|
|
|
- `separator` and 5 variations.
|
|
|
|
- `gauge`
|
|
|
|
- `border` and 6 variations.
|
|
|
|
- `window`
|
|
|
|
- `spinner`
|
|
|
|
- `paragraph` and `hflow`.
|
|
|
|
|
|
|
|
- Layout:
|
|
|
|
- `hbox`
|
|
|
|
- `vbox`
|
|
|
|
- `dbox`
|
|
|
|
- `gridbox`
|
|
|
|
- `frame`: Drawing inside a virtual area, potentially larger than the real
|
|
|
|
one.
|
|
|
|
- `focus`, `select`: scroll the inner view of a frame, to be in view.
|
|
|
|
- `flex` & 8 variations. `filler`
|
|
|
|
|
|
|
|
- Decorators:
|
|
|
|
- `bold`
|
|
|
|
- `dim`
|
|
|
|
- `inverted`
|
|
|
|
- `blink`
|
|
|
|
- `color`
|
|
|
|
- `bgcolor`
|
|
|
|
- `clearunder`
|
|
|
|
|
|
|
|
### Component
|
|
|
|
|
|
|
|
- Container:
|
|
|
|
- `Container::Vertical`
|
|
|
|
- `Container::Horizontal`
|
|
|
|
- `Container::Tab`
|
|
|
|
- `Button`
|
|
|
|
- `Checkbox`
|
|
|
|
- `Input`
|
|
|
|
- `Menu`
|
|
|
|
- `MenuEntry`
|
|
|
|
- `Radiobox`
|
|
|
|
- `Toggle`
|
|
|
|
- `Slider`
|
|
|
|
- `Renderer` & variations
|
|
|
|
- `CatchEvent`
|
|
|
|
|
|
|
|
### MISC
|
|
|
|
|
|
|
|
- Fuzzer
|
|
|
|
- Tests using gtest.
|
|
|
|
- Doxygen documentation
|
|
|
|
- IWYU
|
|
|
|
- 52 examples.
|
|
|
|
- Support for WebAssembly.
|
|
|
|
- Support for Window and fallback for broken terminal.
|