Changed list views to comboboxes in the table
This commit is contained in:
parent
5c1948d8b6
commit
1eb738fc3f
|
@ -20,6 +20,8 @@
|
|||
# * *
|
||||
# ******************************************************************************/
|
||||
|
||||
import FreeCAD # just for debug printing to console...
|
||||
|
||||
class SegmentFunctionSegment:
|
||||
"One segment of a segment function"
|
||||
start = 0
|
||||
|
@ -143,10 +145,10 @@ class SegmentFunction:
|
|||
return result
|
||||
|
||||
def output(self):
|
||||
print self.name, " = ",
|
||||
FreeCAD.Console.PrintMessage(self.name + " = ")
|
||||
for i in range(len(self.segments)):
|
||||
print self.segments[i].asString(),
|
||||
FreeCAD.Console.PrintMessage(self.segments[i].asString())
|
||||
if i < len(self.segments) - 1:
|
||||
print " + ",
|
||||
print ""
|
||||
FreeCAD.Console.PrintMessage(" + ")
|
||||
FreeCAD.Console.PrintMessage("\n")
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
# ******************************************************************************/
|
||||
|
||||
import os, tempfile
|
||||
import FreeCADGui
|
||||
import FreeCAD, FreeCADGui # FreeCAD just required for debug printing to the console...
|
||||
import WebGui
|
||||
from SegmentFunction import SegmentFunction
|
||||
from ShaftFeature import ShaftFeature
|
||||
|
@ -115,7 +115,7 @@ class Shaft:
|
|||
self.segments[index].loadLocation = loadLocation
|
||||
else:
|
||||
# TODO: Show warning
|
||||
print "Load location must be inside segment"
|
||||
FreeCAD.Console.PrintMessage("Load location must be inside segment\n")
|
||||
|
||||
#self.feature.updateForces() graphical representation of the forces
|
||||
self.equilibrium()
|
||||
|
@ -187,7 +187,7 @@ class Shaft:
|
|||
coefficientsMbz.append(1)
|
||||
else:
|
||||
# TODO: Better error message
|
||||
print "Fixed constraint must be at beginning or end of shaft"
|
||||
FreeCAD.Console.PrintMessage("Fixed constraint must be at beginning or end of shaft\n")
|
||||
return
|
||||
|
||||
locations["Fy%u" % i] = location
|
||||
|
@ -203,7 +203,7 @@ class Shaft:
|
|||
#elif lType == "None":
|
||||
# # No loads on segment
|
||||
|
||||
print "Segment: %u, type: %s, load: %f, location: %f" % (i, lType, load, location)
|
||||
FreeCAD.Console.PrintMessage("Segment: %u, type: %s, load: %f, location: %f\n" % (i, lType, load, location))
|
||||
|
||||
self.printEquilibrium(variableNames, coefficientsFy)
|
||||
self.printEquilibrium(variableNames, coefficientsMbz)
|
||||
|
@ -227,8 +227,8 @@ class Shaft:
|
|||
else:
|
||||
moments[locations[variableNames[2]]] = solution[1]
|
||||
|
||||
print forces
|
||||
print moments
|
||||
FreeCAD.Console.PrintMessage(forces)
|
||||
FreeCAD.Console.PrintMessage(moments)
|
||||
self.Qy = SegmentFunction("Qy")
|
||||
self.Qy.buildFromDict("x", forces)
|
||||
self.Qy.output()
|
||||
|
@ -241,12 +241,12 @@ class Shaft:
|
|||
# Auxiliary method for debugging purposes
|
||||
for i in range(len(var)):
|
||||
if i == 0:
|
||||
print "%f = " % coeff[i],
|
||||
FreeCAD.Console.PrintMessage("%f = " % coeff[i])
|
||||
else:
|
||||
print "%f * %s" % (coeff[i], var[i]),
|
||||
FreeCAD.Console.PrintMessage("%f * %s" % (coeff[i], var[i]))
|
||||
if (i < len(var) - 1) and (i != 0):
|
||||
print " + ",
|
||||
print ""
|
||||
FreeCAD.Console.PrintMessage(" + ")
|
||||
FreeCAD.Console.PrintMessage("\n")
|
||||
|
||||
def __del__(self):
|
||||
"Remove the temporary directory"
|
||||
|
|
|
@ -74,7 +74,7 @@ class WizardShaft:
|
|||
#self.shaft.htmlWindow = htmlWindow
|
||||
|
||||
def updateEdge(self, column, start):
|
||||
print "Not implemented yet - waiting for robust references..."
|
||||
App.Console.PrintMessage("Not implemented yet - waiting for robust references...")
|
||||
return
|
||||
if self.sketchClosed is not True:
|
||||
return
|
||||
|
@ -116,3 +116,6 @@ class WizardShaftGui:
|
|||
return {'Pixmap' : IconPath, 'MenuText': MenuText, 'ToolTip': ToolTip}
|
||||
|
||||
FreeCADGui.addCommand('PartDesign_WizardShaft', WizardShaftGui())
|
||||
|
||||
#Note: Start wizard in Python Console with
|
||||
# Gui.runCommand('PartDesign_WizardShaft')
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
# ******************************************************************************/
|
||||
|
||||
from PyQt4 import QtCore, QtGui
|
||||
import FreeCAD # Just for debug printing...
|
||||
|
||||
class WizardShaftTable:
|
||||
"The table widget that contains all the data of the shaft"
|
||||
|
@ -119,7 +120,7 @@ class WizardShaftTable:
|
|||
widget = QtGui.QDoubleSpinBox(self.widget)
|
||||
widget.setMinimum(0)
|
||||
widget.setMaximum(1E9)
|
||||
self.widget.setCellWidget(self.rowDict["Length"],index, widget)
|
||||
self.widget.setCellWidget(self.rowDict["Length"], index, widget)
|
||||
widget.setValue(length)
|
||||
widget.valueChanged.connect(self.slotValueChanged)
|
||||
widget.editingFinished.connect(self.slotEditingFinished)
|
||||
|
@ -127,25 +128,25 @@ class WizardShaftTable:
|
|||
widget = QtGui.QDoubleSpinBox(self.widget)
|
||||
widget.setMinimum(0)
|
||||
widget.setMaximum(1E9)
|
||||
self.widget.setCellWidget(self.rowDict["Diameter"],index, widget)
|
||||
self.widget.setCellWidget(self.rowDict["Diameter"], index, widget)
|
||||
widget.setValue(diameter)
|
||||
widget.valueChanged.connect(self.slotValueChanged)
|
||||
widget.editingFinished.connect(self.slotEditingFinished)
|
||||
# Load type
|
||||
widget = QtGui.QListWidget(self.widget)
|
||||
widget.insertItem(0, QtGui.QListWidgetItem("None", widget))
|
||||
widget.insertItem(1, QtGui.QListWidgetItem("Fixed", widget))
|
||||
widget.insertItem(2, QtGui.QListWidgetItem("Static", widget))
|
||||
widget.insertItem(3, QtGui.QListWidgetItem("Bearing", widget))
|
||||
widget.insertItem(4, QtGui.QListWidgetItem("Pulley", widget))
|
||||
self.widget.setCellWidget(self.rowDict["LoadType"],index, widget)
|
||||
widget.setCurrentRow(0)
|
||||
widget.currentItemChanged.connect(self.slotLoadType)
|
||||
widget = QtGui.QComboBox(self.widget)
|
||||
widget.insertItem(0, "None")
|
||||
widget.insertItem(1, "Fixed")
|
||||
widget.insertItem(2, "Static")
|
||||
widget.insertItem(3, "Bearing")
|
||||
widget.insertItem(4, "Pulley")
|
||||
self.widget.setCellWidget(self.rowDict["LoadType"], index, widget)
|
||||
widget.setCurrentIndex(0)
|
||||
self.widget.connect(widget, QtCore.SIGNAL("currentIndexChanged(const QString&)"), self.slotLoadType)
|
||||
# Load size
|
||||
widget = QtGui.QDoubleSpinBox(self.widget)
|
||||
widget.setMinimum(-1E9)
|
||||
widget.setMaximum(1E9)
|
||||
self.widget.setCellWidget(self.rowDict["LoadSize"],index, widget)
|
||||
self.widget.setCellWidget(self.rowDict["LoadSize"], index, widget)
|
||||
widget.setValue(0)
|
||||
widget.valueChanged.connect(self.slotValueChanged)
|
||||
widget.editingFinished.connect(self.slotEditingFinished)
|
||||
|
@ -153,18 +154,18 @@ class WizardShaftTable:
|
|||
widget = QtGui.QDoubleSpinBox(self.widget)
|
||||
widget.setMinimum(0)
|
||||
widget.setMaximum(1E9)
|
||||
self.widget.setCellWidget(self.rowDict["LoadLocation"],index, widget)
|
||||
self.widget.setCellWidget(self.rowDict["LoadLocation"], index, widget)
|
||||
widget.setValue(0)
|
||||
widget.valueChanged.connect(self.slotValueChanged)
|
||||
widget.editingFinished.connect(self.slotEditingFinished)
|
||||
# Start edge type
|
||||
widget = QtGui.QListWidget(self.widget)
|
||||
widget.insertItem(0, QtGui.QListWidgetItem("None", widget))
|
||||
widget.insertItem(1, QtGui.QListWidgetItem("Chamfer", widget))
|
||||
widget.insertItem(2, QtGui.QListWidgetItem("Fillet", widget))
|
||||
widget = QtGui.QComboBox(self.widget)
|
||||
widget.insertItem(0, "None",)
|
||||
widget.insertItem(1, "Chamfer")
|
||||
widget.insertItem(2, "Fillet")
|
||||
self.widget.setCellWidget(self.rowDict["StartEdgeType"],index, widget)
|
||||
widget.setCurrentRow(0)
|
||||
widget.currentItemChanged.connect(self.slotStartEdgeType)
|
||||
widget.setCurrentIndex(0)
|
||||
self.widget.connect(widget, QtCore.SIGNAL("currentIndexChanged(const QString&)"), self.slotLoadType)
|
||||
# Start edge size
|
||||
widget = QtGui.QDoubleSpinBox(self.widget)
|
||||
widget.setMinimum(0)
|
||||
|
@ -174,13 +175,13 @@ class WizardShaftTable:
|
|||
widget.valueChanged.connect(self.slotValueChanged)
|
||||
widget.editingFinished.connect(self.slotEditingFinished)
|
||||
# End edge type
|
||||
widget = QtGui.QListWidget(self.widget)
|
||||
widget.insertItem(0, QtGui.QListWidgetItem("None", widget))
|
||||
widget.insertItem(1, QtGui.QListWidgetItem("Chamfer", widget))
|
||||
widget.insertItem(2, QtGui.QListWidgetItem("Fillet", widget))
|
||||
widget = QtGui.QComboBox(self.widget)
|
||||
widget.insertItem(0, "None",)
|
||||
widget.insertItem(1, "Chamfer")
|
||||
widget.insertItem(2, "Fillet")
|
||||
self.widget.setCellWidget(self.rowDict["EndEdgeType"],index, widget)
|
||||
widget.setCurrentRow(0)
|
||||
widget.currentItemChanged.connect(self.slotEndEdgeType)
|
||||
widget.setCurrentIndex(0)
|
||||
self.widget.connect(widget, QtCore.SIGNAL("currentIndexChanged(const QString&)"), self.slotLoadType)
|
||||
# End edge size
|
||||
widget = QtGui.QDoubleSpinBox(self.widget)
|
||||
widget.setMinimum(0)
|
||||
|
@ -231,11 +232,12 @@ class WizardShaftTable:
|
|||
def getDiameter(self, column):
|
||||
return self.getDoubleValue("Diameter", column)
|
||||
|
||||
def slotLoadType(self, new, old):
|
||||
if new.text() != "Fixed":
|
||||
@QtCore.pyqtSlot('QString')
|
||||
def slotLoadType(self, text):
|
||||
if text != "Fixed":
|
||||
if (self.getLoadSize is None) or (self.getLoadLocation is None):
|
||||
return
|
||||
self.shaft.updateLoad(self.getFocusedColumn(), loadType = new.text())
|
||||
self.shaft.updateLoad(self.getFocusedColumn(), loadType = text)
|
||||
|
||||
def setLoadType(self, column, t):
|
||||
self.setListValue("LoadType", column, t)
|
||||
|
@ -305,13 +307,13 @@ class WizardShaftTable:
|
|||
def setListValue(self, row, column, v):
|
||||
widget = self.widget.cellWidget(self.rowDict[row], column)
|
||||
widget.blockSignals(True)
|
||||
widget.setCurrentItem(widget.findItems(v, QtCore.Qt.MatchExactly)[0])
|
||||
widget.setCurrentIndex(widget.findText(v, QtCore.Qt.MatchExactly))
|
||||
widget.blockSignals(False)
|
||||
|
||||
def getListValue(self, row, column):
|
||||
widget = self.widget.cellWidget(self.rowDict[row], column)
|
||||
if widget is not None:
|
||||
return widget.currentItem().text().toAscii()[0].upper()
|
||||
return widget.currentText().toAscii()[0].upper()
|
||||
else:
|
||||
return None
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user