chiark / gitweb /
Disabled View Mode button until model is loaded.
authorSteven Abadie <steven@alephobjects.com>
Mon, 27 Oct 2014 03:02:43 +0000 (21:02 -0600)
committerSteven Abadie <steven@alephobjects.com>
Mon, 27 Oct 2014 03:02:43 +0000 (21:02 -0600)
The View Mode button is now disabled until a model is loaded. This fixes the error caused when the Layer view mode was selected with no model loaded. This commit also included turning re-disabling the print and vide mode buttons when all models are deleted from the scene.

Cura/gui/sceneView.py
Cura/gui/util/openglGui.py

index 5296990c176f7d46c3a8739dd25fe2ef4580c181..8b304f7126c910401e4213634ded0ada73170df1 100644 (file)
@@ -102,7 +102,7 @@ class SceneView(openglGui.glGuiPanel):
                self.scaleUniform = openglGui.glCheckbox(self.scaleForm, True, (1,8), None)
 
                self.viewSelection = openglGui.glComboButton(self, _("View mode"), [7,19,11,15,23], [_("Normal"), _("Overhang"), _("Transparent"), _("X-Ray"), _("Layers")], (-1,0), self.OnViewChange)
-
+               self.viewSelection.setDisabled(True)
                #self.youMagineButton = openglGui.glButton(self, 26, _("Share on YouMagine"), (2,0), lambda button: youmagineGui.youmagineManager(self.GetTopLevelParent(), self._scene))
                #self.youMagineButton.setDisabled(True)
 
@@ -129,6 +129,7 @@ class SceneView(openglGui.glGuiPanel):
                self._engine._result.setFinished(True)
                self._engineResultView.setResult(self._engine._result)
                self.printButton.setBottomText('')
+               self.viewSelection.setDisabled(False)
                self.viewSelection.setValue(4)
                self.printButton.setDisabled(False)
                #self.youMagineButton.setDisabled(True)
@@ -482,6 +483,8 @@ class SceneView(openglGui.glGuiPanel):
                        self._deleteObject(self._scene.objects()[0])
                self._animView = openglGui.animation(self, self._viewTarget.copy(), numpy.array([0,0,0], numpy.float32), 0.5)
                self._engineResultView.setResult(None)
+               self.viewSelection.setDisabled(True)
+               self.printButton.setDisabled(True)
 
        def OnMultiply(self, e):
                if self._focusObj is None:
@@ -561,6 +564,7 @@ class SceneView(openglGui.glGuiPanel):
                        if self.printButton.getProgressBar() is not None and progressValue >= 0.0 and abs(self.printButton.getProgressBar() - progressValue) < 0.01:
                                return
                self.printButton.setDisabled(not finished)
+               self.viewSelection.setDisabled(not finished)
                if progressValue >= 0.0:
                        self.printButton.setProgressBar(progressValue)
                else:
@@ -618,6 +622,9 @@ class SceneView(openglGui.glGuiPanel):
                                self.glReleaseList.append(m.vbo)
                if len(self._scene.objects()) == 0:
                        self._engineResultView.setResult(None)
+                       self.printButton.setDisabled(True)
+                       self.viewSelection.setDisabled(True)
+                       self.printButton.setBottomText('')
                import gc
                gc.collect()
                self.sceneUpdated()
index 4623fbe2d988cb89fb6917b15d5c6a1f17ec2608..11e08a1c6833feb54051c76e7a22528b3b390332 100644 (file)
@@ -576,6 +576,7 @@ class glComboButton(glButton):
                self._tooltips = tooltips
                self._comboCallback = callback
                self._selection = 0
+               self._disabled = False
 
        def _onComboOpenSelect(self, button):
                if self.hasFocus():
@@ -628,6 +629,9 @@ class glComboButton(glButton):
        def getValue(self):
                return self._selection
 
+       def setDisabled(self, value):
+               self._disabled = value
+
        def setValue(self, value):
                self._selection = value
                self._imageID = self._imageIDs[self._selection]