Sub-Boards

Board Threads Posts Last Post
No New Posts treebard_root_*.py

Double-click this file name in your Windows file explorer to run Treebard. First install Python 3.11 and pip install Pillow. Install the SQLite terminal tool. All of which my grannie could do. There's no excuse for not giving yourself the Treebard experience.

1 1 treebard_root_*.py
by Uncle Buddy
Nov 25, 2022 18:35:13 GMT -8
No New Posts assertions.py

This module handles creating new sources, citations, and assertions.

1 1 assertions.py
by Uncle Buddy
Nov 25, 2022 2:45:54 GMT -8
No New Posts base.py

This module gets the ball rolling by defining paths and by creating a configuration file with default values if it doesn't exist. Manually deleting config.txt is Step 1 of three steps to cleaning up after creating a bunch of test trees during development. Step 2 is to manually delete the folders that the trees' *.tbd file and the trees' images directories are in. Step 3 is to open tbard.db in the SQLite command line interface and delete rows referencing the deleted trees from tbard.db's `family_tree` table.

1 1 base.py
by Uncle Buddy
Jul 24, 2024 21:57:31 GMT -8
No New Posts dates.py - 1 Viewing

This module takes care of letting the user choose date display formats, storing and editing dates, and there's a class that populates the Preferences > Dates tab with controls.

1 1 dates.py
by Uncle Buddy
Nov 25, 2022 2:58:02 GMT -8
No New Posts dev_tools.py - 1 Viewing

Provides the Treebard developer with 1) a printing tool that lets the dev make print statements that include line numbers and descriptive strings, without extra typing, and 2) an easy way to make timestamped copies of any Python file when things are going well, in case the dev should want to roll back to this version.

1 1 dev_tools.py
by Uncle Buddy
Nov 25, 2022 2:59:48 GMT -8
No New Posts do_list.py

This is a class that displays controls on the little TabBook where the person image gallery is opened, on the right side of the person tab. The user can record, prioritize, and delete to-do list items.

1 1 do_list.py
by Uncle Buddy
Nov 25, 2022 3:02:07 GMT -8
No New Posts element_types.py

This module houses the TypesTab class where the user can create his own event types, name types, place types, kin types, etc.

1 1 element_types.py
by Uncle Buddy
Jul 25, 2024 15:21:37 GMT -8
No New Posts events_table.py - 1 Viewing

This module creates the conclusions table on the persons tab, which displays the user's conclusions about events and attributes linked to the current person.

1 1 events_table.py
by Uncle Buddy
Nov 25, 2022 3:09:49 GMT -8
No New Posts families.py

This module populates the nuclear families table on the person tab above the conclusions table. This table shows all the current person's partner, parents, adoptive parents, and children, all at once. No clicking around to see who someone was, it all shows at once.

1 1 families.py
by Uncle Buddy
Nov 25, 2022 3:06:48 GMT -8
No New Posts gallery.py

This module creates a dialog which can display images in image galleries linked to a current person, current place or current source.

1 1 gallery.py
by Uncle Buddy
Nov 25, 2022 3:11:34 GMT -8
No New Posts gedcom_constants.py

Functions, constants, and queries used by GEDCOM import and export programs.

1 1 gedcom_constants.py
by Uncle Buddy
Dec 25, 2023 23:43:24 GMT -8
No New Posts gedcom_export.py - 1 Viewing

This module translates from the UNIGEDS model to the GEDCOM substandard.

1 1 gedcom_export.py
by Uncle Buddy
Dec 25, 2023 23:45:16 GMT -8
No New Posts gedcom_import.py

This module skims usable data from a GEDCOM file and upgrades it to UNIGEDS' standards, and when that is impossible or makes me cry, it reports the data in an exceptions log.

1 1 gedcom_import.py
by Uncle Buddy
Dec 25, 2023 23:47:18 GMT -8
No New Posts graphics.py

This module will allow the user to perform simple modifications to images such as resizing, cropping, adding borders and text, or to link text captions to an image for displaying in image galleries.

1 1 graphics.py
by Uncle Buddy
Nov 25, 2022 3:15:17 GMT -8
No New Posts main.py

This module initializes display of specific parts of the Treebard interface.

1 1 main.py
by Uncle Buddy
Nov 25, 2022 3:51:09 GMT -8
No New Posts media.py

Adding, deleting, and editing images and other media to the app. Default image options.

1 1 media.py
by Uncle Buddy
Dec 25, 2023 23:58:18 GMT -8
No New Posts messages.py

These are strings imported to the various modules where error messages are used.

1 1 messages.py
by Uncle Buddy
Nov 25, 2022 3:53:00 GMT -8
No New Posts messages_context_help.py

These are strings used to populate the right-click context-sensitive help dialogs.

1 1 messages_context_help.py
by Uncle Buddy
Nov 25, 2022 3:58:31 GMT -8
No New Posts new_tree.py - 1 Viewing

The unigeds.db which stores the UNIGEDS schema no longer stores any data, it's completely empty, just a collection of table schemas. This new_tree.py module stores the data that Treebard inserts to start a brand new tree from a copy of unigeds.db.

1 1 new_tree.py
by Uncle Buddy
Dec 26, 2023 0:09:17 GMT -8
No New Posts notes.py

