Draft: Fixed patterns + added default pattern size pref option

This commit is contained in:
Yorik van Havre
2020-10-12 15:12:50 +02:00
parent e0a531258a
commit 674d7f25f8
3 changed files with 59 additions and 4 deletions

View File

@@ -253,6 +253,9 @@
</item>
<item>
<widget class="Gui::PrefSpinBox" name="gui::prefspinbox_2">
<property name="toolTip">
<string>The resolution to draw the patterns in. Default value is 128. Higher values give better resolutions, lower values make drawing faster</string>
</property>
<property name="maximum">
<number>512</number>
</property>
@@ -269,6 +272,52 @@
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>Hatch Pattern default size</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="Gui::PrefDoubleSpinBox" name="doubleSpinBox">
<property name="toolTip">
<string>The default size of hatch patterns</string>
</property>
<property name="decimals">
<number>4</number>
</property>
<property name="minimum">
<double>0.000100000000000</double>
</property>
<property name="value">
<double>1.000000000000000</double>
</property>
<property name="prefEntry" stdset="0">
<cstring>HatchPatternSize</cstring>
</property>
<property name="prefPath" stdset="0">
<cstring>Mod/Draft</cstring>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
@@ -508,6 +557,11 @@
<extends>QLineEdit</extends>
<header>Gui/PrefWidgets.h</header>
</customwidget>
<customwidget>
<class>Gui::PrefDoubleSpinBox</class>
<extends>QDoubleSpinBox</extends>
<header>Gui/PrefWidgets.h</header>
</customwidget>
</customwidgets>
<resources/>
<connections/>

View File

@@ -176,7 +176,7 @@ def get_param_type(param):
return "string"
elif param in ("textheight", "tolerance", "gridSpacing",
"arrowsize", "extlines", "dimspacing",
"dimovershoot", "extovershoot"):
"dimovershoot", "extovershoot","HatchPatternSize"):
return "float"
elif param in ("selectBaseObjects", "alwaysSnap", "grid",
"fillmode", "saveonexit", "maxSnap",

View File

@@ -112,7 +112,7 @@ class ViewProviderDraft(object):
"PatternSize",
"Draft",
QT_TRANSLATE_NOOP("App::Property", _tip))
vobj.PatternSize = 1
vobj.PatternSize = utils.get_param("HatchPatternSize", 1)
def __getstate__(self):
"""Return a tuple of all serializable objects or None.
@@ -286,8 +286,9 @@ class ViewProviderDraft(object):
if path and vobj.RootNode:
if vobj.RootNode.getChildren().getLength() > 2:
if vobj.RootNode.getChild(2).getChildren().getLength() > 0:
if vobj.RootNode.getChild(2).getChild(0).getChildren().getLength() > 2:
r = vobj.RootNode.getChild(2).getChild(0).getChild(2)
innodes = vobj.RootNode.getChild(2).getChild(0).getChildren().getLength()
if innodes > 2:
r = vobj.RootNode.getChild(2).getChild(0).getChild(innodes-1)
i = QtCore.QFileInfo(path)
if self.texture:
r.removeChild(self.texture)