PATH: Fix for x10 input field issue in tool table

This commit is contained in:
Sebastian Stetter 2017-01-13 00:36:41 +01:00 committed by wmayer
parent a588349173
commit 0f7d4ac46c
5 changed files with 1010 additions and 1003 deletions

View File

@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>352</width>
<height>525</height>
<width>268</width>
<height>440</height>
</rect>
</property>
<property name="minimumSize">
@ -33,8 +33,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>334</width>
<height>395</height>
<width>250</width>
<height>310</height>
</rect>
</property>
<attribute name="icon">
@ -186,8 +186,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>144</width>
<height>56</height>
<width>334</width>
<height>395</height>
</rect>
</property>
<attribute name="icon">
@ -236,8 +236,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>203</width>
<height>31</height>
<width>334</width>
<height>132</height>
</rect>
</property>
<attribute name="icon">

View File

@ -195,13 +195,6 @@
</property>
</widget>
</item>
<item row="16" column="1">
<widget class="QDoubleSpinBox" name="CuttingEdgeAngleField">
<property name="suffix">
<string>°</string>
</property>
</widget>
</item>
<item row="18" column="0">
<widget class="QLabel" name="label_8">
<property name="text">
@ -292,6 +285,13 @@
</property>
</widget>
</item>
<item row="16" column="1">
<widget class="Gui::InputField" name="CuttingEdgeAngleField">
<property name="unit" stdset="0">
<string notr="true">°</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>

File diff suppressed because it is too large Load Diff

View File

