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
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
\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
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
\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