diff --git a/src/Gui/Icons/Invisible.svg b/src/Gui/Icons/Invisible.svg
new file mode 100644
index 0000000000..1ce6c181ae
--- /dev/null
+++ b/src/Gui/Icons/Invisible.svg
@@ -0,0 +1,597 @@
+
+
+
+
diff --git a/src/Gui/Icons/Link.svg b/src/Gui/Icons/Link.svg
new file mode 100644
index 0000000000..d9d5018fd7
--- /dev/null
+++ b/src/Gui/Icons/Link.svg
@@ -0,0 +1,121 @@
+
+
diff --git a/src/Gui/Icons/LinkArray.svg b/src/Gui/Icons/LinkArray.svg
new file mode 100644
index 0000000000..a1f9082e81
--- /dev/null
+++ b/src/Gui/Icons/LinkArray.svg
@@ -0,0 +1,351 @@
+
+
+
+
diff --git a/src/Gui/Icons/LinkArrayOverlay.xpm b/src/Gui/Icons/LinkArrayOverlay.xpm
new file mode 100644
index 0000000000..866912a7c4
--- /dev/null
+++ b/src/Gui/Icons/LinkArrayOverlay.xpm
@@ -0,0 +1,13 @@
+/* XPM */
+const char *xpm_link[] = {
+"6 6 3 1",
+" c None",
+"# c #000000",
+"a c #8ae234",
+"######",
+"aaaaa#",
+"##aaa#",
+"#aa#a#",
+"aa##a#",
+"##..##"};
+
diff --git a/src/Gui/Icons/LinkElement.svg b/src/Gui/Icons/LinkElement.svg
new file mode 100644
index 0000000000..aa810f1dfd
--- /dev/null
+++ b/src/Gui/Icons/LinkElement.svg
@@ -0,0 +1,355 @@
+
+
+
+
diff --git a/src/Gui/Icons/LinkGroup.svg b/src/Gui/Icons/LinkGroup.svg
new file mode 100644
index 0000000000..7ed53ef187
--- /dev/null
+++ b/src/Gui/Icons/LinkGroup.svg
@@ -0,0 +1,766 @@
+
+
+
+
diff --git a/src/Gui/Icons/LinkImport.svg b/src/Gui/Icons/LinkImport.svg
new file mode 100644
index 0000000000..b8b06a9541
--- /dev/null
+++ b/src/Gui/Icons/LinkImport.svg
@@ -0,0 +1,130 @@
+
+
diff --git a/src/Gui/Icons/LinkImportAll.svg b/src/Gui/Icons/LinkImportAll.svg
new file mode 100644
index 0000000000..8a54f47e87
--- /dev/null
+++ b/src/Gui/Icons/LinkImportAll.svg
@@ -0,0 +1,164 @@
+
+
diff --git a/src/Gui/Icons/LinkOverlay.xpm b/src/Gui/Icons/LinkOverlay.xpm
new file mode 100644
index 0000000000..a6d00724fa
--- /dev/null
+++ b/src/Gui/Icons/LinkOverlay.xpm
@@ -0,0 +1,13 @@
+/* XPM */
+const char *xpm_link[] = {
+"6 6 3 1",
+" c None",
+"# c #000000",
+"a c #ffffff",
+"######",
+"aaaaa#",
+"##aaa#",
+"#aa#a#",
+"aa##a#",
+"##..##"};
+
diff --git a/src/Gui/Icons/LinkReplace.svg b/src/Gui/Icons/LinkReplace.svg
new file mode 100644
index 0000000000..c729637893
--- /dev/null
+++ b/src/Gui/Icons/LinkReplace.svg
@@ -0,0 +1,137 @@
+
+
diff --git a/src/Gui/Icons/LinkSelect.svg b/src/Gui/Icons/LinkSelect.svg
new file mode 100644
index 0000000000..22dd52531d
--- /dev/null
+++ b/src/Gui/Icons/LinkSelect.svg
@@ -0,0 +1,169 @@
+
+
diff --git a/src/Gui/Icons/LinkSelectAll.svg b/src/Gui/Icons/LinkSelectAll.svg
new file mode 100644
index 0000000000..ac3d9379cc
--- /dev/null
+++ b/src/Gui/Icons/LinkSelectAll.svg
@@ -0,0 +1,153 @@
+
+
diff --git a/src/Gui/Icons/LinkSelectFinal.svg b/src/Gui/Icons/LinkSelectFinal.svg
new file mode 100644
index 0000000000..a61b7df5b3
--- /dev/null
+++ b/src/Gui/Icons/LinkSelectFinal.svg
@@ -0,0 +1,195 @@
+
+
diff --git a/src/Gui/Icons/LinkSub.svg b/src/Gui/Icons/LinkSub.svg
new file mode 100644
index 0000000000..4672ea8de5
--- /dev/null
+++ b/src/Gui/Icons/LinkSub.svg
@@ -0,0 +1,186 @@
+
+
diff --git a/src/Gui/Icons/LinkSubElement.xpm b/src/Gui/Icons/LinkSubElement.xpm
new file mode 100644
index 0000000000..a5e957580e
--- /dev/null
+++ b/src/Gui/Icons/LinkSubElement.xpm
@@ -0,0 +1,15 @@
+/* XPM */
+static char *xpm_linksubelement[] = {
+"8 8 3 1",
+". c None",
+"# c #000000",
+"a c #33ffff",
+".#######",
+".#aaaaa#",
+"######a#",
+"aaaaa#a#",
+"##aaa#a#",
+"#aa#a#a#",
+"aa##a###",
+"##..##.."};
+
diff --git a/src/Gui/Icons/LinkSubOverlay.xpm b/src/Gui/Icons/LinkSubOverlay.xpm
new file mode 100644
index 0000000000..8ab22dddaa
--- /dev/null
+++ b/src/Gui/Icons/LinkSubOverlay.xpm
@@ -0,0 +1,15 @@
+/* XPM */
+static char *xpm_linksub[] = {
+"8 8 3 1",
+". c None",
+"# c #000000",
+"a c #ffffff",
+".#######",
+".#aaaaa#",
+"######a#",
+"aaaaa#a#",
+"##aaa#a#",
+"#aa#a#a#",
+"aa##a###",
+"##..##.."};
+
diff --git a/src/Gui/Icons/Std_CoordinateSystem.svg b/src/Gui/Icons/Std_CoordinateSystem.svg
new file mode 100644
index 0000000000..2684ca0b45
--- /dev/null
+++ b/src/Gui/Icons/Std_CoordinateSystem.svg
@@ -0,0 +1,375 @@
+
+
+
+
diff --git a/src/Gui/Icons/Unlink.svg b/src/Gui/Icons/Unlink.svg
new file mode 100644
index 0000000000..4f5c44e3d0
--- /dev/null
+++ b/src/Gui/Icons/Unlink.svg
@@ -0,0 +1,121 @@
+
+
diff --git a/src/Gui/Icons/edit-element-select-box.svg b/src/Gui/Icons/edit-element-select-box.svg
new file mode 100644
index 0000000000..13546d48ac
--- /dev/null
+++ b/src/Gui/Icons/edit-element-select-box.svg
@@ -0,0 +1,198 @@
+
+
+
+
diff --git a/src/Gui/Icons/resource.qrc b/src/Gui/Icons/resource.qrc
index 70c03fd1a4..1b4b37b23a 100644
--- a/src/Gui/Icons/resource.qrc
+++ b/src/Gui/Icons/resource.qrc
@@ -66,10 +66,24 @@
edit-paste.svg
edit-select-all.svg
edit-select-box.svg
+ edit-element-select-box.svg
edit-redo.svg
edit-undo.svg
edit-edit.svg
edit-cleartext.svg
+ tree-item-drag.svg
+ tree-goto-sel.svg
+ tree-rec-sel.svg
+ tree-pre-sel.svg
+ tree-sync-sel.svg
+ tree-sync-view.svg
+ tree-sync-pla.svg
+ tree-doc-single.svg
+ tree-doc-multi.svg
+ tree-doc-collapse.svg
+ sel-back.svg
+ sel-forward.svg
+ sel-instance.svg
help-browser.svg
preferences-system.svg
process-stop.svg
@@ -125,6 +139,7 @@
DrawStyleWireFrame.svg
user.svg
CoordinateSystem.svg
+ Std_CoordinateSystem.svg
MacroEditor.svg
Param_Bool.svg
Param_Float.svg
@@ -157,6 +172,23 @@
Geofeaturegroup.svg
Std_Axis.svg
Std_Plane.svg
+ Link.svg
+ LinkArray.svg
+ LinkElement.svg
+ LinkGroup.svg
+ LinkOverlay.xpm
+ LinkArrayOverlay.xpm
+ LinkSubOverlay.xpm
+ LinkSubElement.xpm
+ LinkSub.svg
+ LinkReplace.svg
+ LinkImport.svg
+ LinkImportAll.svg
+ LinkSelect.svg
+ LinkSelectFinal.svg
+ LinkSelectAll.svg
+ Unlink.svg
+ Invisible.svg
@@ -189,9 +221,23 @@
edit-paste.svg
edit-select-all.svg
edit-select-box.svg
+ edit-element-select-box.svg
edit-redo.svg
edit-undo.svg
edit-edit.svg
+ tree-item-drag.svg
+ tree-goto-sel.svg
+ tree-rec-sel.svg
+ tree-pre-sel.svg
+ tree-sync-sel.svg
+ tree-sync-view.svg
+ tree-sync-pla.svg
+ tree-doc-single.svg
+ tree-doc-multi.svg
+ tree-doc-collapse.svg
+ sel-back.svg
+ sel-forward.svg
+ sel-instance.svg
help-browser.svg
preferences-system.svg
window-new.svg
diff --git a/src/Gui/Icons/sel-back.svg b/src/Gui/Icons/sel-back.svg
new file mode 100644
index 0000000000..eee62208eb
--- /dev/null
+++ b/src/Gui/Icons/sel-back.svg
@@ -0,0 +1,318 @@
+
+
+
+
diff --git a/src/Gui/Icons/sel-forward.svg b/src/Gui/Icons/sel-forward.svg
new file mode 100644
index 0000000000..7f9975a963
--- /dev/null
+++ b/src/Gui/Icons/sel-forward.svg
@@ -0,0 +1,322 @@
+
+
+
+
diff --git a/src/Gui/Icons/sel-instance.svg b/src/Gui/Icons/sel-instance.svg
new file mode 100644
index 0000000000..51632e5e22
--- /dev/null
+++ b/src/Gui/Icons/sel-instance.svg
@@ -0,0 +1,627 @@
+
+
+
+
diff --git a/src/Gui/Icons/tree-doc-collapse.svg b/src/Gui/Icons/tree-doc-collapse.svg
new file mode 100644
index 0000000000..78edd34c3d
--- /dev/null
+++ b/src/Gui/Icons/tree-doc-collapse.svg
@@ -0,0 +1,804 @@
+
+
+
+
diff --git a/src/Gui/Icons/tree-doc-multi.svg b/src/Gui/Icons/tree-doc-multi.svg
new file mode 100644
index 0000000000..2ac76ff8b9
--- /dev/null
+++ b/src/Gui/Icons/tree-doc-multi.svg
@@ -0,0 +1,872 @@
+
+
+
+
diff --git a/src/Gui/Icons/tree-doc-single.svg b/src/Gui/Icons/tree-doc-single.svg
new file mode 100644
index 0000000000..dc774b8bd3
--- /dev/null
+++ b/src/Gui/Icons/tree-doc-single.svg
@@ -0,0 +1,765 @@
+
+
+
+
diff --git a/src/Gui/Icons/tree-goto-sel.svg b/src/Gui/Icons/tree-goto-sel.svg
new file mode 100644
index 0000000000..f0818635d9
--- /dev/null
+++ b/src/Gui/Icons/tree-goto-sel.svg
@@ -0,0 +1,677 @@
+
+
+
+
diff --git a/src/Gui/Icons/tree-item-drag.svg b/src/Gui/Icons/tree-item-drag.svg
new file mode 100644
index 0000000000..25d4b61cbe
--- /dev/null
+++ b/src/Gui/Icons/tree-item-drag.svg
@@ -0,0 +1,647 @@
+
+
+
+
diff --git a/src/Gui/Icons/tree-pre-sel.svg b/src/Gui/Icons/tree-pre-sel.svg
new file mode 100644
index 0000000000..e6cc7761c8
--- /dev/null
+++ b/src/Gui/Icons/tree-pre-sel.svg
@@ -0,0 +1,772 @@
+
+
+
+
diff --git a/src/Gui/Icons/tree-rec-sel.svg b/src/Gui/Icons/tree-rec-sel.svg
new file mode 100644
index 0000000000..85500caf0e
--- /dev/null
+++ b/src/Gui/Icons/tree-rec-sel.svg
@@ -0,0 +1,618 @@
+
+
+
+
diff --git a/src/Gui/Icons/tree-sync-pla.svg b/src/Gui/Icons/tree-sync-pla.svg
new file mode 100644
index 0000000000..d62ed04c89
--- /dev/null
+++ b/src/Gui/Icons/tree-sync-pla.svg
@@ -0,0 +1,802 @@
+
+
+
+
diff --git a/src/Gui/Icons/tree-sync-sel.svg b/src/Gui/Icons/tree-sync-sel.svg
new file mode 100644
index 0000000000..129b7118a0
--- /dev/null
+++ b/src/Gui/Icons/tree-sync-sel.svg
@@ -0,0 +1,712 @@
+
+
+
+
diff --git a/src/Gui/Icons/tree-sync-view.svg b/src/Gui/Icons/tree-sync-view.svg
new file mode 100644
index 0000000000..b2b56014c8
--- /dev/null
+++ b/src/Gui/Icons/tree-sync-view.svg
@@ -0,0 +1,764 @@
+
+
+
+