Common Components
While it can be said that what makes CuneiFox an ccounting system at all lies in the inner workings, calculations, and databases belonging to each modules, end-users rarely interact with those elements directly. On the contrary, users deal with interface elements like forms, tables, and popup windows all the time. The ability to reuse and refine these common elements is an immense timesaver that allows developers to focus on other crucial parts of the software.
The inner working of these common elements can be highly interdependent and delicate. Take a deep breath, these are the holiest (as well as the heaviest) reads in the entire shrine.
Elements of concern
This hub concerns object types found in BaseObjects.py file, their frontend applications (along with the corresponding javascripts), along with a few related frontend-only components, namely:
- ThreadSafeDatabaseMetadata: How CuneiFox opens different database files for different requests.
- CuneiModel: How data are stored in a database file.
- CuneiForm / CuneiSubForm: How data is displayed on a per-entry basis how user input data, and how user input is verified.
- CuneiTable: How many data entries are displayed in a table format and how in-line data manipulation is achieved.
- CuneiModal: How CuneiFox creates pop-up windows for search tables and expanded forms.
- Multi-component page: How developers can link several forms, tables, and modals into a coherent workflow on a page.