[Draft] Remove obsolete ShapeString code from DraftGui.py (#9102)

This commit is contained in:
Roy-043
2023-03-28 17:26:14 +02:00
committed by GitHub
parent 0457c4e794
commit d65b05c3df

View File

@@ -48,7 +48,6 @@ import Draft
import DraftVecUtils
from draftutils.translate import translate
from draftutils.utils import utf8_decode
# in-command shortcut definitions: Shortcut / Translation / related UI control
inCommandShortcuts = {
@@ -461,24 +460,6 @@ class DraftToolBar:
self.angleValue = self._inputfield("angleValue", al)
self.angleValue.setText(FreeCAD.Units.Quantity(0,FreeCAD.Units.Angle).UserString)
# shapestring
self.labelSSize = self._label("labelSize", self.layout)
self.SSizeValue = self._inputfield("SSizeValue", self.layout) #, width=60)
self.SSizeValue.setText(FreeCAD.Units.Quantity(1,FreeCAD.Units.Length).UserString)
self.labelSTrack = self._label("labelTracking", self.layout)
self.STrackValue = self._inputfield("STrackValue", self.layout) #, width=60)
self.STrackValue.setText(FreeCAD.Units.Quantity(0,FreeCAD.Units.Length).UserString)
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()
@@ -564,13 +545,6 @@ class DraftToolBar:
QtCore.QObject.connect(self.hasFill,QtCore.SIGNAL("stateChanged(int)"),self.setFill)
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.STrackValue,QtCore.SIGNAL("valueChanged(double)"),self.changeSTrackValue)
QtCore.QObject.connect(self.STrackValue,QtCore.SIGNAL("returnPressed()"),self.validateSNumeric)
QtCore.QObject.connect(self.SStringValue,QtCore.SIGNAL("returnPressed()"),self.validateSString)
QtCore.QObject.connect(self.chooserButton,QtCore.SIGNAL("pressed()"),self.pickFile)
QtCore.QObject.connect(self.FFileValue,QtCore.SIGNAL("returnPressed()"),self.validateFile)
def setupTray(self):
"""sets draft tray buttons up"""
@@ -697,14 +671,6 @@ class DraftToolBar:
self.isCopy.setToolTip(translate("draft", "If checked, objects will be copied instead of moved. Preferences -> Draft -> Global copy mode to keep this mode in next commands"))
self.isSubelementMode.setText(translate("draft", "Modify subelements")+" ("+inCommandShortcuts["SubelementMode"][0]+")")
self.isSubelementMode.setToolTip(translate("draft", "If checked, subelements will be modified instead of entire objects"))
self.SStringValue.setToolTip(translate("draft", "Text string to draw"))
self.labelSString.setText(translate("draft", "String"))
self.SSizeValue.setToolTip(translate("draft", "Height of text"))
self.labelSSize.setText(translate("draft", "Height"))
self.STrackValue.setToolTip(translate("draft", "Intercharacter spacing"))
self.labelSTrack.setText(translate("draft", "Tracking"))
self.labelFFile.setText(translate("draft", "Full path to font file:"))
self.chooserButton.setToolTip(translate("draft", "Open a FileChooser for font file"))
self.textOkButton.setText(translate("draft", "Create text"))
self.textOkButton.setToolTip(translate("draft", "Press this button to create the text object, or finish your text with two blank lines"))
self.retranslateTray(widget)
@@ -1156,79 +1122,6 @@ class DraftToolBar:
FreeCADGui.ActiveDocument.resetEdit()
return True
def validateSNumeric(self):
''' send valid numeric parameters to ShapeString '''
if self.sourceCmd:
if (self.labelSSize.isVisible()):
try:
SSize=float(self.SSize)
except ValueError:
FreeCAD.Console.PrintMessage(translate("draft", "Invalid Size value. Using 200.0."))
self.sourceCmd.numericSSize(200.0)
else:
self.sourceCmd.numericSSize(SSize)
elif (self.labelSTrack.isVisible()):
try:
track=int(self.STrack)
except ValueError:
FreeCAD.Console.PrintMessage(translate("draft", "Invalid Tracking value. Using 0."))
self.sourceCmd.numericSTrack(0)
else:
self.sourceCmd.numericSTrack(track)
def validateSString(self):
''' send a valid text string to ShapeString as unicode '''
if self.sourceCmd:
if (self.labelSString.isVisible()):
if self.SStringValue.text():
#print("debug: D_G DraftToolBar.validateSString type(SStringValue.text): " str(type(self.SStringValue.text)))
#self.sourceCmd.validSString(str(self.SStringValue.text())) # QString to QByteArray to PyString
self.sourceCmd.validSString(self.SStringValue.text()) # PySide returns Unicode from QString
else:
FreeCAD.Console.PrintMessage(translate("draft", "Please enter a text string."))
def pickFile(self):
''' invoke a font file chooser dialog and send result to ShapeString to'''
if self.sourceCmd:
if (self.chooserButton.isVisible()):
try:
dialogCaption = translate("draft", "Select a Font file")
dialogDir = os.path.dirname(Draft.getParam("FontFile",)) # reasonable default?
dialogFilter = "Fonts (*.ttf *.pfb *.otf);;All files (*.*)"
fname = QtGui.QFileDialog.getOpenFileName(self.baseWidget,
dialogCaption,
dialogDir,
dialogFilter)
# fname = utf8_decode(fname[0]) # 1947: utf8_decode fails ('ascii' codec can't encode character)
# when fname[0] contains accented chars
fname = fname[0].encode('utf8') #TODO: this needs changing for Py3??
# accented chars cause "UnicodeEncodeError" failure in DraftGui.todo without
# .encode('utf8')
except Exception as e:
FreeCAD.Console.PrintMessage("DraftGui.pickFile: unable to select a font file.")
print(type(e))
print(e.args)
else:
if fname[0]:
self.FFileValue.setText(fname)
self.sourceCmd.validFFile(fname)
else:
FreeCAD.Console.PrintMessage("DraftGui.pickFile: no file selected.") # can this happen?
def validateFile(self):
''' check and send font file parameter to ShapeString as unicode'''
if self.sourceCmd:
if (self.labelFFile.isVisible()):
if self.FFileValue.text():
# QString to PyString
self.sourceCmd.validFFile(
utf8_decode(self.FFileValue.text()))
else:
FreeCAD.Console.PrintMessage(
translate("draft", "Please enter a font file."))
def finish(self, cont=None):
"""finish button action"""
if self.sourceCmd:
@@ -1736,12 +1629,6 @@ class DraftToolBar:
def changeRadiusValue(self,d):
self.radius = d
def changeSSizeValue(self,d):
self.SSize = d
def changeSTrackValue(self,d):
self.STrack = d
def changeLengthValue(self,d):
self.lvalue = d
if not self.lengthValue.hasFocus():