Hi, On 28.09.2017 07:11, Kolya Kosenko via Boost wrote:
Hello,
Here is my C++ GUI library based on Boost, it - is cross-platform - uses native system-provided widgets
what widgets do you consider "system-provided" ? What backends do you bind to on the different platforms, and can those bindings be changed ?
- has STL-like and Boost-like API - compatible with other Boost libraries
What does that mean ?
- supports modern C++11/14/17 features
Currently supported modules: - Graphics - Widgets * Command widgets * Data input-output widgets + Date and time pickers + Strings container widgets + Text widgets * Informational widgets + Logging * Containers + Alerts + Notifications + Prompts - Layouts - Events - Audio - Coordinates - Localization - Thread support - Helpers
Documentation (and "Hello, World!" application source code): https://kosenko.github.io/boost.ui/
I'd be interested in some high-level documentation explaining the basic programming and execution model of the API. For example, how are events handled and how are they bound to particular actions ? Are programs inherently multi-threaded or single-threaded (e.g., does the main event loop run in its own thread) ? Is your library mostly just a (thin) layer over existing platform-specific GUI libraries, or does it reimplement a lot of the logic itself ? (And what is that cryptic "ui_main()" function ? :-) )
Source code: https://github.com/kosenko/ui
Beman's challenge: https://github.com/kosenko/ui/blob/master/example/cpp11/beman.cpp
Re-implemented GUI examples from Bjarne Stroustrup's book: https://github.com/kosenko/ui/blob/master/example/cpp11/stroustrup.cpp
Other examples: https://github.com/kosenko/ui/tree/master/example
What do you think?
Regards, Kolya Kosenko.
Thanks, Stefan -- ...ich hab' noch einen Koffer in Berlin...