Difference between revisions of "GEPS 008: File Organization"

From Gramps
Jump to: navigation, search
(add src/web/)
(Updates to src/gui organization after comments from Benny.)
Line 25: Line 25:
 
This directory contains the code for the various graphical "views" in the GUI.
 
This directory contains the code for the various graphical "views" in the GUI.
  
=== src/gui/models/ ===
+
=== src/gui/views/treemodels/ ===
 
This directory contains the code for the models used in the GUI.
 
This directory contains the code for the models used in the GUI.
  
=== src/gui/tabs/ ===
+
=== src/gui/views/selectors/ ===
 +
This directory contains the code for the object selection dialogs in the GUI.
 +
 
 +
=== src/gui/displaytabs/ ===
 
This directory contains the code for the tabs used in the GUI.
 
This directory contains the code for the tabs used in the GUI.
  
 
=== src/gui/editors/ ===
 
=== src/gui/editors/ ===
 
This directory contains the code for the object editors used in the GUI.
 
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/ ===
 
=== src/gui/merge/ ===

Revision as of 20:44, 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/views/treemodels/

This directory contains the code for the models used in the GUI.

src/gui/views/selectors/

This directory contains the code for the object selection dialogs in the GUI.

src/gui/displaytabs/

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