From dea3fa6c66b0b54bc354cf86b0eb9940984dfbdf Mon Sep 17 00:00:00 2001 From: WandererFan Date: Mon, 5 May 2014 17:47:54 -0400 Subject: [PATCH] issue #1524 Add UNITS to Draft Shapestring --- src/Mod/Draft/Draft.py | 4 ++-- src/Mod/Draft/DraftGui.py | 34 ++++++++++++++++++++++------------ 2 files changed, 24 insertions(+), 14 deletions(-) diff --git a/src/Mod/Draft/Draft.py b/src/Mod/Draft/Draft.py index bb349c8e2431..1ddd4dac96f0 100644 --- a/src/Mod/Draft/Draft.py +++ b/src/Mod/Draft/Draft.py @@ -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): diff --git a/src/Mod/Draft/DraftGui.py b/src/Mod/Draft/DraftGui.py index 7a391cedc337..0c23024111f6 100644 --- a/src/Mod/Draft/DraftGui.py +++ b/src/Mod/Draft/DraftGui.py @@ -380,11 +380,11 @@ 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("") @@ -392,6 +392,8 @@ def setupToolBar(self,task=False): 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() @@ -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) @@ -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() @@ -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() @@ -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 ''' @@ -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 #---------------------------------------------------------------------------