Open main menu

Hacking:Source Tree

This page describes how the Seamly2D source is organized - it will describe what's inside each directory of Seamly2D, and should help you navigate your way through the source.

Contents

Root directory

The main directory of the project. Open file Seamly2D.pro in Qt Creator for begin work the the code. File ChangeLog.txt contains current changelog state. Don't forget before each pull request to add your changes to this file.

dist

Contains scripts and files for building deb, rpm, ebuild, MacOS and Windows install packages.

scripts

Contains several useful scripts we often use for automate our doings.

share

Contains translation files. The directory mostly used for storing files related to the project, but not need for building. Such files can be svg versions of images, some important documents, special templates.

src

Contains the all source code of Seamly2D.

app

Contains the source code of Seamly2D's binaries.

app/share

Look at this directory if you seek collection of files we use for unit testing and measurement files we deploy with the application.

app/tape

The source code of Seamly2D's measurement editor.

app/seamly2D

The source code of Seamly2D's main binary.

libs

Contains the all source code of related to Seamly2D libraries.

libs/ifc

The Ifc library used for converting old pattern/measurement format to new version.

libs/qmuparser

The math parser library. Used for evaluating formulas, parsing formulas and translation measurement names.

libs/vdxf

The VDxf library used for export a layout to dxf format.

libs/vformat

Contains class for managing measurements.

libs/vgeometry

Contains classes for working with geometric objects: arc, curve, point, etc.

libs/vlayout

The library for generating a layout.

libs/vmisc

The library that contains common classes.

libs/vobj

The VObj library used for export a layout to obj format.

libs/vpatterndb

Contains classes for storing data about pattern.

libs/vpropertyexplorer

Contains classes of the tool property browser. You will see it when click on any object: point, line, curve.

libs/vtools

Contains all calsses of all tools.

libs/vwidgets

Contains classes of custom widgets.

test

Contains the source code of all unit tests.

test/ParserTest

Qmuparser's tests.

test/Seamly2DTest

All Seamly2D's tests.