Difference between revisions of "GEPS 008: File Organization"

From Gramps
Jump to: navigation, search
Line 4: Line 4:
 
This directory contains the core components of Gramps.
 
This directory contains the core components of Gramps.
  
=== src/gen/db ===
+
=== src/gen/db/ ===
 
The db directory contains the code for manipulating the Gramps database.
 
The db directory contains the code for manipulating the Gramps database.
  
=== src/gen/lib ===
+
=== src/gen/lib/ ===
 
The lib directory contains the classes for the database objects.
 
The lib directory contains the classes for the database objects.
  
Line 13: Line 13:
 
The plug directory contains the core logic for registering and running plugins. It also contains any utility classes used by plugins.
 
The plug directory contains the core logic for registering and running plugins. It also contains any utility classes used by plugins.
  
=== src/gen/filters ===
+
=== src/gen/filters/ ===
 
The filters directory contains the code for filtering objects.
 
The filters directory contains the code for filtering objects.
  
=== src/gen/mime ===
+
=== src/gen/mime/ ===
 
The mime directory contains the code for handling mime types in Gramps.
 
The mime directory contains the code for handling mime types in Gramps.
  

Revision as of 21:50, 21 June 2008

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.

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/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.