Releases: sjaehn/BWidgets
Releases · sjaehn/BWidgets
1.6.2 - 2023-06-30
1.6.0 - 2023-06-28
What's new:
- Merge 1.5.0 - 1.5.3, in brief:
- Add
BDevices::Keys
constructor by key code - Fix
BDevices::Keys::KeyType
based onuint32_t
- Add static converters for
BDevices::Keys::KeyType
and key code
(uint32_t
) - Implement emit key events to widgets which grabbed selected keys
- Add the flag
entered_
to mark entered widgets - Add substeps to
BWidgets::ValidatableRange
- Implement substep scrolling and dragging if shift key pressed in (image-)
dial, scale, scrollbar widgets, and pads - Add keyboard control (cursor keys, +/-) to dials, sliders, scrollbars, pad,
and pattern - Update documentation
- Add
1.4.0 - 2023-06-20
What's new:
- Merge 1.3.0 - 1.3.2, in brief:
- Move event queue from
BWidgets::Windows
toBWidgets::EventQueueable
,
inherit inBWidgets::Windows
- Make
BWidgets::Messagable
andBWidgets::Closeable
header only - Add
BEvents::Event::EventType::all
- Enable uint16_t for
BDevices::Keys::KeyType
- Add
BDevices::Keys::KeyType::enter
- Add class
BWidgets::Activatable
for user driven widget status change - Add class
BWidgets::Enterable
for entering a widget - Add class
BWidgets::Navigatable
to navigate between child widgets - Add hot keys and methods to
BWidgets::Enterable
- Add enter by hot key method in
BWidgets::Navigatable
- Implement
BWidgets::Activatable
,BWidgets::Enterable
, and / or
BWidgets::Navigatable
inBWidgets::FileChooser
,
BWidgets::SampleChooser
,BWidgets::EditLabel
,BWidgets::SpinBox
,
BWidgets::ListBox
,BWidgets::ComboBox
,BWidgets::Box
and
BWidgets::Button
- Fix prevent twice addition of events to the event loop
- Fix issue #6 by always updating child widgets in
BWidgets::Box
- Update documentation
- Move event queue from
1.2.2 - 2023-06-02
What's new:
- Fix incorrectly displayed meter values due to floating point operations
- Animate meters in draws and valuepositions demo
1.2.0 - 2023-06-02
What's new:
- Merge 1.1.0 - 1.1.3, in brief:
- Add default and parametrized constructors to
BWidgets::Support
- Add class
BWidgets::ValueVisualizable
- Add parametrized overrides of
getExtends()
,getWidth()
, andgetHeight()
inBWidgets::Label
to get Widget extends for a not yet applied text string - Implement
BWidgets::ValueVisualizable::ValuePosition
in ValueDials, ValueMeters, and ValueSliders (Note: Minor changes in widget element positioning (esp. inBWidgets::ValueHSlider
) to become more consistent) - Add definitions
BWIDGETS_DEFAULT_XXX_XSPACING
andBWIDGETS_DEFAULT_XXX_YSPACING
for spacing between label and dial/meter/slider. - Add drawing sets color parameters
- Add drawing sets bar size paramters
- Add drawing sets Lolly and Flow
- Add functional focus text
- Add
Widget::setFocusText()
andWidget::getFocusText()
- Fix
drawPad()
call inPad<T>::draw()
- Fix implementation of
BWIDGETS_DEFAULT_SLIDER_BAR_REL_SIZE
(now only applies on Sliders; now matches withBWIDGETS_DEFAULT_SLIDER_KNOB_REL_SIZE
) - Fix warnings unused variables fgColor and bgColor
- Add value position demo
- Update documentation
- Add default and parametrized constructors to
1.0.0 - 2023-05-22
First release.
Features provided
- Widgets
- Basic container widgets (
Widget
,Window
,Frame
, ...) - Text widgets (
Label
,Text
, ...) - Button and switch widgets
- Choice box widgets (
SpinBox
,ListBox
,ComboBox
, ...) - Meter widgets
- Sliders and dial widgets
- Pad widgets
- Pattern widget
- Piano roll widget
- Image-based widgets
- Dialog widgets (
Box
,TextBox
,MessageBox
, ...) - File selection dialog widgets (
FileChooser
,SampleChooser
)
- Basic container widgets (
- Styles
- Types (
Color
,ColorMap
,Line
,Border
, ...) - Forward and update styles to child widgets with matching URID (see
below) - Use themes
- Types (
- Devices
- Keyboard support
- Mouse support
- Take control (grab) or release control (free) over devices
- Implement to support dragging, clicking, enter text
- Events
- Base events (expose, close, ...)
- Mouse / Pointer events (press, release, click, drag, move, scroll, focus)
- Keyboard events
- Value change events
- Custom message events
- Handle events in main Window
- Enable events in widgets using interface classes (Supports)
- Widget functionality
- Container functionality by supporting
Linkable
- Visualization by supporting
Visualizable
- Event handling in the main Window
- Control of event handling by supporting
EventMergeable
and
EventPassable
- User interaction by supporting
Clickable
,Draggable
,PointerFocusable
,
Toggleable
,Scrollable
andKeyPressable
- Generic control over widget values using
Valueable
- Additional messages by supporting
Messageable
- Widget visibility control by supporting
Closeable
- Enable re-definition of widget default sizes at compile time
(BWIDGETS_DEFAULT_XXX_WIDTH
andBWIDGETS_DEFAULT_XXX_HEIGHT
) - Define substitutable widget elemet drawing sets at compile time
(draws) - Optimize widget size using
resize()
- Show default hover text (widget title, if set) by supporting
PointerFocusable
- Layers visualization and event handling
- Scale (zoom) main Window and linked child widgets
- Reversed Valueable widgets by
setStep()
with negative values - Transfer functions to transfer values from an external context to an
internal context.
- Container functionality by supporting
- URID
- Static URID management: Link URIs to their respective ID
- Assign URIDs to styles, widgets, ...
- Dictionary
- Static management of terms and translations
- Default dictionary for common UI dialogs
- Dictionary replacable at compile time
- Add terms and translations at runtime
- Optional fallback to installed third party dictionaries (e. g., GTK)
- Shortcut macros (
BURID
,BDICT
, ...) - Doxygen documentation