So the LVGL UI Creator is coming along really well, and I do believe this will end up being a world class UI designer.
My intent for this project was for it to be for the community, not just for me. That being said, I have about 1000 features I want to put into it eventually, and only two hand for typing. So if anyone is interested in getting involved, I would love it.
@rohmer I would like to help, but first i would like to see (maybe in a video) what do you have so far. At work I’m using pyside2 (Qt based) for some applications to ease my development but I’m not an expert on UI design. Maybe the 1000 features can be classified according to the difficulty of implementation?
@embeddedt Maybe considering using Qt is worth it.
Ok, well a lot of the features are essentially continuation of others.
For example, every widget needs the following items:
Serialization (To and From JSON). This is easy, just a lot of typing.
Object specific properties, like for example an Arc:
The good news is:
A lot of the controls are written. For the above example, that is a CollapsableWindow, which has a container. So you just put your objects in that and everything is taken care of.
All of the property types (int, string, bool, etc) are also taken care of. You just have to add a couple of items to the user data (Like JSON path of the property)
So it is just a lot of typing and making things look pretty and testing.
A few fun features (Ones I am looking forward to doing):
JSON Optimization
A. Currently the json stores all of the styles for example for each object.
B. The optimization step needs to find all of the styles and make a map, so that each object just does a lookup on the modified styles, as opposed to having copies. This is fairly easy, as I currently have a std::map of styles that are in the screen.
C. Optimization should also remove any values that are defaults.
JSON to C
A. This one will be fun too. If the optimization step is complete, all that needs to be done is essentially write out code snippets from the json.
B. This will be interesting as it will provide a lot of opportunity for optimization of code (For size and or speed)
JSON to C++
A. Same as A, with classes and the stl library
CMake supported. I have an issue in the FileBrowser widget. Need to get it working for Linux (It works for Windows, but in linux I have the wrong includes)