Skip to content

Commit

Permalink
issue #1524 Add UNITS to Draft Shapestring
Browse files Browse the repository at this point in the history
  • Loading branch information
WandererFan authored and yorikvanhavre committed May 7, 2014
1 parent 3b5cdda commit dea3fa6
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 14 deletions.
4 changes: 2 additions & 2 deletions src/Mod/Draft/Draft.py
Expand Up @@ -4653,8 +4653,8 @@ def __init__(self, obj):
_DraftObject.__init__(self,obj,"ShapeString")
obj.addProperty("App::PropertyString","String","Draft","Text string")
obj.addProperty("App::PropertyFile","FontFile","Draft","Font file name")
obj.addProperty("App::PropertyFloat","Size","Draft","Height of text")
obj.addProperty("App::PropertyFloat","Tracking","Draft",
obj.addProperty("App::PropertyLength","Size","Draft","Height of text")
obj.addProperty("App::PropertyLength","Tracking","Draft",
"Inter-character spacing")

def execute(self, obj):
Expand Down
34 changes: 22 additions & 12 deletions src/Mod/Draft/DraftGui.py
Expand Up @@ -380,18 +380,20 @@ def setupToolBar(self,task=False):
# shapestring

self.labelSSize = self._label("labelSize", self.layout)
self.SSizeValue = self._lineedit("SSizeValue", self.layout, width=60)
self.SSizeValue.setText("200.0")
self.SSizeValue = self._inputfield("SSizeValue", self.layout) #, width=60)
self.SSizeValue.setText(self.FORMAT % 1.0)
self.labelSTrack = self._label("labelTracking", self.layout)
self.STrackValue = self._lineedit("STrackValue", self.layout, width=60)
self.STrackValue.setText("0")
self.STrackValue = self._inputfield("STrackValue", self.layout) #, width=60)
self.STrackValue.setText(self.FORMAT % 0)
self.labelSString = self._label("labelString", self.layout)
self.SStringValue = self._lineedit("SStringValue", self.layout)
self.SStringValue.setText("")
self.labelFFile = self._label("labelFFile", self.layout)
self.FFileValue = self._lineedit("FFileValue", self.layout)
self.chooserButton = self._pushbutton("chooserButton", self.layout, width=26)
self.chooserButton.setText("...")
self.SSize = 1
self.STrack = 0

# options
fl = QtGui.QHBoxLayout()
Expand Down Expand Up @@ -481,8 +483,10 @@ def setupToolBar(self,task=False):
QtCore.QObject.connect(self.radiusValue,QtCore.SIGNAL("escaped()"),self.escape)
QtCore.QObject.connect(self.baseWidget,QtCore.SIGNAL("resized()"),self.relocate)
QtCore.QObject.connect(self.baseWidget,QtCore.SIGNAL("retranslate()"),self.retranslateUi)
QtCore.QObject.connect(self.SSizeValue,QtCore.SIGNAL("valueChanged(double)"),self.changeSSizeValue)
QtCore.QObject.connect(self.SSizeValue,QtCore.SIGNAL("returnPressed()"),self.validateSNumeric)
QtCore.QObject.connect(self.SSizeValue,QtCore.SIGNAL("escaped()"),self.escape)
QtCore.QObject.connect(self.STrackValue,QtCore.SIGNAL("valueChanged(double)"),self.changeSTrackValue)
QtCore.QObject.connect(self.STrackValue,QtCore.SIGNAL("returnPressed()"),self.validateSNumeric)
QtCore.QObject.connect(self.STrackValue,QtCore.SIGNAL("escaped()"),self.escape)
QtCore.QObject.connect(self.SStringValue,QtCore.SIGNAL("returnPressed()"),self.validateSString)
Expand Down Expand Up @@ -846,7 +850,7 @@ def SSizeUi(self):
self.SStringValue.hide()
self.continueCmd.hide()
self.labelSSize.show()
self.SSizeValue.setText('200.0')
self.SSizeValue.setText(self.FORMAT % 1.0)
self.SSizeValue.show()
self.SSizeValue.setFocus()

Expand All @@ -855,7 +859,7 @@ def STrackUi(self):
self.labelSSize.hide()
self.SSizeValue.hide()
self.labelSTrack.show()
self.STrackValue.setText('0')
self.STrackValue.setText(self.FORMAT % 0)
self.STrackValue.show()
self.STrackValue.setFocus()

Expand Down Expand Up @@ -1136,20 +1140,20 @@ def validateSNumeric(self):
if self.sourceCmd:
if (self.labelSSize.isVisible()):
try:
SSize=float(self.SSizeValue.text())
SSize=float(self.SSize)
except ValueError:
FreeCAD.Console.PrintMessage(translate("draft", "Invalid Size value. Using 200.0."))
self.sourceCmd.numericSSize(unicode("200.0"))
self.sourceCmd.numericSSize(200.0)
else:
self.sourceCmd.numericSSize(unicode(SSize))
self.sourceCmd.numericSSize(SSize)
elif (self.labelSTrack.isVisible()):
try:
track=int(self.STrackValue.text())
track=int(self.STrack)
except ValueError:
FreeCAD.Console.PrintMessage(translate("draft", "Invalid Tracking value. Using 0."))
self.sourceCmd.numericSTrack(unicode("0"))
self.sourceCmd.numericSTrack(0)
else:
self.sourceCmd.numericSTrack(unicode(track))
self.sourceCmd.numericSTrack(track)

def validateSString(self):
''' send a valid text string to ShapeString as unicode '''
Expand Down Expand Up @@ -1586,6 +1590,12 @@ def changeRadiusValue(self,d):
def changeOffsetValue(self,d):
self.offset = d

def changeSSizeValue(self,d):
self.SSize = d

def changeSTrackValue(self,d):
self.STrack = d

#---------------------------------------------------------------------------
# TaskView operations
#---------------------------------------------------------------------------
Expand Down

0 comments on commit dea3fa6

Please sign in to comment.