Difference between revisions of "GEPS 008: File Organization"
m (F) |
(add src/web/) |
||
Line 2: | Line 2: | ||
== src/gen/ == | == src/gen/ == | ||
− | This directory contains the core components of Gramps. | + | This directory contains the core components of Gramps. The src/gen/ directory shall not have any dependencies on the other top level source directories (src/gui/, src/cli/, src/web/, etc). The src/gen/ directory also shall not have any dependencies on the gtl library. |
=== src/gen/db/ === | === src/gen/db/ === | ||
Line 45: | Line 45: | ||
== src/cli/ == | == src/cli/ == | ||
This directory contains the code for the command line interface. | This directory contains the code for the command line interface. | ||
+ | |||
+ | == src/web/ == | ||
+ | This directory contains the code for the gramps-connect web interface. | ||
== src/plugins/ == | == src/plugins/ == |
Revision as of 04:20, 13 December 2009
The purpose of this page is to facilitate a discussion on the organization of the source files for Gramps. All code should reside in one of the four main subdirectories.
src/gen/
This directory contains the core components of Gramps. The src/gen/ directory shall not have any dependencies on the other top level source directories (src/gui/, src/cli/, src/web/, etc). The src/gen/ directory also shall not have any dependencies on the gtl library.
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/plug/
The plug directory contains the core logic for registering and running plugins. It also contains any utility classes used by plugins.
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/selectors/
This directory contains the code for the object selection dialogs in the GUI.
src/gui/merge/
This directory contains the code for merging objects in the GUI.
src/gui/widgets/
This directory contains widgets used by the GUI
src/cli/
This directory contains the code for the command line interface.
src/web/
This directory contains the code for the gramps-connect web 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.