From 1a0b12f128911c25d5b95193cb3aff024ae6af59 Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Wed, 15 Jun 2016 14:52:30 +0200 Subject: o Cleaning up UI, adding button to apply thickness to all sides. --- BoxerGui.py | 42 ++++++++++++++++++++++++++++-------------- 1 file changed, 28 insertions(+), 14 deletions(-) (limited to 'BoxerGui.py') diff --git a/BoxerGui.py b/BoxerGui.py index 5b04a1d..2ab5161 100644 --- a/BoxerGui.py +++ b/BoxerGui.py @@ -28,22 +28,31 @@ class BoxerGui(object): self.dockWidget = dockWidget = QtGui.QDockWidget() dockWidget.ui = BoxerDockWidget.Ui_BoxerDockWidget() dockWidget.generateClicked = self.generateButtonClicked - dockWidget.fitAllClicked = self.fitAllButtonClicked + dockWidget.viewBoxClicked = self.viewBoxButtonClicked + dockWidget.copyToOthersClicked = self.copyToOthersClicked dockWidget.ui.setupUi(dockWidget) dockWidget.ui.generateButton.setEnabled(doc is not None) - dockWidget.ui.outerWidth.setValue(self.cfg.outerWidth) - dockWidget.ui.outerHeight.setValue(self.cfg.outerHeight) - dockWidget.ui.outerDepth.setValue(self.cfg.outerDepth) - dockWidget.ui.notchSize.setValue(self.cfg.notchUnitWidth) + + self.copyFromCfg() + + self.documentObserver = BoxerDocumentObserver() + FreeCAD.addDocumentObserver(self.documentObserver) + + def copyFromCfg(self): + ui = self.dockWidget.ui + ui.outerWidth.setValue(self.cfg.outerWidth) + ui.outerHeight.setValue(self.cfg.outerHeight) + ui.outerDepth.setValue(self.cfg.outerDepth) + ui.notchSize.setValue(self.cfg.notchUnitWidth) self.sideCheckBoxes = [ # yapf: disable - (SideType.front, dockWidget.ui.frontCheckBox, dockWidget.ui.frontThickness), - (SideType.back, dockWidget.ui.backCheckBox, dockWidget.ui.backThickness), - (SideType.left, dockWidget.ui.leftCheckBox, dockWidget.ui.leftThickness), - (SideType.right, dockWidget.ui.rightCheckBox, dockWidget.ui.rightThickness), - (SideType.top, dockWidget.ui.topCheckBox, dockWidget.ui.topThickness), - (SideType.bottom, dockWidget.ui.bottomCheckBox, dockWidget.ui.bottomThickness) + (SideType.front, ui.frontCheckBox, ui.frontThickness), + (SideType.back, ui.backCheckBox, ui.backThickness), + (SideType.left, ui.leftCheckBox, ui.leftThickness), + (SideType.right, ui.rightCheckBox, ui.rightThickness), + (SideType.top, ui.topCheckBox, ui.topThickness), + (SideType.bottom, ui.bottomCheckBox, ui.bottomThickness) # yapf: enable ] @@ -52,8 +61,6 @@ class BoxerGui(object): checkBox.setChecked(side.enabled) thickness.setValue(side.thickness) - self.documentObserver = BoxerDocumentObserver() - FreeCAD.addDocumentObserver(self.documentObserver) def generateButtonClicked(self): ui = self.dockWidget.ui @@ -89,9 +96,16 @@ class BoxerGui(object): doc = FreeCAD.ActiveDocument Boxer.removeEverything(doc) - def fitAllButtonClicked(self): + def viewBoxButtonClicked(self): Gui.SendMsgToActiveView("ViewFit") + def copyToOthersClicked(self): + front = self.cfg.sideForType(SideType.front) + front.thickness = self.dockWidget.ui.frontThickness.value() + for st in [st for st in SideType if st != SideType.front]: + s = self.cfg.sideForType(st) + s.thickness = front.thickness + self.copyFromCfg() gui = BoxerGui() gui.setupGui() -- cgit v1.2.3