From f6fb8ede40c23706b5648daf1e59b1bef14b27c0 Mon Sep 17 00:00:00 2001 From: ml Date: Wed, 12 Oct 2016 21:05:24 -0700 Subject: [PATCH] Added tooltips and label for distance. --- .../Path/Gui/Resources/panels/DogboneEdit.ui | 25 ++++++++++++++++++ src/Mod/Path/PathScripts/DogboneDressup.py | 26 +++++++++++-------- 2 files changed, 40 insertions(+), 11 deletions(-) diff --git a/src/Mod/Path/Gui/Resources/panels/DogboneEdit.ui b/src/Mod/Path/Gui/Resources/panels/DogboneEdit.ui index cbb5558e6..1b6bb2fbe 100644 --- a/src/Mod/Path/Gui/Resources/panels/DogboneEdit.ui +++ b/src/Mod/Path/Gui/Resources/panels/DogboneEdit.ui @@ -44,6 +44,9 @@ + + <html><head/><body><p>Select desired shape of the bone dressup:</p><p><span style=" font-weight:600; font-style:italic;">Dogbone</span> ... take the shortest path to cover the edge,</p><p><span style=" font-weight:600; font-style:italic;">T-bone</span> ... follow a certain direction until corner is covered</p></body></html> + Dogbone @@ -80,6 +83,9 @@ + + <html><head/><body><p>On which side of the profile bones are inserted - this also determines which corners are dressed up. The default value is determined based on the profile being dressed up.</p></body></html> + 1 @@ -104,6 +110,9 @@ + + <html><head/><body><p>Lenght of the bone to be inserted into the profile.</p><p><span style=" font-weight:600; font-style:italic;">adaptive</span> ... the lenght is adapted to cover the corner based on the angle of it's edges, taking the current tool radius into account (default)</p><p><span style=" font-weight:600; font-style:italic;">fixed</span> ... is the same as adaptive for straight angles. For T-bones it's the radius of the tool (R) and for dogbones it's R * (2/√2 - 1).</p><p><span style=" font-weight:600; font-style:italic;">custom</span> ... let's you sepcify a custom (fixed) distance below</p></body></html> + 2 @@ -129,6 +138,9 @@ false + + <html><head/><body><p>Enter distance for each bone if <span style=" font-weight:600;">Lenght</span> is set to <span style=" font-weight:600;">custom</span>, ignored otherwise.</p></body></html> + @@ -139,6 +151,19 @@ 0 + + <html><head/><body><p>List of bone locations (with all bones at that location) that are part of this dressup. The list is determined by the corners in the profile and the selected <span style=" font-weight:600;">Side</span> for the bones. </p><p>You can <span style=" font-weight:600;">un-check</span> the bones you don't want to be dressed up.</p><p><br/></p><p>If a bone is <span style=" font-weight:600;">grayed out</span> it means that it is already dressed up by a previous dressup. Or put another way, if you dress up this dogobone dressup again you will only be able to select the bones that are un-checked here.</p><p><br/></p><p>If this list is empty it probably means you're trying to create bones on the wrong side of the profile.</p></body></html> + + + + + + + false + + + Distance + diff --git a/src/Mod/Path/PathScripts/DogboneDressup.py b/src/Mod/Path/PathScripts/DogboneDressup.py index 74a214362..d75e80c99 100644 --- a/src/Mod/Path/PathScripts/DogboneDressup.py +++ b/src/Mod/Path/PathScripts/DogboneDressup.py @@ -194,20 +194,20 @@ class Chord (object): class ObjectDressup: def __init__(self, obj): - obj.addProperty("App::PropertyLink", "Base","Base", "The base path to modify") - obj.addProperty("App::PropertyEnumeration", "Side", "Dressup", "The side of path to insert bones") + obj.addProperty("App::PropertyLink", "Base","Base", QtCore.QT_TRANSLATE_NOOP("Dogbone_Dressup", "The base path to modify")) + obj.addProperty("App::PropertyEnumeration", "Side", "Dressup", QtCore.QT_TRANSLATE_NOOP("Dogbone_Dressup", "The side of path to insert bones")) obj.Side = [Side.Left, Side.Right] obj.Side = Side.Right - obj.addProperty("App::PropertyEnumeration", "Shape", "Dressup", "The shape of boness") + obj.addProperty("App::PropertyEnumeration", "Shape", "Dressup", QtCore.QT_TRANSLATE_NOOP("Dogbone_Dressup", "The shape of boness")) obj.Shape = Shape.All obj.Shape = Shape.Dogbone - obj.addProperty("App::PropertyIntegerList", "BoneBlacklist", "Dressup", "Bones that aren't dressed up") + obj.addProperty("App::PropertyIntegerList", "BoneBlacklist", "Dressup", QtCore.QT_TRANSLATE_NOOP("Dogbone_Dressup", "Bones that aren't dressed up")) obj.BoneBlacklist = [] obj.setEditorMode('BoneBlacklist', 2) # hide this one - obj.addProperty("App::PropertyEnumeration", "Length", "Dressup", "The algorithm to determine the bone length") + obj.addProperty("App::PropertyEnumeration", "Length", "Dressup", QtCore.QT_TRANSLATE_NOOP("Dogbone_Dressup", "The algorithm to determine the bone length")) obj.Length = Length.All - obj.Length = Length.Fixed - obj.addProperty("App::PropertyFloat", "Custom", "Dressup", "Dressup length if lenght == custom") + obj.Length = Length.Adaptive + obj.addProperty("App::PropertyFloat", "Custom", "Dressup", QtCore.QT_TRANSLATE_NOOP("Dogbone_Dressup", "Dressup length if lenght == custom")) obj.Custom = 0.0 obj.Proxy = self @@ -576,10 +576,15 @@ class TaskPanel: for item in sorted(itemList, key=lambda item: item.data(self.DataKey)): self.form.bones.addItem(item) + def updateUI(self): + customSelected = self.obj.Length == Length.Custom + self.form.custom.setEnabled(customSelected) + self.form.customLabel.setEnabled(customSelected) + self.updateBoneList() + def updateModel(self): self.getFields() - self.form.custom.setEnabled(self.obj.Length == Length.Custom) - self.updateBoneList() + self.updateUI() FreeCAD.ActiveDocument.recompute() def setupCombo(self, combo, text, items): @@ -598,8 +603,7 @@ class TaskPanel: self.form.custom.setMinimum(0.0) self.form.custom.setDecimals(3) self.form.custom.setValue(self.obj.Custom) - self.form.custom.setEnabled(self.obj.Length == Length.Custom) - self.updateBoneList() + self.updateUI() def open(self): self.s = SelObserver()