Reinstate use of default font from Draft Preferences

Fix handling of mouse events & effect on feature base point
This commit is contained in:
WandererFan 2013-12-11 10:58:34 -05:00 committed by Yorik van Havre
parent 0db516028c
commit 8b977debaf
2 changed files with 10 additions and 10 deletions

View File

@ -327,7 +327,6 @@ class DraftToolBar:
self.SStringValue.setText("")
self.labelFFile = self._label("labelFFile", self.layout)
self.FFileValue = self._lineedit("FFileValue", self.layout)
defFile = Draft.getParam("FontFile","")
self.chooserButton = self._pushbutton("chooserButton", self.layout, width=26)
self.chooserButton.setText("...")
@ -515,7 +514,7 @@ class DraftToolBar:
self.labelSSize.setText(translate("draft", "Height"))
self.STrackValue.setToolTip(translate("draft", "Intercharacter spacing"))
self.labelSTrack.setText(translate("draft", "Tracking"))
self.labelFFile.setText(translate("draft", "Pick a font file"))
self.labelFFile.setText(translate("draft", "Full path to font file:"))
self.chooserButton.setToolTip(translate("draft", "Open a FileChooser for font file"))
if (not self.taskmode) or self.tray:
@ -746,6 +745,8 @@ class DraftToolBar:
''' set up UI for ShapeString font file selection '''
self.labelSTrack.hide()
self.STrackValue.hide()
if not self.FFileValue.text():
self.FFileValue.setText(Draft.getParam("FontFile",""))
self.labelFFile.show()
self.FFileValue.show()
self.chooserButton.show()
@ -1040,6 +1041,7 @@ class DraftToolBar:
print e.args
else:
if fname:
self.FFileValue.setText(fname)
self.sourceCmd.validFFile(fname)
else:
FreeCAD.Console.PrintMessage("DraftGui.pickFile: no file selected.") # can this happen?

View File

@ -1816,6 +1816,7 @@ class ShapeString(Creator):
self.ui.pointUi(name)
self.active = True
self.call = self.view.addEventCallback("SoEvent",self.action)
self.ssBase = None
self.ui.xValue.setFocus()
self.ui.xValue.selectAll()
msg(translate("draft", "Pick ShapeString location point:\n"))
@ -1846,14 +1847,12 @@ class ShapeString(Creator):
['import Draft',
'ss=Draft.makeShapeString(String='+String+',FontFile='+FFile+',Size='+Size+',Tracking='+Tracking+')',
'plm=FreeCAD.Placement()',
'plm.Base='+DraftVecUtils.toString(self.point),
'plm.Base='+DraftVecUtils.toString(self.ssBase),
'plm.Rotation.Q='+qr,
'ss.Placement=plm',
'ss.Support='+sup])
except Exception as e:
msg("Draft_ShapeString: error delaying commit", "error")
#print type(e)
#print e.args
self.finish()
def action(self,arg):
@ -1863,11 +1862,11 @@ class ShapeString(Creator):
self.finish()
elif arg["Type"] == "SoLocation2Event": #mouse movement detection
if self.active:
self.point,ctrlPoint,info = getPoint(self,arg)
self.point,ctrlPoint,info = getPoint(self,arg,noTracker=True)
elif arg["Type"] == "SoMouseButtonEvent":
if (arg["State"] == "DOWN") and (arg["Button"] == "BUTTON1"):
if self.point:
self.node.append(self.point)
if not self.ssBase:
self.ssBase = self.point
self.active = False
FreeCADGui.Snapper.off()
self.ui.SSUi()
@ -1875,8 +1874,7 @@ class ShapeString(Creator):
def numericInput(self,numx,numy,numz):
'''this function gets called by the toolbar when valid
x, y, and z have been entered there'''
self.point = Vector(numx,numy,numz)
self.node.append(self.point)
self.ssBase = Vector(numx,numy,numz)
self.ui.SSUi() #move on to next step in parameter entry
def numericSSize(self,ssize):