Implementation of Link

This patch includes the actual implementation of Link, which is
implemented as an extension named LinkBaseExtension in App namespace,
and a full view provider ViewProviderLink in Gui. The reason of not
using ViewProviderExtension is because it need full control when
display, not just extending existing functionalities.

Please see [here](https://git.io/fjPue) for more details of the
implementation.

This patch also includes a set of link manipulation commands, and a
task panel for overriding geometry element colors.
This commit is contained in:
Zheng, Lei
2019-07-11 12:15:29 +08:00
committed by wmayer
parent dddd3a95b5
commit ebf321fc47
22 changed files with 7944 additions and 6 deletions

View File

@@ -112,6 +112,7 @@
#include "Transactions.h"
#include <App/MaterialPy.h>
#include <Base/GeometryPyCXX.h>
#include "Link.h"
// If you stumble here, run the target "BuildExtractRevision" on Windows systems
// or the Python script "SubWCRev.py" on Linux based systems which builds
@@ -1835,6 +1836,10 @@ void Application::initTypes(void)
App ::GeoFeatureGroupExtensionPython::init();
App ::OriginGroupExtension ::init();
App ::OriginGroupExtensionPython ::init();
App ::LinkBaseExtension ::init();
App ::LinkBaseExtensionPython ::init();
App ::LinkExtension ::init();
App ::LinkExtensionPython ::init();
// Document classes
App ::TransactionalObject ::init();
@@ -1862,6 +1867,12 @@ void Application::initTypes(void)
App ::Line ::init();
App ::Part ::init();
App ::Origin ::init();
App ::Link ::init();
App ::LinkPython ::init();
App ::LinkElement ::init();
App ::LinkElementPython ::init();
App ::LinkGroup ::init();
App ::LinkGroupPython ::init();
// Expression classes
App ::Expression ::init();