Difference between revisions of "Source Directory Structure"
Jump to navigation
Jump to search
Line 5: | Line 5: | ||
*src | *src | ||
**2geom<sup>†</sup> Geometry (move to library) | **2geom<sup>†</sup>: Geometry (move to library) | ||
**display<sup>†</sup> (Rename 'render'?) | **actions: GActions, SPActions, Verbs (GActions to replace SPActions and Verbs) | ||
*** | **display<sup>†</sup>: (Rename 'render'?) | ||
****filters Render filters | ***drawing: Render SVG (DrawingItem and derived classes) | ||
*** | ****filters: Render filters | ||
*** | ***canvas: UI controls (CanvasItem and derived classes) | ||
***common | |||
**extension<sup>†</sup> | **extension<sup>†</sup> | ||
***dbus<sup>†</sup> | ***dbus<sup>†</sup> | ||
***internal<sup>†</sup> (move to io) | ***internal<sup>†</sup>: (move to io) | ||
***plugins<sup>†</sup> | ***plugins<sup>†</sup> | ||
***etc. | ***etc. | ||
**io<sup>†</sup> Reading/writing files | **io<sup>†</sup>: Reading/writing files | ||
**libraries (move parallel to 'src' | **libraries: (move parallel to 'src', rename 3rd party?) | ||
***libavoid | ***libavoid | ||
***libcola | ***libcola | ||
Line 24: | Line 25: | ||
***potrace | ***potrace | ||
***etc. | ***etc. | ||
**manipulation Manipulation of SVG (divide into generic and UI dependent?) | **manipulation: Manipulation of SVG (divide into generic and UI dependent?) | ||
***chemistry | ***chemistry | ||
***live-effects | ***live-effects | ||
Line 30: | Line 31: | ||
***selection | ***selection | ||
***snap | ***snap | ||
**object<sup>†</sup>: Object tree (e.g. SPRect) | |||
**object<sup>†</sup> Object tree (e.g. SPRect) | ***containers: (e.g. group) | ||
***containers (e.g. group) | ***shapes: (e.g. rect) | ||
***shapes (e.g. rect) | |||
***filters<sup>†</sup> | ***filters<sup>†</sup> | ||
***etc. | ***etc. | ||
**ui<sup>†</sup> | **ui<sup>†</sup> | ||
***cache<sup>†</sup> | ***cache<sup>†</sup> | ||
***dialog<sup>†</sup> Dialogs | ***dialog<sup>†</sup>: Dialogs | ||
***menu Menus | ***menu: Menus | ||
***toolbar Toolbars | ***toolbar: Toolbars | ||
***tool<sup>†</sup> Move to Manipulator | ***tool<sup>†</sup>: Move to Manipulator | ||
***tools Tools | ***tools: Tools | ||
***view<sup>†</sup> ? | ***view<sup>†</sup> ? | ||
***widget<sup>†</sup> | ***widget<sup>†</sup> | ||
****basic: Basic custom widgets (e.g. ink-combobox-entry) | |||
****basic Basic custom widgets (e.g. ink-combobox-entry) | ****composite: Composite widgets (e.g. simple-filter-modifier) | ||
****composite Composite widgets (e.g. simple-filter-modifier) | ****derived: (name?) | ||
****derived (name?) | *****attribute: Widgets that change attributes | ||
*****attribute Widgets that change attributes | *****property: Widgets that change properties | ||
*****property Widgets that change properties | *****preference: Widgets that change preferences | ||
*****preference Widgets that change preferences | ***onscreen: (knots) | ||
***onscreen (knots) | **util<sup>†</sup>: (Merge helper & util) | ||
**util<sup>†</sup> (Merge helper & util) | |||
***numeric | ***numeric | ||
***color | ***color | ||
***svg<sup>†</sup> | ***svg<sup>†</sup> | ||
**xml<sup>†</sup> XML manipulation (Mostly SVG/Inkscape agnostic) | **xml<sup>†</sup>: XML manipulation (Mostly SVG/Inkscape agnostic) | ||
<sup>†</sup> Already exists. | <sup>†</sup> Already exists. | ||
A more radical suggestion: [[Source Directory Structure Screaming Architecture]] | A more radical suggestion: [[Source Directory Structure Screaming Architecture]] |
Revision as of 19:27, 29 March 2018
Proposed directory structure for Inkscape's source code.
- src
- 2geom†: Geometry (move to library)
- actions: GActions, SPActions, Verbs (GActions to replace SPActions and Verbs)
- display†: (Rename 'render'?)
- drawing: Render SVG (DrawingItem and derived classes)
- filters: Render filters
- canvas: UI controls (CanvasItem and derived classes)
- common
- drawing: Render SVG (DrawingItem and derived classes)
- extension†
- dbus†
- internal†: (move to io)
- plugins†
- etc.
- io†: Reading/writing files
- libraries: (move parallel to 'src', rename 3rd party?)
- libavoid
- libcola
- libcroco
- libdepixelize
- potrace
- etc.
- manipulation: Manipulation of SVG (divide into generic and UI dependent?)
- chemistry
- live-effects
- misc
- selection
- snap
- object†: Object tree (e.g. SPRect)
- containers: (e.g. group)
- shapes: (e.g. rect)
- filters†
- etc.
- ui†
- cache†
- dialog†: Dialogs
- menu: Menus
- toolbar: Toolbars
- tool†: Move to Manipulator
- tools: Tools
- view† ?
- widget†
- basic: Basic custom widgets (e.g. ink-combobox-entry)
- composite: Composite widgets (e.g. simple-filter-modifier)
- derived: (name?)
- attribute: Widgets that change attributes
- property: Widgets that change properties
- preference: Widgets that change preferences
- onscreen: (knots)
- util†: (Merge helper & util)
- numeric
- color
- svg†
- xml†: XML manipulation (Mostly SVG/Inkscape agnostic)
† Already exists.
A more radical suggestion: Source Directory Structure Screaming Architecture