Draft: Small layer improvements

- Added 'Print Line Color' property
- Added 'Add new layer' context menu action to layers group
This commit is contained in:
Yorik van Havre
2020-12-15 16:43:33 +01:00
parent 8e223cdf5d
commit e672aa26b4
4 changed files with 770 additions and 1 deletions

View File

@@ -105,6 +105,7 @@
<file>icons/Snap_Perpendicular.svg</file>
<file>icons/Snap_Special.svg</file>
<file>icons/Snap_WorkingPlane.svg</file>
<file>icons/Draft_NewLayer.svg</file>
<file>patterns/aluminium.svg</file>
<file>patterns/brick01.svg</file>
<file>patterns/concrete.svg</file>

View File

@@ -0,0 +1,720 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
version="1.1"
id="svg2985"
height="64px"
width="64px">
<title
id="title853">Draft_Layer</title>
<defs
id="defs2987">
<linearGradient
id="linearGradient3815">
<stop
id="stop3817"
offset="0"
style="stop-color:#d3d7cf;stop-opacity:1;" />
<stop
id="stop3819"
offset="1"
style="stop-color:#ffffff;stop-opacity:1" />
</linearGradient>
<linearGradient
id="linearGradient3807">
<stop
id="stop3809"
offset="0"
style="stop-color:#d3d7cf;stop-opacity:1;" />
<stop
id="stop3811"
offset="1"
style="stop-color:#ffffff;stop-opacity:1" />
</linearGradient>
<linearGradient
id="linearGradient3799">
<stop
id="stop3801"
offset="0"
style="stop-color:#d3d7cf;stop-opacity:1;" />
<stop
id="stop3803"
offset="1"
style="stop-color:#ffffff;stop-opacity:1" />
</linearGradient>
<linearGradient
gradientTransform="translate(-0.02151317,-0.91811256)"
gradientUnits="userSpaceOnUse"
y2="-1.3815211"
x2="25.928942"
y1="19.086002"
x1="53.257175"
id="linearGradient3805"
xlink:href="#linearGradient3799" />
<linearGradient
gradientTransform="translate(0.75600263,0.0412295)"
gradientUnits="userSpaceOnUse"
y2="12.022611"
x2="36.843666"
y1="27.953379"
x1="61.719494"
id="linearGradient3813"
xlink:href="#linearGradient3807" />
<linearGradient
gradientTransform="translate(-0.18895427,-1.1237431)"
gradientUnits="userSpaceOnUse"
y2="23.542751"
x2="48.388607"
y1="43.419685"
x1="74.313408"
id="linearGradient3821"
xlink:href="#linearGradient3815" />
<radialGradient
cx="605.71429"
cy="486.64789"
r="117.14286"
fx="605.71429"
fy="486.64789"
id="radialGradient5031"
xlink:href="#linearGradient5060"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)" />
<linearGradient
id="linearGradient5060">
<stop
id="stop5062"
style="stop-color:#000000;stop-opacity:1"
offset="0" />
<stop
id="stop5064"
style="stop-color:#000000;stop-opacity:0"
offset="1" />
</linearGradient>
<radialGradient
cx="605.71429"
cy="486.64789"
r="117.14286"
fx="605.71429"
fy="486.64789"
id="radialGradient5029"
xlink:href="#linearGradient5060"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)" />
<linearGradient
id="linearGradient5048">
<stop
id="stop5050"
style="stop-color:#000000;stop-opacity:0"
offset="0" />
<stop
id="stop5056"
style="stop-color:#000000;stop-opacity:1"
offset="0.5" />
<stop
id="stop5052"
style="stop-color:#000000;stop-opacity:0"
offset="1" />
</linearGradient>
<linearGradient
x1="302.85715"
y1="366.64789"
x2="302.85715"
y2="609.50507"
id="linearGradient5027"
xlink:href="#linearGradient5048"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)" />
<radialGradient
cx="24.306795"
cy="42.07798"
r="15.821514"
fx="24.306795"
fy="42.07798"
id="radialGradient4548"
xlink:href="#linearGradient5060"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1,0,0,0.284916,0,30.08928)" />
<linearGradient
id="linearGradient15662">
<stop
id="stop15664"
style="stop-color:#ffffff;stop-opacity:1"
offset="0" />
<stop
id="stop15666"
style="stop-color:#f8f8f8;stop-opacity:1"
offset="1" />
</linearGradient>
<radialGradient
cx="20.892099"
cy="64.567902"
r="5.257"
fx="20.892099"
fy="64.567902"
id="aigrd3"
gradientUnits="userSpaceOnUse">
<stop
id="stop15573"
style="stop-color:#f0f0f0;stop-opacity:1"
offset="0" />
<stop
id="stop15575"
style="stop-color:#9a9a9a;stop-opacity:1"
offset="1" />
</radialGradient>
<radialGradient
cx="20.892099"
cy="114.5684"
r="5.256"
fx="20.892099"
fy="114.5684"
id="aigrd2"
gradientUnits="userSpaceOnUse">
<stop
id="stop15566"
style="stop-color:#f0f0f0;stop-opacity:1"
offset="0" />
<stop
id="stop15568"
style="stop-color:#9a9a9a;stop-opacity:1"
offset="1" />
</radialGradient>
<linearGradient
id="linearGradient269">
<stop
id="stop270"
style="stop-color:#a3a3a3;stop-opacity:1"
offset="0" />
<stop
id="stop271"
style="stop-color:#4c4c4c;stop-opacity:1"
offset="1" />
</linearGradient>
<linearGradient
id="linearGradient259">
<stop
id="stop260"
style="stop-color:#fafafa;stop-opacity:1"
offset="0" />
<stop
id="stop261"
style="stop-color:#bbbbbb;stop-opacity:1"
offset="1" />
</linearGradient>
<linearGradient
id="linearGradient12512">
<stop
id="stop12513"
style="stop-color:#ffffff;stop-opacity:1"
offset="0" />
<stop
id="stop12517"
style="stop-color:#fff520;stop-opacity:0.89108908"
offset="0.5" />
<stop
id="stop12514"
style="stop-color:#fff300;stop-opacity:0"
offset="1" />
</linearGradient>
<radialGradient
cx="55"
cy="125"
r="14.375"
fx="55"
fy="125"
id="radialGradient278"
xlink:href="#linearGradient12512"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0434782,0,0,1.0434782,-9.2189114,-105.70069)" />
<radialGradient
cx="8.824419"
cy="3.7561285"
r="37.751713"
fx="8.824419"
fy="3.7561285"
id="radialGradient15656"
xlink:href="#linearGradient269"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.968273,0,0,1.032767,3.4281936,-47.492271)" />
<radialGradient
cx="33.966679"
cy="35.736916"
r="86.70845"
fx="33.966679"
fy="35.736916"
id="radialGradient15658"
xlink:href="#linearGradient259"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.960493,0,0,1.041132,0.07464063,-48.138718)" />
<radialGradient
cx="8.1435566"
cy="7.2678967"
r="38.158695"
fx="8.1435566"
fy="7.2678967"
id="radialGradient15668"
xlink:href="#linearGradient15662"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.968273,0,0,1.032767,3.4281936,-47.492271)" />
<radialGradient
cx="20.892099"
cy="114.5684"
r="5.256"
fx="20.892099"
fy="114.5684"
id="radialGradient2283"
xlink:href="#aigrd2"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.229703,0,0,0.229703,4.613529,3.979808)" />
<radialGradient
cx="20.892099"
cy="64.567902"
r="5.257"
fx="20.892099"
fy="64.567902"
id="radialGradient2285"
xlink:href="#aigrd3"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.229703,0,0,0.229703,4.613529,3.979808)" />
<radialGradient
xlink:href="#linearGradient5060"
id="radialGradient5029-5"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
cx="605.71429"
cy="486.64789"
fx="605.71429"
fy="486.64789"
r="117.14286" />
<radialGradient
xlink:href="#linearGradient5060"
id="radialGradient5031-1"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
cx="605.71429"
cy="486.64789"
fx="605.71429"
fy="486.64789"
r="117.14286" />
<radialGradient
r="86.70845"
fy="35.736916"
fx="33.966679"
cy="35.736916"
cx="33.966679"
gradientTransform="matrix(0.93681254,0,0,1.0682567,-0.92539285,-48.545272)"
gradientUnits="userSpaceOnUse"
id="radialGradient15658-2"
xlink:href="#linearGradient259" />
<radialGradient
r="37.751713"
fy="40.640011"
fx="4.4163604"
cy="40.640011"
cx="4.4163604"
gradientTransform="matrix(0.94440073,0,0,1.0596738,2.3454801,-47.881983)"
gradientUnits="userSpaceOnUse"
id="radialGradient15656-3"
xlink:href="#linearGradient269" />
<radialGradient
r="38.158695"
fy="7.2678967"
fx="8.1435566"
cy="7.2678967"
cx="8.1435566"
gradientTransform="matrix(0.88587294,0,0,1.0079919,3.5841035,-46.659551)"
gradientUnits="userSpaceOnUse"
id="radialGradient15668-2"
xlink:href="#linearGradient15662" />
<radialGradient
xlink:href="#aigrd2-9"
id="radialGradient2283-7"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.229703,0,0,0.229703,4.613529,3.979808)"
cx="20.892099"
cy="114.5684"
fx="20.892099"
fy="114.5684"
r="5.256" />
<radialGradient
gradientUnits="userSpaceOnUse"
fy="114.5684"
fx="20.892099"
r="5.256"
cy="114.5684"
cx="20.892099"
id="aigrd2-9">
<stop
id="stop15566-2"
style="stop-color:#F0F0F0"
offset="0" />
<stop
id="stop15568-0"
style="stop-color:#9a9a9a;stop-opacity:1.0000000;"
offset="1.0000000" />
</radialGradient>
<radialGradient
xlink:href="#aigrd3-3"
id="radialGradient2285-2"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.229703,0,0,0.229703,4.613529,3.979808)"
cx="20.892099"
cy="64.567902"
fx="20.892099"
fy="64.567902"
r="5.257" />
<radialGradient
gradientUnits="userSpaceOnUse"
fy="64.567902"
fx="20.892099"
r="5.257"
cy="64.567902"
cx="20.892099"
id="aigrd3-3">
<stop
id="stop15573-7"
style="stop-color:#F0F0F0"
offset="0" />
<stop
id="stop15575-5"
style="stop-color:#9a9a9a;stop-opacity:1.0000000;"
offset="1.0000000" />
</radialGradient>
<radialGradient
r="117.14286"
fy="486.64789"
fx="605.71429"
cy="486.64789"
cx="605.71429"
gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
gradientUnits="userSpaceOnUse"
id="radialGradient3115"
xlink:href="#linearGradient5060" />
<radialGradient
xlink:href="#linearGradient5060"
id="radialGradient5029-7"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
cx="605.71429"
cy="486.64789"
fx="605.71429"
fy="486.64789"
r="117.14286" />
<radialGradient
xlink:href="#linearGradient5060"
id="radialGradient5031-2"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
cx="605.71429"
cy="486.64789"
fx="605.71429"
fy="486.64789"
r="117.14286" />
<radialGradient
r="86.70845"
fy="35.736916"
fx="33.966679"
cy="35.736916"
cx="33.966679"
gradientTransform="matrix(0.93681254,0,0,1.0682567,0.57527068,-48.738688)"
gradientUnits="userSpaceOnUse"
id="radialGradient15658-9"
xlink:href="#linearGradient259" />
<radialGradient
r="37.751713"
fy="40.640011"
fx="4.4163604"
cy="40.640011"
cx="4.4163604"
gradientTransform="matrix(0.94440073,0,0,1.0596738,3.8461434,-48.075399)"
gradientUnits="userSpaceOnUse"
id="radialGradient15656-7"
xlink:href="#linearGradient269" />
<radialGradient
r="38.158695"
fy="7.2678967"
fx="8.1435566"
cy="7.2678967"
cx="8.1435566"
gradientTransform="matrix(0.88587294,0,0,1.0079919,5.084766,-46.852959)"
gradientUnits="userSpaceOnUse"
id="radialGradient15668-0"
xlink:href="#linearGradient15662" />
<radialGradient
xlink:href="#aigrd2-6"
id="radialGradient2283-0"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.229703,0,0,0.229703,4.613529,3.979808)"
cx="20.892099"
cy="114.5684"
fx="20.892099"
fy="114.5684"
r="5.256" />
<radialGradient
gradientUnits="userSpaceOnUse"
fy="114.5684"
fx="20.892099"
r="5.256"
cy="114.5684"
cx="20.892099"
id="aigrd2-6">
<stop
id="stop15566-3"
style="stop-color:#F0F0F0"
offset="0" />
<stop
id="stop15568-2"
style="stop-color:#9a9a9a;stop-opacity:1.0000000;"
offset="1.0000000" />
</radialGradient>
<radialGradient
xlink:href="#aigrd3-6"
id="radialGradient2285-0"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.229703,0,0,0.229703,4.613529,3.979808)"
cx="20.892099"
cy="64.567902"
fx="20.892099"
fy="64.567902"
r="5.257" />
<radialGradient
gradientUnits="userSpaceOnUse"
fy="64.567902"
fx="20.892099"
r="5.257"
cy="64.567902"
cx="20.892099"
id="aigrd3-6">
<stop
id="stop15573-1"
style="stop-color:#F0F0F0"
offset="0" />
<stop
id="stop15575-55"
style="stop-color:#9a9a9a;stop-opacity:1.0000000;"
offset="1.0000000" />
</radialGradient>
<radialGradient
r="117.14286"
fy="486.64789"
fx="605.71429"
cy="486.64789"
cx="605.71429"
gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
gradientUnits="userSpaceOnUse"
id="radialGradient3187"
xlink:href="#linearGradient5060" />
<radialGradient
xlink:href="#linearGradient5060"
id="radialGradient5029-4"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
cx="605.71429"
cy="486.64789"
fx="605.71429"
fy="486.64789"
r="117.14286" />
<radialGradient
r="117.14286"
fy="486.64789"
fx="605.71429"
cy="486.64789"
cx="605.71429"
gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
gradientUnits="userSpaceOnUse"
id="radialGradient3255"
xlink:href="#linearGradient5060" />
<radialGradient
r="86.70845"
fy="35.736916"
fx="33.966679"
cy="35.736916"
cx="33.966679"
gradientTransform="matrix(1.3225497,0,0,1.4752117,-18.091662,-66.151727)"
gradientUnits="userSpaceOnUse"
id="radialGradient15658-8"
xlink:href="#linearGradient259" />
<radialGradient
r="37.751713"
fy="37.388847"
fx="3.3431637"
cy="37.388847"
cx="3.3431637"
gradientTransform="matrix(1.3332625,0,0,1.4633592,-13.473991,-65.235756)"
gradientUnits="userSpaceOnUse"
id="radialGradient15656-8"
xlink:href="#linearGradient269" />
<radialGradient
r="38.158695"
fy="7.2678967"
fx="8.1435566"
cy="7.2678967"
cx="8.1435566"
gradientTransform="matrix(1.3004371,0,0,1.4315028,-12.790081,-64.443402)"
gradientUnits="userSpaceOnUse"
id="radialGradient15668-4"
xlink:href="#linearGradient15662" />
<radialGradient
xlink:href="#aigrd2-7"
id="radialGradient2283-5"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.229703,0,0,0.229703,4.613529,3.979808)"
cx="20.892099"
cy="114.5684"
fx="20.892099"
fy="114.5684"
r="5.256" />
<radialGradient
gradientUnits="userSpaceOnUse"
fy="114.5684"
fx="20.892099"
r="5.256"
cy="114.5684"
cx="20.892099"
id="aigrd2-7">
<stop
id="stop15566-4"
style="stop-color:#F0F0F0"
offset="0" />
<stop
id="stop15568-27"
style="stop-color:#9a9a9a;stop-opacity:1.0000000;"
offset="1.0000000" />
</radialGradient>
<radialGradient
xlink:href="#aigrd3-7"
id="radialGradient2285-1"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.229703,0,0,0.229703,4.613529,3.979808)"
cx="20.892099"
cy="64.567902"
fx="20.892099"
fy="64.567902"
r="5.257" />
<radialGradient
gradientUnits="userSpaceOnUse"
fy="64.567902"
fx="20.892099"
r="5.257"
cy="64.567902"
cx="20.892099"
id="aigrd3-7">
<stop
id="stop15573-9"
style="stop-color:#F0F0F0"
offset="0" />
<stop
id="stop15575-3"
style="stop-color:#9a9a9a;stop-opacity:1.0000000;"
offset="1.0000000" />
</radialGradient>
<radialGradient
r="117.14286"
fy="486.64789"
fx="605.71429"
cy="486.64789"
cx="605.71429"
gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
gradientUnits="userSpaceOnUse"
id="radialGradient3172"
xlink:href="#linearGradient5060" />
<linearGradient
xlink:href="#linearGradient4200"
id="linearGradient4206"
x1="23.269085"
y1="34.403625"
x2="19.161451"
y2="22.080725"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient4200">
<stop
style="stop-color:#888a85;stop-opacity:1"
offset="0"
id="stop4202" />
<stop
style="stop-color:#d3d7cf;stop-opacity:1"
offset="1"
id="stop4204" />
</linearGradient>
<linearGradient
xlink:href="#linearGradient3815"
id="linearGradient3781"
x1="10"
y1="39.999996"
x2="53"
y2="25.999996"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-48.000004,-1.4697266e-8)" />
</defs>
<g
id="layer1">
<rect
transform="matrix(0.92408158,0.38219528,-0.75246174,0.65863596,0,0)"
y="6.2172832"
x="31.989382"
height="27.016869"
width="39.045357"
id="rect2993-0"
style="color:#000000;fill:url(#linearGradient3813);fill-opacity:1;fill-rule:evenodd;stroke:#2e3436;stroke-width:2.1126256;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<path
id="rect2993-0-9-3-6"
d="M 25.30824,18.773895 57.151731,31.961211 40.212355,46.74742 8.2994962,33.560104 z"
style="color:#000000;fill:none;stroke:#ffffff;stroke-width:2;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
</g>
<metadata
id="metadata5826">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title>Draft_Layer</dc:title>
<cc:license
rdf:resource="" />
<dc:date>Tue Jun 10 10:21:01 2014 -0300</dc:date>
<dc:creator>
<cc:Agent>
<dc:title>[Yorik van Havre]</dc:title>
</cc:Agent>
</dc:creator>
<dc:rights>
<cc:Agent>
<dc:title>FreeCAD LGPL2+</dc:title>
</cc:Agent>
</dc:rights>
<dc:publisher>
<cc:Agent>
<dc:title>FreeCAD</dc:title>
</cc:Agent>
</dc:publisher>
<dc:identifier>FreeCAD/src/Mod/Draft/Resources/icons/Draft_Layer.svg</dc:identifier>
<dc:relation>http://www.freecadweb.org/wiki/index.php?title=Artwork</dc:relation>
<dc:contributor>
<cc:Agent>
<dc:title>[agryson] Alexander Gryson</dc:title>
</cc:Agent>
</dc:contributor>
<dc:subject>
<rdf:Bag>
<rdf:li>page</rdf:li>
<rdf:li>pages</rdf:li>
<rdf:li>rectangles</rdf:li>
<rdf:li>stack</rdf:li>
</rdf:Bag>
</dc:subject>
<dc:description>Three pages or rectangles stacked on top of each other. Previously VisGroup.</dc:description>
</cc:Work>
</rdf:RDF>
</metadata>
<path
d="m 63.172393,24.734089 a 15,15 0 0 1 -30,0 15,15 0 1 1 30,0 z"
id="path12511"
style="color:#000000;display:block;visibility:visible;fill:url(#radialGradient278);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.25;marker:none" />
</svg>