This module contains a class that opens Treebard's notes dialog, where the user can create, delete, link, search and edit notes. In Treebard, any note can be linked to any number of elements instead of the user's having to copy and paste notes that have to be repeated from element to element.

1 1 notes.py
by Uncle Buddy
Nov 25, 2022 3:54:58 GMT -8
No New Posts opening.py

This module includes classes for the main treebard app and can open multiple trees at once.

1 1 opening.py
by Uncle Buddy
Nov 25, 2022 4:00:33 GMT -8
No New Posts person_maker.py

This tool works on its own but can be opened from within the Treebard GUI. As developer, I use it to generate fictional names, birth dates and death dates when adding people to the tree for testing purposes. This simple tool is the only thing that prevents me from creating tree people with names like "Fardwick Pleabargain Cheesebottom IV".

1 1 person_maker.py
by Uncle Buddy
Nov 25, 2022 4:03:40 GMT -8
No New Posts persons.py - 1 Viewing

This module takes care of sorting through a person's various names and appellations as well as letting the user create and delete people while also being able to add and even resize images to persons as they are being added to the tree.

1 1 persons.py
by Uncle Buddy
Nov 25, 2022 17:46:51 GMT -8
No New Posts places.py

This module lets the user create places and place names. It has a class that populates the new and duplicate places dialog which gives the user a chance to make places with the same name without having them be the same place. Nested places are taken care of, such as "Paris, France" vs. "Paris, Texas" so they are two completely unconfusable different places in every way. Also, Treebard allows multiple different enclosing places--e.g. "United States" and "Republic of Texas"--to be Dallas' parent place without creating two different Dallases.

1 1 places.py
by Uncle Buddy
Nov 25, 2022 17:55:54 GMT -8
No New Posts redraw.py

This module provides redraw functions for the GUI and its main parts so that when the user changes something, the new information will display instantly.

1 1 redraw.py
by Uncle Buddy
Dec 26, 2023 0:29:54 GMT -8
No New Posts roles.py

In addition to tracking related people, Treebard lets the user add unrelated people to the database along with the role they played in family events such as "flower girl", "arresting officer" or "neighbor". These folks are treated exactly like anyone else in the tree, which will come in handy when Doris next door turns out to be AUNT Doris.

1 1 roles.py
by Uncle Buddy
Nov 25, 2022 18:04:30 GMT -8
No New Posts search.py

This class has been used to create a person search dialog and can be modeled to create search tools for other elements also. All columns are sortable by clicking the column header. Currently searching finds any part of any name after the user types three or more characters.

1 1 search.py
by Uncle Buddy
Nov 25, 2022 18:08:48 GMT -8
No New Posts setup-py

This is a file that is used by CXFreeze to create an .exe from the Treebard code base. I first tried PyInstaller but one person said the resulting .exe didn't work. I switched to CXFreeze because their documentation is less frightening and CXFreeze has a very good reputation. This setup.py tool is a simple Python file that I can edit myself. I got the CXFreeze .exe to work on various computers by adding conditional code to Treebard that creates two sets of paths: one if the main script being run has an .exe extension and one if the script has a .py extension.

1 1 setup.py
by Uncle Buddy
Jul 24, 2024 22:22:41 GMT -8
No New Posts sources.py

This module has a class that's used to create the sources tab, where sources and citations can be created and edited without linking them to anything, so that they will be available when needed. Sources and citations can also be created when needed, in the assertions tab. Repositories can be created as source notes in the sources tab.

1 1 sources.py
by Uncle Buddy
Jul 24, 2024 22:24:58 GMT -8
No New Posts unigeds_queries.py

SQLite queries are imported from here so the Python code will be more readable. Only queries relating to unigeds.db are kept here.

1 1 unigeds_queries.py
by Uncle Buddy
Nov 25, 2022 17:58:38 GMT -8
No New Posts user_formats.py

This module enables the user to change color schemes app-wide instantly without restarting the app, and includes the Colorizer class which displays the color scheme controls in the Preferences > Colors tab. Your favorite color schemes can be made a named theme. You can create your own color schemes in seconds. Another class allows the user to change font family and font size instantly. A preview area lets the user see what the font will look like before applying the font change.

1 1 user_formats.py
by Uncle Buddy
Nov 25, 2022 2:55:48 GMT -8
No New Posts widgets.py

Treebard uses custom widgets that can be detected by sub-class so that color schemes can be instantly changed app-wide without restarting the app. This feature's various reincarnations have landed us in the just-put-it-all-in-the-same-module zone, so this is a big file.

1 1 widgets.py
by Uncle Buddy
Nov 25, 2022 18:17:00 GMT -8

Board Information & Statistics

Board Description
python-modules
Copy and paste this code into the official Treebard file structure (see treebard.com/repo.html) with the official designated Treebard file names and you're good to go. Each file's correct name and path, as well as its last-changed date, will be found at the top of that file.
Board Statistics
Threads and Posts
Total Threads:32
Total Posts:32
Members
On This Board
You cannot create threads.
You cannot reply to threads.
You cannot create polls.
Members Online
Users Viewing
0 Staff, 0 Members, 1 Guest.