Arch: Added sill height option to creation dialog - fixes #1609
This commit is contained in:
parent
552c0b3af3
commit
524e5cbe32
|
@ -385,6 +385,7 @@ class _CommandWindow:
|
||||||
self.Width = p.GetFloat("WindowWidth",1000)
|
self.Width = p.GetFloat("WindowWidth",1000)
|
||||||
self.Height = p.GetFloat("WindowHeight",1000)
|
self.Height = p.GetFloat("WindowHeight",1000)
|
||||||
self.Preset = 0
|
self.Preset = 0
|
||||||
|
self.Sill = 0
|
||||||
self.baseFace = None
|
self.baseFace = None
|
||||||
self.wparams = ["Width","Height","H1","H2","H3","W1","W2","O1","O2"]
|
self.wparams = ["Width","Height","H1","H2","H3","W1","W2","O1","O2"]
|
||||||
self.DECIMALS = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Units").GetInt("Decimals",2)
|
self.DECIMALS = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Units").GetInt("Decimals",2)
|
||||||
|
@ -449,6 +450,7 @@ class _CommandWindow:
|
||||||
FreeCADGui.Control.closeDialog()
|
FreeCADGui.Control.closeDialog()
|
||||||
if point == None:
|
if point == None:
|
||||||
return
|
return
|
||||||
|
point = point.add(FreeCAD.Vector(0,0,self.Sill))
|
||||||
if not self.Preset:
|
if not self.Preset:
|
||||||
if obj and (self.baseFace != None):
|
if obj and (self.baseFace != None):
|
||||||
if Draft.getType(obj) in AllowedHosts:
|
if Draft.getType(obj) in AllowedHosts:
|
||||||
|
@ -487,6 +489,7 @@ class _CommandWindow:
|
||||||
def update(self,point,info):
|
def update(self,point,info):
|
||||||
"this function is called by the Snapper when the mouse is moved"
|
"this function is called by the Snapper when the mouse is moved"
|
||||||
delta = FreeCAD.Vector(self.Width/2,self.Thickness/2,self.Height/2)
|
delta = FreeCAD.Vector(self.Width/2,self.Thickness/2,self.Height/2)
|
||||||
|
delta = delta.add(FreeCAD.Vector(0,0,self.Sill))
|
||||||
rot = FreeCAD.Rotation()
|
rot = FreeCAD.Rotation()
|
||||||
self.baseFace = None
|
self.baseFace = None
|
||||||
if info:
|
if info:
|
||||||
|
@ -508,25 +511,32 @@ class _CommandWindow:
|
||||||
ui = FreeCADGui.UiLoader()
|
ui = FreeCADGui.UiLoader()
|
||||||
w.setWindowTitle(translate("Arch","Window options"))
|
w.setWindowTitle(translate("Arch","Window options"))
|
||||||
grid = QtGui.QGridLayout(w)
|
grid = QtGui.QGridLayout(w)
|
||||||
|
|
||||||
|
# sill height
|
||||||
|
labels = QtGui.QLabel(translate("Arch","Sill height"))
|
||||||
|
values = ui.createWidget("Gui::InputField")
|
||||||
|
grid.addWidget(labels,0,0,1,1)
|
||||||
|
grid.addWidget(values,0,1,1,1)
|
||||||
|
QtCore.QObject.connect(values,QtCore.SIGNAL("valueChanged(double)"),self.setSill)
|
||||||
|
|
||||||
# presets box
|
# presets box
|
||||||
labelp = QtGui.QLabel(translate("Arch","Preset"))
|
labelp = QtGui.QLabel(translate("Arch","Preset"))
|
||||||
valuep = QtGui.QComboBox()
|
valuep = QtGui.QComboBox()
|
||||||
valuep.addItems(["Create from scratch"]+WindowPresets)
|
valuep.addItems(["Create from scratch"]+WindowPresets)
|
||||||
valuep.setCurrentIndex(self.Preset)
|
valuep.setCurrentIndex(self.Preset)
|
||||||
grid.addWidget(labelp,0,0,1,1)
|
grid.addWidget(labelp,1,0,1,1)
|
||||||
grid.addWidget(valuep,0,1,1,1)
|
grid.addWidget(valuep,1,1,1,1)
|
||||||
QtCore.QObject.connect(valuep,QtCore.SIGNAL("currentIndexChanged(int)"),self.setPreset)
|
QtCore.QObject.connect(valuep,QtCore.SIGNAL("currentIndexChanged(int)"),self.setPreset)
|
||||||
|
|
||||||
# image display
|
# image display
|
||||||
self.im = QtSvg.QSvgWidget(":/ui/ParametersWindowFixed.svg")
|
self.im = QtSvg.QSvgWidget(":/ui/ParametersWindowFixed.svg")
|
||||||
self.im.setMaximumWidth(200)
|
self.im.setMaximumWidth(200)
|
||||||
self.im.setMinimumHeight(120)
|
self.im.setMinimumHeight(120)
|
||||||
grid.addWidget(self.im,1,0,1,2)
|
grid.addWidget(self.im,2,0,1,2)
|
||||||
self.im.hide()
|
self.im.hide()
|
||||||
|
|
||||||
# parameters
|
# parameters
|
||||||
i = 2
|
i = 3
|
||||||
for param in self.wparams:
|
for param in self.wparams:
|
||||||
lab = QtGui.QLabel(translate("Arch",param).decode("utf8"))
|
lab = QtGui.QLabel(translate("Arch",param).decode("utf8"))
|
||||||
setattr(self,"val"+param,ui.createWidget("Gui::InputField"))
|
setattr(self,"val"+param,ui.createWidget("Gui::InputField"))
|
||||||
|
@ -547,6 +557,9 @@ class _CommandWindow:
|
||||||
QtCore.QObject.connect(getattr(self,"val"+param),QtCore.SIGNAL("valueChanged(double)"),valueChanged)
|
QtCore.QObject.connect(getattr(self,"val"+param),QtCore.SIGNAL("valueChanged(double)"),valueChanged)
|
||||||
return w
|
return w
|
||||||
|
|
||||||
|
def setSill(self,d):
|
||||||
|
self.Sill = d
|
||||||
|
|
||||||
def setParams(self,param,d):
|
def setParams(self,param,d):
|
||||||
setattr(self,param,d)
|
setattr(self,param,d)
|
||||||
self.tracker.length(self.Width)
|
self.tracker.length(self.Width)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user