Neck deep in Chapter 3 of Treebard development
May 7, 2024 1:02:39 GMT -8
Post by Uncle Buddy on May 7, 2024 1:02:39 GMT -8
The blank family tree database `default_family_tree.db`, which is copied to create a new family tree, has been renamed `unigeds.db`. Besides redefining UNIGEDS as the storage facility for only primary genealogy data, and creating a secondary storage facility by using .txt files to store accessory data, I've been busy with several other big projects.
One forum member found the downloaded .exe didn't work for him so I started over with an exe-maker called cx_Freeze instead of fiddling around with Pyinstaller. I finally decided I should be providing two sets of paths in Treebard: one to use if the main script is a Python file, and one to use if the main script is an .exe file. My video on how I used Pyinstaller got literally 20 times more views than my other videos, but I'm going to replace it with a video on how I used cx_Freeze to make the .exe. I like cx_Freeze much better and it has a better reputation for producing EXEs that work from machine to machine. Using cx_Freeze seems like a more transparent process, I feel I have more control but without tons of options that I don't want to know anything about. The documentation is easier to read and understand.
The fields in Treebard's events table have been replaced with one-step-edit multi-line input fields. No more double-clicking to open an editable overlay widget. The Event and Place columns are still autofills, but they now use my new multi-line autofill input widget.
The new colorizer continues to be the best, fastest and simplest version ever. I've been on this project nearly six years, and this theme changer has been rewritten at least six to eight times.
I got rid of the dual-font system. There's no more "input font" and "output font". It looks fine and the user can once again display any font on his system in Treebard.
The kin tips were rewritten from scratch with much simpler code and now work perfectly. This is a feature in the Events column of the Events row. When the user points at a multi-person event type, the other participants are shown. Pointing at an offspring event displays the child's name. Pointing at a couple event displays the partner's name. Pointing at a parentage event such as birth or adoption displays the parents' names. This feature keeps the events table simple by correlating what's already in the families table instead of showing the same data permanently in the events table.
Big news: I got rid of all that flashing that was happening when the person tab had to be redrawn after an edit or when changing the current person. It was so easy to fix, in the end, but that's not the big news. I solved the flashing problem by putting up a plain screen to block the flashing widgets from sight until they were fully drawn. The big news was a big surprise. Since Python no longer has to do the work of displaying widgets while they're being created and formatted, it's now literally three or four times faster to change the current person. Instead of 3.5 seconds, it's less than a second.
Many other small fixes and changes have been accomplished. I'll post again when the new .exe and .zip for the source code become available.
One forum member found the downloaded .exe didn't work for him so I started over with an exe-maker called cx_Freeze instead of fiddling around with Pyinstaller. I finally decided I should be providing two sets of paths in Treebard: one to use if the main script is a Python file, and one to use if the main script is an .exe file. My video on how I used Pyinstaller got literally 20 times more views than my other videos, but I'm going to replace it with a video on how I used cx_Freeze to make the .exe. I like cx_Freeze much better and it has a better reputation for producing EXEs that work from machine to machine. Using cx_Freeze seems like a more transparent process, I feel I have more control but without tons of options that I don't want to know anything about. The documentation is easier to read and understand.
The fields in Treebard's events table have been replaced with one-step-edit multi-line input fields. No more double-clicking to open an editable overlay widget. The Event and Place columns are still autofills, but they now use my new multi-line autofill input widget.
The new colorizer continues to be the best, fastest and simplest version ever. I've been on this project nearly six years, and this theme changer has been rewritten at least six to eight times.
I got rid of the dual-font system. There's no more "input font" and "output font". It looks fine and the user can once again display any font on his system in Treebard.
The kin tips were rewritten from scratch with much simpler code and now work perfectly. This is a feature in the Events column of the Events row. When the user points at a multi-person event type, the other participants are shown. Pointing at an offspring event displays the child's name. Pointing at a couple event displays the partner's name. Pointing at a parentage event such as birth or adoption displays the parents' names. This feature keeps the events table simple by correlating what's already in the families table instead of showing the same data permanently in the events table.
Big news: I got rid of all that flashing that was happening when the person tab had to be redrawn after an edit or when changing the current person. It was so easy to fix, in the end, but that's not the big news. I solved the flashing problem by putting up a plain screen to block the flashing widgets from sight until they were fully drawn. The big news was a big surprise. Since Python no longer has to do the work of displaying widgets while they're being created and formatted, it's now literally three or four times faster to change the current person. Instead of 3.5 seconds, it's less than a second.
Many other small fixes and changes have been accomplished. I'll post again when the new .exe and .zip for the source code become available.