chiark / gitweb /
Allow unselection of tools, and fix the scaling size indication.
authordaid303 <daid303@gmail.com>
Thu, 31 Jan 2013 12:27:13 +0000 (13:27 +0100)
committerdaid303 <daid303@gmail.com>
Thu, 31 Jan 2013 12:27:13 +0000 (13:27 +0100)
Cura/gui/configWizard.py
Cura/gui/preview3d.py
Cura/gui/util/opengl.py
Cura/gui/util/previewTools.py

index 8e2871ed467b7a411a3bb936e56d9b3a76e5213b..01645ec70244d84ad4309707b75a403fc2246b56 100644 (file)
@@ -761,7 +761,7 @@ class bedLevelWizardMain(InfoPage):
                self._wizardState = 0
 
        def AllowNext(self):
-               return False
+               return True
 
        def OnResume(self, e):
                feedZ = profile.getProfileSettingFloat('max_z_speed') * 60
index aabbf7edfdd83539848d226af4e46630bb944842..4f668ecc6ea05c1b31ef51d7120413a6a2ce00ea 100644 (file)
@@ -118,11 +118,10 @@ class previewPanel(wx.Panel):
 
                self.openFileButton      = openglGui.glButton(self.glCanvas, 3, 'Load file', -1,0, lambda : self.GetParent().GetParent().GetParent()._showModelLoadDialog(1))
 
-               self.infoToolButton.setSelected(True)
                self.returnToModelViewAndUpdateModel()
 
                self.matrix = numpy.matrix(numpy.array(profile.getObjectMatrix(), numpy.float64).reshape((3,3,)))
-               self.tool = previewTools.toolInfo(self.glCanvas)
+               self.tool = previewTools.toolNone(self.glCanvas)
 
        def returnToModelViewAndUpdateModel(self):
                if self.glCanvas.viewMode == 'GCode' or self.glCanvas.viewMode == 'Mixed':
@@ -134,24 +133,36 @@ class previewPanel(wx.Panel):
                self.updateModelTransform()
 
        def OnInfoSelect(self):
-               self.infoToolButton.setSelected(True)
+               if self.infoToolButton.getSelected():
+                       self.infoToolButton.setSelected(False)
+                       self.tool = previewTools.toolNone(self.glCanvas)
+               else:
+                       self.infoToolButton.setSelected(True)
+                       self.tool = previewTools.toolInfo(self.glCanvas)
                self.rotateToolButton.setSelected(False)
                self.scaleToolButton.setSelected(False)
-               self.tool = previewTools.toolInfo(self.glCanvas)
                self.returnToModelViewAndUpdateModel()
 
        def OnRotateSelect(self):
                self.infoToolButton.setSelected(False)
-               self.rotateToolButton.setSelected(True)
+               if self.rotateToolButton.getSelected():
+                       self.rotateToolButton.setSelected(False)
+                       self.tool = previewTools.toolNone(self.glCanvas)
+               else:
+                       self.rotateToolButton.setSelected(True)
+                       self.tool = previewTools.toolRotate(self.glCanvas)
                self.scaleToolButton.setSelected(False)
-               self.tool = previewTools.toolRotate(self.glCanvas)
                self.returnToModelViewAndUpdateModel()
 
        def OnScaleSelect(self):
                self.infoToolButton.setSelected(False)
                self.rotateToolButton.setSelected(False)
-               self.scaleToolButton.setSelected(True)
-               self.tool = previewTools.toolScale(self.glCanvas)
+               if self.scaleToolButton.getSelected():
+                       self.scaleToolButton.setSelected(False)
+                       self.tool = previewTools.toolNone(self.glCanvas)
+               else:
+                       self.scaleToolButton.setSelected(True)
+                       self.tool = previewTools.toolScale(self.glCanvas)
                self.returnToModelViewAndUpdateModel()
 
        def OnMove(self, e = None):
index b1dc7e8fcf10660d35a72c802f3a40c9bd8b50a5..47266d7f6cb6b41e1531df7c9b01ef690e1d24c6 100644 (file)
@@ -377,13 +377,13 @@ def DrawGCodeLayer(layer):
        lineWidth = profile.getProfileSettingFloat('nozzle_size') / 2 / 10
 
        fillCycle = 0
