View on GitHub

FreeCAD Developers Handbook

A handbook about FreeCAD development

Checklist for adding a new feature to an existing workbench in C++ #

This checklist is intended as an aid to contributors.

The checklist itemizes the tasks involved in adding a wholly new feature to an existing module (workbench). It assumes that the existing workbench (myModule) and the new feature are written in C++.

The module code is divided into an App portion that deals with the document and its objects and a Gui portion that deals with visual aspects. Our source tree looks like this:

FreeCAD/src
    Mod
        myModule
            myModuleTest
                TestmyModuleApp.py
                TestmyModuleGui.py
                myFeatureTest.py
            App
                AppmyModule.cpp
                myFeature.cpp
                myFeature.h
                myFeaturePy.xml
                myFeaturePyImp.cpp
            Gui
                GuimyModule.cpp
                ViewProvidermyFeature.cpp
                ViewProvidermyFeature.h
                TaskmyFeature.cpp
                TaskmyFeature.h
                TaskmyFeature.ui

App changes #

Gui changes #

Test changes #

Documentation changes #