As some of you know, I am (trying) to develop an interface between Julia and NCurses in the package TextUserInterfaces.jl. Today, I think I hit a major milestone!
I have rewritten everything so that we can work with widgets more or less like we do in Qt and GTK. It is now somewhat more easy to develop things like labels, inputs, progress bars, push buttons, radio buttons, etc. I also created a new positioning system, based on anchors. Thus, you can add widgets with position and size based on other widgets or windows. There is also a focus manager so that you just add widgets and let the manager take care which one is in focus at each time.
I could also create a (bad) translator between ANSI color sequences and NCurses color system (if anyone has a good alternative that do this, please, let me know!). This allowed me to use Julia functions that prints with colors and add them to NCurses like this:
The last thing was the auto-resizing algorithm when the terminal is resized. This is still needs improvements, but we have an initial working version:
Well, that’s it for now I hope I can reach a usable milestone soon to call this package beta.