-       fillColorCycle = [[0.5, 0.5, 0.0], [0.0, 0.5, 0.5], [0.5, 0.0, 0.5]]
-       moveColor = [0, 0, 1]
-       retractColor = [1, 0, 0.5]
-       supportColor = [0, 1, 1]
-       extrudeColor = [1, 0, 0]
-       innerWallColor = [0, 1, 0]
-       skirtColor = [0, 0.5, 0.5]
+       fillColorCycle = [[0.5, 0.5, 0.0, 1], [0.0, 0.5, 0.5, 1], [0.5, 0.0, 0.5, 1]]
+       moveColor = [0, 0, 1, 0.5]
+       retractColor = [1, 0, 0.5, 0.5]
+       supportColor = [0, 1, 1, 1]
+       extrudeColor = [1, 0, 0, 1]
+       innerWallColor = [0, 1, 0, 1]
+       skirtColor = [0, 0.5, 0.5, 1]
        prevPathWasRetract = False
 
        glDisable(GL_CULL_FACE)
@@ -408,7 +408,7 @@ def DrawGCodeLayer(layer):
                        else:
                                c = extrudeColor
                if path.type == 'retract':
-                       c = [0, 1, 1]
+                       c = retractColor
                if path.type == 'extrude':
                        drawLength = 0.0
                        prevNormal = None
@@ -432,7 +432,7 @@ def DrawGCodeLayer(layer):
                                vv1 = v1 - normal * lineWidth
 
                                glBegin(GL_QUADS)
-                               glColor3fv(c)
+                               glColor4fv(c)
                                glVertex3f(vv0.x, vv0.y, vv0.z - zOffset)
                                glVertex3f(vv1.x, vv1.y, vv1.z - zOffset)
                                glVertex3f(vv3.x, vv3.y, vv3.z - zOffset)
@@ -444,7 +444,7 @@ def DrawGCodeLayer(layer):
                                        vv4 = v0 + n * lineWidth
                                        vv5 = v0 - n * lineWidth
                                        glBegin(GL_QUADS)
-                                       glColor3fv(c)
+                                       glColor4fv(c)
                                        glVertex3f(vv2.x, vv2.y, vv2.z - zOffset)
                                        glVertex3f(vv4.x, vv4.y, vv4.z - zOffset)
                                        glVertex3f(prevVv3.x, prevVv3.y, prevVv3.z - zOffset)
@@ -461,7 +461,7 @@ def DrawGCodeLayer(layer):
                                prevVv3 = vv3
                else:
                        glBegin(GL_LINE_STRIP)
-                       glColor3fv(c)
+                       glColor4fv(c)
                        for v in path.list:
                                glVertex3f(v.x, v.y, v.z)
                        glEnd()
index 553ead0a52392ee2172ed9f8e004d951eae18d37..cf7cbe565e5b94a617b7110a8a89063d840fb871 100644 (file)
@@ -11,6 +11,25 @@ from OpenGL.GL import *
 
 from Cura.gui.util import opengl
 
+class toolNone(object):
+       def __init__(self, parent):
+               self.parent = parent
+
+       def OnMouseMove(self, p0, p1):
+               pass
+
+       def OnDragStart(self, p0, p1):
+               return False
+
+       def OnDrag(self, p0, p1):
+               pass
+
+       def OnDragEnd(self):
+               pass
+
+       def OnDraw(self):
+               pass
+
 class toolInfo(object):
        def __init__(self, parent):
                self.parent = parent
@@ -372,7 +391,7 @@ class toolScale(object):
                        glTranslate(0, (radius + 5) * (90 - self.parent.pitch) / 10,0)
                else:
                        glTranslate(0,-(radius + 5),0)
-               opengl.glDrawStringCenter("%dx%dx%d" % (size[0] * scaleX, size[1] * scaleY, size[2] * scaleZ))
+               opengl.glDrawStringCenter("%dx%dx%d" % (size[0], size[1], size[2]))
                glPopMatrix()
 
                glLineWidth(1)