After

Width:  |  Height:  |  Size: 21 KiB

View File

@@ -478,7 +478,12 @@ def get_svg(obj,
else:
stroke = utils.get_rgb(color)
elif App.GuiUp:
if hasattr(obj, "ViewObject"):
# find print color
pc = get_print_color(obj)
if pc:
stroke = utils.get_rgb(pc)
# get line color
elif hasattr(obj, "ViewObject"):
if hasattr(obj.ViewObject, "LineColor"):
stroke = utils.get_rgb(obj.ViewObject.LineColor)
elif hasattr(obj.ViewObject, "TextColor"):
@@ -918,6 +923,17 @@ def get_svg(obj,
return svg
def get_print_color(obj):
"""returns the print color of the parent layer, if available"""
for parent in obj.InListRecursive:
if (hasattr(parent,"ViewObject")
and hasattr(parent.ViewObject,"UsePrintColor")
and parent.ViewObject.UsePrintColor):
if hasattr(parent.ViewObject,"LinePrintColor"):
return parent.ViewObject.LinePrintColor
return None
def getSVG(obj,
scale=1, linewidth=0.35, fontsize=12,
fillstyle="shape color", direction=None,

View File

@@ -80,6 +80,17 @@ class ViewProviderLayer:
_tip)
vobj.OverrideShapeColorChildren = True
if "UsePrintColor" not in properties:
_tip = QT_TRANSLATE_NOOP("App::Property",
"If it is true, the print color "
"will be used when objects in this "
"layer are placed on a TechDraw page")
vobj.addProperty("App::PropertyBool",
"UsePrintColor",
"Print",
_tip)
def set_visual_properties(self, vobj, properties):
"""Set visual properties only if they don't already exist."""
view_group = App.ParamGet("User parameter:BaseApp/Preferences/View")
@@ -145,6 +156,16 @@ class ViewProviderLayer:
_tip)
vobj.Transparency = 0
if "LinePrintColor" not in properties:
_tip = QT_TRANSLATE_NOOP("App::Property",
"The line color of the objects "
"contained within this layer, "
"when used on a TechDraw page")
vobj.addProperty("App::PropertyColor",
"LinePrintColor",
"Print",
_tip)
def getIcon(self):
"""Return the path to the icon used by the viewprovider.
@@ -382,6 +403,11 @@ class ViewProviderLayerContainer:
menu)
action1.triggered.connect(self.merge_by_name)
menu.addAction(action1)
action2 = QtGui.QAction(QtGui.QIcon(":/icons/Draft_NewLayer.svg"),
translate("Draft", "Add new layer"),
menu)
action2.triggered.connect(self.add_layer)
menu.addAction(action2)
def merge_by_name(self):
"""Merge the layers that have the same name."""
@@ -442,6 +468,12 @@ class ViewProviderLayerContainer:
_msg("InList not empty. "
"Unable to delete layer: " + layer.Label)
def add_layer(self):
"""Creates a new layer"""
import Draft
Draft.make_layer()
App.ActiveDocument.recompute()
def __getstate__(self):
"""Return a tuple of objects to save or None."""
return None