Arch: Wall, structure, window and panel tools now remember and keep last used values
This commit is contained in:
@@ -54,6 +54,7 @@ def addIfcProductAttribute(obj, attribute):
|
||||
obj.addProperty("App::PropertyEnumeration", attribute["name"], "IFC Attributes", QT_TRANSLATE_NOOP("App::Property", "Description of IFC attributes are not yet implemented"))
|
||||
setattr(obj, attribute["name"], attribute["enum_values"])
|
||||
else:
|
||||
import ArchIFCSchema
|
||||
propertyType = "App::" + ArchIFCSchema.IfcTypes[attribute["type"]]["property"]
|
||||
obj.addProperty(propertyType, attribute["name"], "IFC Attributes", QT_TRANSLATE_NOOP("App::Property", "Description of IFC attributes are not yet implemented"))
|
||||
|
||||
|
||||
@@ -297,14 +297,17 @@ class CommandPanel:
|
||||
def setWidth(self,d):
|
||||
|
||||
self.Width = d
|
||||
FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Arch").SetFloat("PanelWidth",d)
|
||||
|
||||
def setThickness(self,d):
|
||||
|
||||
self.Thickness = d
|
||||
FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Arch").SetFloat("PanelThickness",d)
|
||||
|
||||
def setLength(self,d):
|
||||
|
||||
self.Length = d
|
||||
FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Arch").SetFloat("PanelLength",d)
|
||||
|
||||
def setContinue(self,i):
|
||||
|
||||
|
||||
@@ -392,16 +392,19 @@ class _CommandStructure:
|
||||
|
||||
self.Width = d
|
||||
self.tracker.width(d)
|
||||
FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Arch").SetFloat("StructureWidth",d)
|
||||
|
||||
def setHeight(self,d):
|
||||
|
||||
self.Height = d
|
||||
self.tracker.height(d)
|
||||
FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Arch").SetFloat("StructureHeight",d)
|
||||
|
||||
def setLength(self,d):
|
||||
|
||||
self.Length = d
|
||||
self.tracker.length(d)
|
||||
FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Arch").SetFloat("StructureLength",d)
|
||||
|
||||
def setContinue(self,i):
|
||||
|
||||
|
||||
@@ -385,11 +385,21 @@ class _CommandWall:
|
||||
grid.addWidget(label4,5,0,1,1)
|
||||
grid.addWidget(value4,5,1,1,1)
|
||||
|
||||
label5 = QtGui.QLabel(translate("Arch","Use sketches", utf8_decode=True))
|
||||
value5 = QtGui.QCheckBox()
|
||||
value5.setObjectName("UseSketches")
|
||||
value5.setLayoutDirection(QtCore.Qt.RightToLeft)
|
||||
label5.setBuddy(value5)
|
||||
value5.setChecked(FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Arch").GetBool("WallSketches",True))
|
||||
grid.addWidget(label5,6,0,1,1)
|
||||
grid.addWidget(value5,6,1,1,1)
|
||||
|
||||
QtCore.QObject.connect(self.Length,QtCore.SIGNAL("valueChanged(double)"),self.setLength)
|
||||
QtCore.QObject.connect(value1,QtCore.SIGNAL("valueChanged(double)"),self.setWidth)
|
||||
QtCore.QObject.connect(value2,QtCore.SIGNAL("valueChanged(double)"),self.setHeight)
|
||||
QtCore.QObject.connect(value3,QtCore.SIGNAL("currentIndexChanged(int)"),self.setAlign)
|
||||
QtCore.QObject.connect(value4,QtCore.SIGNAL("stateChanged(int)"),self.setContinue)
|
||||
QtCore.QObject.connect(value5,QtCore.SIGNAL("stateChanged(int)"),self.setUseSketch)
|
||||
QtCore.QObject.connect(self.Length,QtCore.SIGNAL("returnPressed()"),value1.setFocus)
|
||||
QtCore.QObject.connect(self.Length,QtCore.SIGNAL("returnPressed()"),value1.selectAll)
|
||||
QtCore.QObject.connect(value1,QtCore.SIGNAL("returnPressed()"),value2.setFocus)
|
||||
@@ -435,6 +445,10 @@ class _CommandWall:
|
||||
if hasattr(FreeCADGui,"draftToolBar"):
|
||||
FreeCADGui.draftToolBar.continueMode = bool(i)
|
||||
|
||||
def setUseSketch(self,i):
|
||||
|
||||
FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Arch").SetBool("WallSketches",bool(i))
|
||||
|
||||
def createFromGUI(self):
|
||||
|
||||
FreeCAD.ActiveDocument.openTransaction(translate("Arch","Create Wall"))
|
||||
|
||||
@@ -812,14 +812,17 @@ class _CommandWindow:
|
||||
elif param == "Height":
|
||||
wid.setText(FreeCAD.Units.Quantity(self.Height,FreeCAD.Units.Length).UserString)
|
||||
elif param == "O1":
|
||||
wid.setText(FreeCAD.Units.Quantity(0,FreeCAD.Units.Length).UserString)
|
||||
setattr(self,param,0)
|
||||
n = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Arch").GetFloat("WindowO1",0.0)
|
||||
wid.setText(FreeCAD.Units.Quantity(n,FreeCAD.Units.Length).UserString)
|
||||
setattr(self,param,n)
|
||||
elif param == "W1":
|
||||
wid.setText(FreeCAD.Units.Quantity(self.Thickness*2,FreeCAD.Units.Length).UserString)
|
||||
setattr(self,param,self.Thickness*2)
|
||||
n = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Arch").GetFloat("WindowW1",self.Thickness*2)
|
||||
wid.setText(FreeCAD.Units.Quantity(n,FreeCAD.Units.Length).UserString)
|
||||
setattr(self,param,n)
|
||||
else:
|
||||
wid.setText(FreeCAD.Units.Quantity(self.Thickness,FreeCAD.Units.Length).UserString)
|
||||
setattr(self,param,self.Thickness)
|
||||
n = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Arch").GetFloat("Window"+param,self.Thickness)
|
||||
wid.setText(FreeCAD.Units.Quantity(n,FreeCAD.Units.Length).UserString)
|
||||
setattr(self,param,n)
|
||||
grid.addWidget(lab,i,0,1,1)
|
||||
grid.addWidget(wid,i,1,1,1)
|
||||
i += 1
|
||||
@@ -830,7 +833,7 @@ class _CommandWindow:
|
||||
|
||||
def getValueChanged(self,p):
|
||||
|
||||
return lambda d : self.setParams(p, d)
|
||||
return lambda d : self.setParams(p, d)
|
||||
|
||||
def setSill(self,d):
|
||||
|
||||
@@ -846,6 +849,7 @@ class _CommandWindow:
|
||||
self.tracker.length(self.Width)
|
||||
self.tracker.height(self.Height)
|
||||
self.tracker.width(self.W1)
|
||||
FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Arch").SetFloat("Window"+param,d)
|
||||
|
||||
def setPreset(self,i):
|
||||
|
||||
|
||||
Reference in New Issue
Block a user