chiark / gitweb /
Update to project planner, toolbar icon buttons, less messy boundery boxes view.
authordaid <daid303@gmail.com>
Thu, 19 Apr 2012 14:16:15 +0000 (16:16 +0200)
committerdaid <daid303@gmail.com>
Thu, 19 Apr 2012 14:16:15 +0000 (16:16 +0200)
Cura/gui/projectPlanner.py

index d9756c8d468f82d0a9b22da4104472b87d5e5f93..c6c5f05c519f4cc3449d16a8f51ab4aab5208948 100644 (file)
@@ -17,6 +17,7 @@ except:
        hasOpenGLlibs = False\r
 \r
 from gui import opengl\r
+from gui import toolbarUtil\r
 from gui import icon\r
 from util import profile\r
 from util import util3d\r
@@ -51,16 +52,12 @@ class projectPlanner(wx.Frame):
                self.headSizeMin = util3d.Vector3(70,16,0)\r
                self.headSizeMax = util3d.Vector3(16,35,0)\r
 \r
-               self.toolbar = wx.ToolBar( self, -1 )\r
-               self.toolbar.SetToolBitmapSize( ( 21, 21 ) )\r
+               self.toolbar = toolbarUtil.Toolbar(self)\r
 \r
-               button = wx.Button(self.toolbar, -1, "3D", size=(21*2,21))\r
-               self.toolbar.AddControl(button)\r
-               self.Bind(wx.EVT_BUTTON, self.On3DClick, button)\r
+               group = []\r
+               toolbarUtil.RadioButton(self.toolbar, group, 'object-3d-on.png', 'object-3d-off.png', '3D view', callback=self.On3DClick)\r
+               toolbarUtil.RadioButton(self.toolbar, group, 'object-top-on.png', 'object-top-off.png', 'Topdown view', callback=self.OnTopClick)\r
                \r
-               button = wx.Button(self.toolbar, -1, "Top", size=(21*2,21))\r
-               self.toolbar.AddControl(button)\r
-               self.Bind(wx.EVT_BUTTON, self.OnTopClick, button)\r
                self.toolbar.Realize()\r
                \r
                sizer = wx.GridBagSizer(2,2)\r
@@ -150,14 +147,14 @@ class projectPlanner(wx.Frame):
 \r
                dlg.Destroy()\r
 \r
-       def On3DClick(self, e):\r
+       def On3DClick(self):\r
                self.preview.yaw = 30\r
                self.preview.pitch = 60\r
                self.preview.zoom = 300\r
                self.preview.view3D = True\r
                self.preview.Refresh()\r
 \r
-       def OnTopClick(self, e):\r
+       def OnTopClick(self):\r
                self.preview.view3D = False\r
                self.preview.zoom = self.machineSize.x / 2 + 10\r
                self.preview.offsetX = 0\r
@@ -443,7 +440,10 @@ class PreviewGLCanvas(glcanvas.GLCanvas):
                                        item.validPlacement = False\r
                                        item2.gotHit = True\r
                \r
+               seenSelected = False\r
                for item in self.parent.list:\r
+                       if item == self.parent.selection:\r
+                               seenSelected = True\r
                        if item.modelDisplayList == None:\r
                                item.modelDisplayList = glGenLists(1);\r
                        if item.modelDirty:\r
@@ -479,20 +479,34 @@ class PreviewGLCanvas(glcanvas.GLCanvas):
                        \r
                        vMin = item.getMinimum() * item.scale\r
                        vMax = item.getMaximum() * item.scale\r
+                       vMinHead = vMin - self.parent.headSizeMin\r
+                       vMaxHead = vMax + self.parent.headSizeMax\r
+\r
                        glDisable(GL_LIGHTING)\r
-                       if item.gotHit:\r
-                               glColor3f(1.0,0.3,0.0)\r
-                       else:\r
-                               glColor3f(1.0,1.0,0.0)\r
-                       opengl.DrawBox(vMin, vMax)\r
-                       \r
-                       vMin = vMin - self.parent.headSizeMin\r
-                       vMax = vMax + self.parent.headSizeMax\r
-                       if item.validPlacement:\r
-                               glColor3f(1.0,0.0,1.0)\r
+\r
+                       if self.parent.selection == item:\r
+                               if item.gotHit:\r
+                                       glColor3f(1.0,0.3,0.0)\r
+                               else:\r
+                                       glColor3f(1.0,1.0,0.0)\r
+                               opengl.DrawBox(vMin, vMax)\r
+                               if item.gotHit:\r
+                                       glColor3f(1.0,0.0,0.3)\r
+                               else:\r
+                                       glColor3f(1.0,0.0,1.0)\r
+                               opengl.DrawBox(vMinHead, vMaxHead)\r
+                       elif seenSelected:\r
+                               if item.gotHit:\r
+                                       glColor3f(0.5,0.0,0.1)\r
+                               else:\r
+                                       glColor3f(0.5,0.0,0.5)\r
+                               opengl.DrawBox(vMinHead, vMaxHead)\r
                        else:\r
-                               glColor3f(1.0,0.0,0.3)\r
-                       opengl.DrawBox(vMin, vMax)\r
+                               if item.gotHit:\r
+                                       glColor3f(0.7,0.1,0.0)\r
+                               else:\r
+                                       glColor3f(0.7,0.7,0.0)\r
+                               opengl.DrawBox(vMin, vMax)\r
                        \r
                        glPopMatrix()\r
                \r