Added additional TaskBox to Arch Wall tool
Additional parameters such as height and width can now be set during wall drawing
This commit is contained in:
@@ -136,8 +136,14 @@ class DraftLineEdit(QtGui.QLineEdit):
|
||||
QtGui.QLineEdit.keyPressEvent(self, event)
|
||||
|
||||
class DraftTaskPanel:
|
||||
def __init__(self,widget):
|
||||
self.form = widget
|
||||
def __init__(self,widget,extra=None):
|
||||
if extra:
|
||||
if isinstance(extra,list):
|
||||
self.form = [widget] + extra
|
||||
else:
|
||||
self.form = [widget,extra]
|
||||
else:
|
||||
self.form = widget
|
||||
def getStandardButtons(self):
|
||||
return int(QtGui.QDialogButtonBox.Cancel)
|
||||
def accept(self):
|
||||
@@ -318,21 +324,6 @@ class DraftToolBar:
|
||||
self.resetPlaneButton = self._pushbutton("none", self.layout)
|
||||
self.isCopy = self._checkbox("isCopy",self.layout,checked=False)
|
||||
|
||||
# options buttons for other workbenches
|
||||
|
||||
op1 = QtGui.QHBoxLayout()
|
||||
self.layout.addLayout(op1)
|
||||
self.labelop1 = self._label("labelop1", op1)
|
||||
self.valueop1 = self._lineedit("valueop1", op1)
|
||||
op2 = QtGui.QHBoxLayout()
|
||||
self.layout.addLayout(op2)
|
||||
self.labelop2 = self._label("labelop2", op2)
|
||||
self.valueop2 = self._lineedit("valueop2", op2)
|
||||
op3 = QtGui.QHBoxLayout()
|
||||
self.layout.addLayout(op3)
|
||||
self.labelop3 = self._label("labelop3", op3)
|
||||
self.valueop3 = self._combo("valueop3", op3)
|
||||
|
||||
# spacer
|
||||
if not self.taskmode:
|
||||
spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding,
|
||||
@@ -485,19 +476,17 @@ class DraftToolBar:
|
||||
# Interface modes
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
def taskUi(self,title,):
|
||||
def taskUi(self,title,extra=None):
|
||||
if self.taskmode:
|
||||
self.isTaskOn = True
|
||||
todo.delay(FreeCADGui.Control.closeDialog,None)
|
||||
self.baseWidget = QtGui.QWidget()
|
||||
self.setTitle(title)
|
||||
self.layout = QtGui.QVBoxLayout(self.baseWidget)
|
||||
self.setupToolBar(task=True)
|
||||
self.retranslateUi(self.baseWidget)
|
||||
self.panel = DraftTaskPanel(self.baseWidget)
|
||||
self.panel = DraftTaskPanel(self.baseWidget,extra)
|
||||
todo.delay(FreeCADGui.Control.showDialog,self.panel)
|
||||
else:
|
||||
self.setTitle(title)
|
||||
self.setTitle(title)
|
||||
|
||||
def selectPlaneUi(self):
|
||||
self.taskUi(translate("draft", "Select Plane"))
|
||||
@@ -535,7 +524,7 @@ class DraftToolBar:
|
||||
def pointUi(self,title=translate("draft","Point"),cancel=None,extra=None,getcoords=None,rel=False):
|
||||
if cancel: self.cancel = cancel
|
||||
if getcoords: self.pointcallback = getcoords
|
||||
self.taskUi(title)
|
||||
self.taskUi(title,extra)
|
||||
self.xValue.setEnabled(True)
|
||||
self.yValue.setEnabled(True)
|
||||
self.labelx.setText(translate("draft", "X"))
|
||||
@@ -546,7 +535,6 @@ class DraftToolBar:
|
||||
self.yValue.show()
|
||||
self.zValue.show()
|
||||
if rel: self.isRelative.show()
|
||||
if extra: self.extraUi(extra)
|
||||
self.xValue.setFocus()
|
||||
self.xValue.selectAll()
|
||||
|
||||
@@ -601,12 +589,6 @@ class DraftToolBar:
|
||||
self.textValue.hide()
|
||||
self.continueCmd.hide()
|
||||
self.occOffset.hide()
|
||||
self.labelop1.hide()
|
||||
self.valueop1.hide()
|
||||
self.labelop2.hide()
|
||||
self.valueop2.hide()
|
||||
self.labelop3.hide()
|
||||
self.valueop3.hide()
|
||||
|
||||
def trimUi(self,title=translate("draft","Trim")):
|
||||
self.taskUi(title)
|
||||
|
||||
@@ -648,7 +648,7 @@ class Snapper:
|
||||
FreeCADGui.Snapper.getPoint(callback=cb)
|
||||
|
||||
If the callback function accepts more than one argument, it will also receive
|
||||
the last snapped object.Finally, a task dialog can be passed as extradlg."""
|
||||
the last snapped object. Finally, a pyqt dialog can be passed as extra taskbox."""
|
||||
|
||||
import inspect
|
||||
|
||||
@@ -713,8 +713,8 @@ class Snapper:
|
||||
if callback:
|
||||
callback(None)
|
||||
|
||||
# adding 2 callback functions
|
||||
self.ui.pointUi(cancel=cancel,getcoords=getcoords,rel=bool(last))
|
||||
# adding callback functions
|
||||
self.ui.pointUi(cancel=cancel,getcoords=getcoords,extra=extradlg,rel=bool(last))
|
||||
self.callbackClick = self.view.addEventCallbackPivy(coin.SoMouseButtonEvent.getClassTypeId(),click)
|
||||
self.callbackMove = self.view.addEventCallbackPivy(coin.SoLocation2Event.getClassTypeId(),move)
|
||||
|
||||
|
||||
@@ -680,7 +680,7 @@ class boxTracker(Tracker):
|
||||
else:
|
||||
return self.cube.width.getValue()
|
||||
|
||||
def heigth(self,h=None):
|
||||
def height(self,h=None):
|
||||
if h:
|
||||
self.cube.depth.setValue(h)
|
||||
self.update()
|
||||
|
||||
Reference in New Issue
Block a user