@ -218,7 +218,7 @@ class ToolLibraryManager():
itemName = QtGui.QStandardItem(t.Name)
itemToolType = QtGui.QStandardItem(t.ToolType)
itemMaterial = QtGui.QStandardItem(t.Material)
itemDiameter = QtGui.QStandardItem(unitconv(t.Diameter))
itemDiameter = QtGui.QStandardItem(unitconv(t.Diameter))
itemLengthOffset = QtGui.QStandardItem(unitconv(t.LengthOffset))
itemFlatRadius = QtGui.QStandardItem(unitconv(t.FlatRadius))
itmCornerRadius = QtGui.QStandardItem(unitconv(t.CornerRadius))
@ -239,29 +239,37 @@ class ToolLibraryManager():
Handler = HeeksTooltableHandler()
else:
Handler = FreeCADTooltableHandler()
parser.setContentHandler(Handler)
parser.parse(str(filename[0]))
if not Handler.tooltable:
return None
ht = Handler.tooltable
tt = self._findList(listname)
for t in ht.Tools:
newt = ht.getTool(t).copy()
tt.addTools(newt)
if listname == "<Main>":
self.saveMainLibrary(tt)
return True
try:
parser.setContentHandler(Handler)
parser.parse(unicode(filename[0]))
if not Handler.tooltable:
return None
ht = Handler.tooltable
tt = self._findList(listname)
for t in ht.Tools:
newt = ht.getTool(t).copy()
tt.addTools(newt)
if listname == "<Main>":
self.saveMainLibrary(tt)
return True
except Exception, e:
print "could not parse file", e
def write(self, filename, listname):
"exports the tooltable to a file"
tt = self._findList(listname)
if tt:
fil = open(str(filename[0]), "wb")
fil.write('<?xml version="1.0" encoding="UTF-8"?>\n')
fil.write(tt.Content)
fil.close()
print "Written ", filename[0]
try:
file = open(unicode(filename[0]), "wb")
file.write('<?xml version="1.0" encoding="UTF-8"?>\n')
file.write(tt.Content)
file.close()
print "Written ", unicode(filename[0])
except Exception, e:
print "Could not write file:", e
def addnew(self, listname, tool, position = None):
"adds a new tool at the end of the table"
@ -411,14 +419,14 @@ class EditorPanel():
r = editform.exec_()
if r:
if editform.NameField.text():
t.Name = str(editform.NameField.text())
t.Name = str(editform.NameField.text()) #FIXME: not unicode safe!
t.ToolType = self.getType(editform.TypeField.currentIndex())
t.Material = self.getMaterial(editform.MaterialField.currentIndex())
t.Diameter = FreeCAD.Units.parseQuantity(editform.DiameterField.text())
t.LengthOffset = FreeCAD.Units.parseQuantity(editform.LengthOffsetField.text())
t.FlatRadius = FreeCAD.Units.parseQuantity(editform.FlatRadiusField.text())
t.CornerRadius = FreeCAD.Units.parseQuantity(editform.CornerRadiusField.text())
t.CuttingEdgeAngle = editform.CuttingEdgeAngleField.value()
t.CuttingEdgeAngle = FreeCAD.Units.Quantity(editform.CuttingEdgeAngleField.text())
t.CuttingEdgeHeight = FreeCAD.Units.parseQuantity(editform.CuttingEdgeHeightField.text())
listname = self.form.listView.selectedIndexes()[0].data()
@ -480,24 +488,24 @@ class EditorPanel():
editform.NameField.setText(tool.Name)
editform.TypeField.setCurrentIndex(self.getType(tool.ToolType))
editform.MaterialField.setCurrentIndex(self.getMaterial(tool.Material))
editform.DiameterField.setText(str(tool.Diameter))
editform.LengthOffsetField.setText(str(tool.LengthOffset))
editform.FlatRadiusField.setText(str(tool.FlatRadius))
editform.CornerRadiusField.setText(str(tool.CornerRadius))
editform.CuttingEdgeAngleField.setValue(tool.CuttingEdgeAngle)
editform.CuttingEdgeHeightField.setText(str(tool.CuttingEdgeHeight))
editform.DiameterField.setText(FreeCAD.Units.Quantity(tool.Diameter, FreeCAD.Units.Length).UserString)
editform.LengthOffsetField.setText(FreeCAD.Units.Quantity(tool.LengthOffset, FreeCAD.Units.Length).UserString)
editform.FlatRadiusField.setText(FreeCAD.Units.Quantity(tool.FlatRadius, FreeCAD.Units.Length).UserString)
editform.CornerRadiusField.setText(FreeCAD.Units.Quantity(tool.CornerRadius, FreeCAD.Units.Length).UserString)
editform.CuttingEdgeAngleField.setText(FreeCAD.Units.Quantity(tool.CuttingEdgeAngle, FreeCAD.Units.Angle).UserString)
editform.CuttingEdgeHeightField.setText(FreeCAD.Units.Quantity(tool.CuttingEdgeHeight, FreeCAD.Units.Length).UserString)
r = editform.exec_()
if r:
if editform.NameField.text():
tool.Name = str(editform.NameField.text())
tool.Name = str(editform.NameField.text()) #FIXME: not unicode safe!
tool.ToolType = self.getType(editform.TypeField.currentIndex())
tool.Material = self.getMaterial(editform.MaterialField.currentIndex())
tool.Diameter = FreeCAD.Units.parseQuantity(editform.DiameterField.text())
tool.LengthOffset = FreeCAD.Units.parseQuantity(editform.LengthOffsetField.text())
tool.FlatRadius = FreeCAD.Units.parseQuantity(editform.FlatRadiusField.text())
tool.CornerRadius = FreeCAD.Units.parseQuantity(editform.CornerRadiusField.text())
tool.CuttingEdgeAngle = editform.CuttingEdgeAngleField.value()
tool.CuttingEdgeAngle = FreeCAD.Units.Quantity(editform.CuttingEdgeAngleField.text())
tool.CuttingEdgeHeight = FreeCAD.Units.parseQuantity(editform.CuttingEdgeHeightField.text())
if self.TLM.updateTool(listname, toolnum, tool) is True:
@ -505,9 +513,8 @@ class EditorPanel():
def importFile(self):
"imports a tooltable from a file"
filename = QtGui.QFileDialog.getOpenFileName(self.form, _translate(
"TooltableEditor", "Open tooltable", None), None, _translate("TooltableEditor", "Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable)", None))
if filename:
filename = QtGui.QFileDialog.getOpenFileName(self.form, _translate( "TooltableEditor", "Open tooltable", None), None, _translate("TooltableEditor", "Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable)", None))
if filename[0]:
listname = self.form.listView.selectedIndexes()[0].data()
if self.TLM.read(filename, listname):
self.loadTable(self.form.listView.selectedIndexes()[0])
@ -517,7 +524,7 @@ class EditorPanel():
"imports a tooltable from a file"
filename = QtGui.QFileDialog.getSaveFileName(self.form, _translate("TooltableEditor", "Save tooltable", None), None, _translate("TooltableEditor", "Tooltable XML (*.xml)", None))
if filename:
if filename[0]:
listname = self.form.listView.selectedIndexes()[0].data()
self.TLM.write(filename, listname)