Further fixes of 0000688 in Draft Gui
This commit is contained in:
parent
6e69faa86d
commit
e12bc00f9b
|
@ -150,6 +150,8 @@ class DraftTaskPanel:
|
|||
FreeCADGui.ActiveDocument.resetEdit()
|
||||
return True
|
||||
def reject(self):
|
||||
FreeCADGui.draftToolBar.isTaskOn = False
|
||||
FreeCADGui.draftToolBar.escape()
|
||||
FreeCADGui.ActiveDocument.resetEdit()
|
||||
return True
|
||||
|
||||
|
@ -169,6 +171,7 @@ class DraftToolBar:
|
|||
self.paramconstr = Draft.getParam("constructioncolor")>>8
|
||||
self.constrMode = False
|
||||
self.continueMode = False
|
||||
self.relativeMode = True
|
||||
self.state = None
|
||||
self.textbuffer = []
|
||||
self.crossedViews = []
|
||||
|
@ -307,7 +310,7 @@ class DraftToolBar:
|
|||
self.labelRadius = self._label("labelRadius", self.layout)
|
||||
self.radiusValue = self._lineedit("radiusValue", self.layout, width=60)
|
||||
self.radiusValue.setText("0.00")
|
||||
self.isRelative = self._checkbox("isRelative",self.layout,checked=True)
|
||||
self.isRelative = self._checkbox("isRelative",self.layout,checked=self.relativeMode)
|
||||
self.hasFill = self._checkbox("hasFill",self.layout,checked=self.fillmode)
|
||||
self.continueCmd = self._checkbox("continueCmd",self.layout,checked=self.continueMode)
|
||||
self.occOffset = self._checkbox("occOffset",self.layout,checked=False)
|
||||
|
@ -358,6 +361,7 @@ class DraftToolBar:
|
|||
QtCore.QObject.connect(self.xzButton,QtCore.SIGNAL("clicked()"),self.selectXZ)
|
||||
QtCore.QObject.connect(self.yzButton,QtCore.SIGNAL("clicked()"),self.selectYZ)
|
||||
QtCore.QObject.connect(self.continueCmd,QtCore.SIGNAL("stateChanged(int)"),self.setContinue)
|
||||
QtCore.QObject.connect(self.isRelative,QtCore.SIGNAL("stateChanged(int)"),self.setRelative)
|
||||
QtCore.QObject.connect(self.hasFill,QtCore.SIGNAL("stateChanged(int)"),self.setFill)
|
||||
QtCore.QObject.connect(self.currentViewButton,QtCore.SIGNAL("clicked()"),self.selectCurrentView)
|
||||
QtCore.QObject.connect(self.resetPlaneButton,QtCore.SIGNAL("clicked()"),self.selectResetPlane)
|
||||
|
@ -712,7 +716,8 @@ class DraftToolBar:
|
|||
self.radiusValue.setFocus()
|
||||
self.radiusValue.selectAll()
|
||||
|
||||
def setRelative(self):
|
||||
def setRelative(self,val=1):
|
||||
self.relativeMode = bool(val)
|
||||
if (not self.taskmode) or self.isTaskOn:
|
||||
self.isRelative.show()
|
||||
|
||||
|
@ -836,9 +841,9 @@ class DraftToolBar:
|
|||
pass
|
||||
else:
|
||||
if self.pointcallback:
|
||||
self.pointcallback(FreeCAD.Vector(numx,numy,numz),(self.isRelative.isVisible() and self.isRelative.isChecked()))
|
||||
self.pointcallback(FreeCAD.Vector(numx,numy,numz),self.relativeMode)
|
||||
else:
|
||||
if self.isRelative.isVisible() and self.isRelative.isChecked():
|
||||
if self.relativeMode:
|
||||
if self.sourceCmd.node:
|
||||
if self.sourceCmd.featureName == "Rectangle":
|
||||
last = self.sourceCmd.node[0]
|
||||
|
@ -903,6 +908,7 @@ class DraftToolBar:
|
|||
spec = False
|
||||
if txt.endsWith(" ") or txt.endsWith("r"):
|
||||
self.isRelative.setChecked(not self.isRelative.isChecked())
|
||||
self.relativeMode = self.isRelative.isChecked()
|
||||
spec = True
|
||||
elif txt.endsWith("i"):
|
||||
if self.hasFill.isVisible():
|
||||
|
@ -972,44 +978,46 @@ class DraftToolBar:
|
|||
def displayPoint(self, point, last=None, plane=None, mask=None):
|
||||
"this function displays the passed coords in the x, y, and z widgets"
|
||||
|
||||
# get coords to display
|
||||
dp = point
|
||||
if self.isRelative.isChecked() and (last != None):
|
||||
if plane:
|
||||
dp = plane.getLocalCoords(FreeCAD.Vector(point.x-last.x, point.y-last.y, point.z-last.z))
|
||||
if (not self.taskmode) or self.isTaskOn:
|
||||
|
||||
# get coords to display
|
||||
dp = point
|
||||
if self.relativeMode and (last != None):
|
||||
if plane:
|
||||
dp = plane.getLocalCoords(FreeCAD.Vector(point.x-last.x, point.y-last.y, point.z-last.z))
|
||||
else:
|
||||
dp = FreeCAD.Vector(point.x-last.x, point.y-last.y, point.z-last.z)
|
||||
|
||||
# set widgets
|
||||
self.xValue.setText("%.2f" % dp.x)
|
||||
self.yValue.setText("%.2f" % dp.y)
|
||||
self.zValue.setText("%.2f" % dp.z)
|
||||
|
||||
# set masks
|
||||
if mask == "x":
|
||||
self.xValue.setEnabled(True)
|
||||
self.yValue.setEnabled(False)
|
||||
self.zValue.setEnabled(False)
|
||||
self.xValue.setFocus()
|
||||
self.xValue.selectAll()
|
||||
elif mask == "y":
|
||||
self.xValue.setEnabled(False)
|
||||
self.yValue.setEnabled(True)
|
||||
self.zValue.setEnabled(False)
|
||||
self.yValue.setFocus()
|
||||
self.yValue.selectAll()
|
||||
elif mask == "z":
|
||||
self.xValue.setEnabled(False)
|
||||
self.yValue.setEnabled(False)
|
||||
self.zValue.setEnabled(True)
|
||||
self.zValue.setFocus()
|
||||
self.zValue.selectAll()
|
||||
else:
|
||||
dp = FreeCAD.Vector(point.x-last.x, point.y-last.y, point.z-last.z)
|
||||
|
||||
# set widgets
|
||||
self.xValue.setText("%.2f" % dp.x)
|
||||
self.yValue.setText("%.2f" % dp.y)
|
||||
self.zValue.setText("%.2f" % dp.z)
|
||||
|
||||
# set masks
|
||||
if mask == "x":
|
||||
self.xValue.setEnabled(True)
|
||||
self.yValue.setEnabled(False)
|
||||
self.zValue.setEnabled(False)
|
||||
self.xValue.setFocus()
|
||||
self.xValue.selectAll()
|
||||
elif mask == "y":
|
||||
self.xValue.setEnabled(False)
|
||||
self.yValue.setEnabled(True)
|
||||
self.zValue.setEnabled(False)
|
||||
self.yValue.setFocus()
|
||||
self.yValue.selectAll()
|
||||
elif mask == "z":
|
||||
self.xValue.setEnabled(False)
|
||||
self.yValue.setEnabled(False)
|
||||
self.zValue.setEnabled(True)
|
||||
self.zValue.setFocus()
|
||||
self.zValue.selectAll()
|
||||
else:
|
||||
self.xValue.setEnabled(True)
|
||||
self.yValue.setEnabled(True)
|
||||
self.zValue.setEnabled(True)
|
||||
self.xValue.setFocus()
|
||||
self.xValue.selectAll()
|
||||
self.xValue.setEnabled(True)
|
||||
self.yValue.setEnabled(True)
|
||||
self.zValue.setEnabled(True)
|
||||
self.xValue.setFocus()
|
||||
self.xValue.selectAll()
|
||||
|
||||
|
||||
def getDefaultColor(self,type,rgb=False):
|
||||
|
|
Loading…
Reference in New Issue
Block a user