chiark / gitweb /
Return to model viewing when using the rotate/scale/flip buttons.
authordaid303 <daid303@gmail.com>
Tue, 4 Dec 2012 08:03:49 +0000 (09:03 +0100)
committerdaid303 <daid303@gmail.com>
Tue, 4 Dec 2012 08:03:49 +0000 (09:03 +0100)
Cura/gui/preview3d.py

index e62e1b60948a5484864433b2a043541ac0a341f6..541eb386adbd3462833fe6fdf787118fc7a74239 100644 (file)
@@ -98,14 +98,14 @@ class previewPanel(wx.Panel):
                self.toolbar2 = toolbarUtil.Toolbar(self)\r
 \r
                # Mirror\r
-               self.mirrorX = toolbarUtil.ToggleButton(self.toolbar2, 'flip_x', 'object-mirror-x-on.png', 'object-mirror-x-off.png', 'Mirror X', callback=self.returnToNormalViewAndUpdateModel)\r
-               self.mirrorY = toolbarUtil.ToggleButton(self.toolbar2, 'flip_y', 'object-mirror-y-on.png', 'object-mirror-y-off.png', 'Mirror Y', callback=self.returnToNormalViewAndUpdateModel)\r
-               self.mirrorZ = toolbarUtil.ToggleButton(self.toolbar2, 'flip_z', 'object-mirror-z-on.png', 'object-mirror-z-off.png', 'Mirror Z', callback=self.returnToNormalViewAndUpdateModel)\r
+               self.mirrorX = toolbarUtil.ToggleButton(self.toolbar2, 'flip_x', 'object-mirror-x-on.png', 'object-mirror-x-off.png', 'Mirror X', callback=self.returnToModelViewAndUpdateModel)\r
+               self.mirrorY = toolbarUtil.ToggleButton(self.toolbar2, 'flip_y', 'object-mirror-y-on.png', 'object-mirror-y-off.png', 'Mirror Y', callback=self.returnToModelViewAndUpdateModel)\r
+               self.mirrorZ = toolbarUtil.ToggleButton(self.toolbar2, 'flip_z', 'object-mirror-z-on.png', 'object-mirror-z-off.png', 'Mirror Z', callback=self.returnToModelViewAndUpdateModel)\r
                self.toolbar2.AddSeparator()\r
 \r
                # Swap\r
-               self.swapXZ = toolbarUtil.ToggleButton(self.toolbar2, 'swap_xz', 'object-swap-xz-on.png', 'object-swap-xz-off.png', 'Swap XZ', callback=self.returnToNormalViewAndUpdateModel)\r
-               self.swapYZ = toolbarUtil.ToggleButton(self.toolbar2, 'swap_yz', 'object-swap-yz-on.png', 'object-swap-yz-off.png', 'Swap YZ', callback=self.returnToNormalViewAndUpdateModel)\r
+               self.swapXZ = toolbarUtil.ToggleButton(self.toolbar2, 'swap_xz', 'object-swap-xz-on.png', 'object-swap-xz-off.png', 'Swap XZ', callback=self.returnToModelViewAndUpdateModel)\r
+               self.swapYZ = toolbarUtil.ToggleButton(self.toolbar2, 'swap_yz', 'object-swap-yz-on.png', 'object-swap-yz-off.png', 'Swap YZ', callback=self.returnToModelViewAndUpdateModel)\r
                self.toolbar2.AddSeparator()\r
 \r
                # Scale\r
@@ -140,8 +140,9 @@ class previewPanel(wx.Panel):
                sizer.Add(self.toolbar2, 0, flag=wx.EXPAND|wx.BOTTOM|wx.LEFT|wx.RIGHT, border=1)\r
                self.SetSizer(sizer)\r
        \r
-       def returnToNormalViewAndUpdateModel(self):\r
-               self.normalViewButton.SetValue(True)\r
+       def returnToModelViewAndUpdateModel(self):\r
+               if self.glCanvas.viewMode == 'GCode' or self.glCanvas.viewMode == 'Mixed':\r
+                       self.setViewMode('Normal')\r
                self.updateModelTransform()\r
        \r
        def OnMove(self, e = None):\r
@@ -176,6 +177,8 @@ class previewPanel(wx.Panel):
                if self.scale.GetValue() != '':\r
                        scale = self.scale.GetValue()\r
                profile.putProfileSetting('model_scale', scale)\r
+               if self.glCanvas.viewMode == 'GCode' or self.glCanvas.viewMode == 'Mixed':\r
+                       self.setViewMode('Normal')\r
                self.glCanvas.Refresh()\r
 \r
                if self.objectsMaxV != None:\r
@@ -200,6 +203,8 @@ class previewPanel(wx.Panel):
                        return\r
                self.scale.SetValue(str(scale))\r
                profile.putProfileSetting('model_scale', self.scale.GetValue())\r
+               if self.glCanvas.viewMode == 'GCode' or self.glCanvas.viewMode == 'Mixed':\r
+                       self.setViewMode('Normal')\r
                self.glCanvas.Refresh()\r
 \r
        def OnRotateReset(self, e):\r
@@ -208,7 +213,7 @@ class previewPanel(wx.Panel):
 \r
        def OnRotate(self, e):\r
                profile.putProfileSetting('model_rotate_base', self.rotate.GetValue())\r
-               self.updateModelTransform()\r
+               self.returnToModelViewAndUpdateModel()\r
 \r
        def On3DClick(self):\r
                self.glCanvas.yaw = 30\r