chiark / gitweb /
Fixed bug where tooltip was still shown when pressing open/save button on project...
authordaid <daid303@gmail.com>
Fri, 4 May 2012 10:39:23 +0000 (12:39 +0200)
committerdaid <daid303@gmail.com>
Fri, 4 May 2012 10:39:23 +0000 (12:39 +0200)
Cura/gui/projectPlanner.py
Cura/gui/toolbarUtil.py
Cura/images/move-down.png [new file with mode: 0644]
Cura/images/move-up.png [new file with mode: 0644]
Cura/images/object-add.png [new file with mode: 0644]
Cura/images/object-remove.png [new file with mode: 0644]

index 97b9bbc83f0c92861b750f0bfef2a42c6b072efc..2095042f9029fa885d037925467895368e1baced 100644 (file)
@@ -61,6 +61,13 @@ class projectPlanner(wx.Frame):
                toolbarUtil.NormalButton(self.toolbar, self.OnQuit, 'exit.png', 'Close project planner')\r
                \r
                self.toolbar.Realize()\r
+\r
+               self.toolbar2 = toolbarUtil.Toolbar(self)\r
+               toolbarUtil.NormalButton(self.toolbar2, self.OnAddModel, 'object-add.png', 'Add model')\r
+               toolbarUtil.NormalButton(self.toolbar2, self.OnRemModel, 'object-remove.png', 'Remove model')\r
+               toolbarUtil.NormalButton(self.toolbar2, self.OnMoveUp, 'move-up.png', 'Move model up in print list')\r
+               toolbarUtil.NormalButton(self.toolbar2, self.OnMoveDown, 'move-down.png', 'Move model down in print list')\r
+               self.toolbar2.Realize()\r
                \r
                sizer = wx.GridBagSizer(2,2)\r
                self.SetSizer(sizer)\r
@@ -71,7 +78,8 @@ class projectPlanner(wx.Frame):
                self.sliceButton = wx.Button(self, -1, "Slice")\r
                self.autoPlaceButton = wx.Button(self, -1, "Auto Place")\r
                \r
-               sizer.Add(self.toolbar, (0,0), span=(1,3), flag=wx.EXPAND)\r
+               sizer.Add(self.toolbar, (0,0), span=(1,1), flag=wx.EXPAND)\r
+               sizer.Add(self.toolbar2, (0,1), span=(1,2), flag=wx.EXPAND)\r
                sizer.Add(self.preview, (1,0), span=(4,1), flag=wx.EXPAND)\r
                sizer.Add(self.listbox, (1,1), span=(1,2), flag=wx.EXPAND)\r
                sizer.Add(self.addButton, (2,1), span=(1,1))\r
@@ -169,6 +177,7 @@ class projectPlanner(wx.Frame):
                                item.swapYZ = cp.get(section, 'swapYZ') == 'True'\r
                                if cp.has_option(section, 'extruder'):\r
                                        item.extuder = int(cp.get(section, 'extruder'))-1\r
+                               self.updateModelTransform(item)\r
                                i += 1\r
                                \r
                                self.list.append(item)\r
@@ -231,9 +240,36 @@ class projectPlanner(wx.Frame):
                elif len(self.list) > 0:\r
                        self.listbox.SetSelection(len(self.list) - 1)\r
                self.selection = None\r
-               self.OnListSelect(None)\r
                self.preview.Refresh()\r
        \r
+       def OnMoveUp(self, e):\r
+               if self.selection == None:\r
+                       return\r
+               i = self.listbox.GetSelection()\r
+               if i == 0:\r
+                       return\r
+               self.list.remove(self.selection)\r
+               self.list.insert(i-1, self.selection)\r
+               self._updateListbox()\r
+               self.preview.Refresh()\r
+\r
+       def OnMoveDown(self, e):\r
+               if self.selection == None:\r
+                       return\r
+               i = self.listbox.GetSelection()\r
+               if i == len(self.list) - 1:\r
+                       return\r
+               self.list.remove(self.selection)\r
+               self.list.insert(i+1, self.selection)\r
+               self._updateListbox()\r
+               self.preview.Refresh()\r
+       \r
+       def _updateListbox(self):\r
+               self.listbox.Clear()\r
+               for item in self.list:\r
+                       self.listbox.AppendAndEnsureVisible(os.path.split(item.filename)[1])\r
+               self.listbox.SetSelection(self.list.index(self.selection))\r
+\r
        def OnAutoPlace(self, e):\r
                bestAllowedSize = int(self.machineSize.y)\r
                bestArea = self._doAutoPlace(bestAllowedSize)\r
index eba0a0b0aa064277ee102bc047d29e01c53c79cc..1ec088efae8920e0d061cac672e59a4524fc2700 100644 (file)
@@ -180,6 +180,7 @@ class NormalButton(buttons.GenBitmapButton):
                super(NormalButton, self).__init__(parent, id, self.bitmap, size=size)
 
                self.helpText = helpText
+               self.callback = callback
 
                self.SetBezelWidth(1)
                self.SetUseFocusIndicator(False)
@@ -187,10 +188,14 @@ class NormalButton(buttons.GenBitmapButton):
                self.Bind(wx.EVT_ENTER_WINDOW, self.OnMouseEnter)
                self.Bind(wx.EVT_LEAVE_WINDOW, self.OnMouseLeave)
                
-               self.Bind(wx.EVT_BUTTON, callback)
+               self.Bind(wx.EVT_BUTTON, self.OnButton)
                
                parent.AddControl(self)
 
+       def OnButton(self, event):
+               self.GetParent().OnPopupHide(event)
+               self.callback(event)
+
        def OnMouseEnter(self, event):
                self.GetParent().OnPopupDisplay(event)
                event.Skip()
diff --git a/Cura/images/move-down.png b/Cura/images/move-down.png
new file mode 100644 (file)
index 0000000..5891219
Binary files /dev/null and b/Cura/images/move-down.png differ
diff --git a/Cura/images/move-up.png b/Cura/images/move-up.png
new file mode 100644 (file)
index 0000000..b3d9cef
Binary files /dev/null and b/Cura/images/move-up.png differ
diff --git a/Cura/images/object-add.png b/Cura/images/object-add.png
new file mode 100644 (file)
index 0000000..1b362da
Binary files /dev/null and b/Cura/images/object-add.png differ
diff --git a/Cura/images/object-remove.png b/Cura/images/object-remove.png
new file mode 100644 (file)
index 0000000..064e523
Binary files /dev/null and b/Cura/images/object-remove.png differ