In the last week, I was working on implementing “Open” feature for Kivy Designer. User can open a “.kv” file and following things will happen:
Kivy Designer will automatically detect and import py files required.
It will detect all the custom widgets declared and will show them inside “Custom” in Toolbox.
Root widget will be automatically detected and loaded, if it can’t be detected then user will be asked to select the root widget class from the custom classes.
The file where App class has been declared will be detected automatically.
All this is a heavy work, so Kivy Designer will store all the work in a “kvproj” file inside the “.kv” file directory. When this project is again loaded Kivy Designer, will first run a few test based on the modified time of project folder and its files to decide it should load information from “kvproj” file or do its normal procedure. This will greatly enhance the speed of Kivy Designer.
tito one of the Kivy core developers suggested using a Sandbox Widget. All the operations of adding, deleting Widgets and loading “.kv” file will be done under Sandbox Widget. This will ensure Sandbox widget to catch the error instead of crashing the Kivy Designer.
I hope “Open” will be implemented with in this week.