GEPS 008: File Organization
The purpose of this page is to facilitate a discussion on the organization of the source files for Gramps. The following suggestion represents a possible future organization for the source files:
Contents
src/gen/
This directory contains the core components of Gramps.
src/gen/db
The db directory contains the code for manipulating the Gramps database.
src/gen/lib
The lib directory contains the classes for the database objects.
src/gen/filters
The filters directory contains the code for filtering objects.
src/gen/mime
The mime directory contains the code for handling mime types in Gramps.
src/gui/
This directory contains the code for the desktop graphical user interface. Any file that imports GTK or glade should live in this directory or a subdirectory of this directory.
src/gui/views/
This directory contains the code for the various graphical "views" in the GUI.
src/gui/models/
This directory contains the code for the models used in the GUI.
src/gui/tabs/
This directory contains the code for the tabs used in the GUI.
src/gui/editors/
This directory contains the code for the object editors used in the GUI.
src/gui/merge/
This directory contains the code for merging objects in the GUI.
src/cli/
This directory contains the code for the command line interface.
src/plugins/
This directory contains all the plugins for Gramps.
src/plugins/docgen/
This directory contains all the document generator plugins.
src/plugins/gramplet/
This directory contains all the gramplet plugins.
src/plugins/tool/
This directory contains all the tool plugins.
src/plugins/report/
This directory contains all the report plugins.