i = toolsMenu.Append(-1, _("Copy profile to clipboard"))
self.Bind(wx.EVT_MENU, self.onCopyProfileClipboard,i)
+
+ toolsMenu.AppendSeparator()
+ self.allAtOnceItem = toolsMenu.Append(-1, _("Print all at once"), kind=wx.ITEM_RADIO)
+ self.Bind(wx.EVT_MENU, self.onOneAtATimeSwitch, self.allAtOnceItem)
+ self.oneAtATime = toolsMenu.Append(-1, _("Print one at a time"), kind=wx.ITEM_RADIO)
+ self.Bind(wx.EVT_MENU, self.onOneAtATimeSwitch, self.oneAtATime)
+ if profile.getPreference('oneAtATime') == 'True':
+ self.oneAtATime.Check(True)
+ else:
+ self.allAtOnceItem.Check(True)
+
self.menubar.Append(toolsMenu, _("Tools"))
#Machine menu for machine configuration/tooling
self.Centre()
self.updateSliceMode()
+ self.scene.SetFocus()
def onTimer(self, e):
#Check if there is something in the clipboard
self.headOffsetWizardMenuItem.Enable(False)
self.scene.updateProfileToControls()
+ def onOneAtATimeSwitch(self, e):
+ profile.putPreference('oneAtATime', self.oneAtATime.IsChecked())
+ if self.oneAtATime.IsChecked() and profile.getMachineSettingFloat('extruder_head_size_height') < 1:
+ wx.MessageBox(_('For "One at a time" printing, you need to have entered the correct head size and gantry height in the machine settings'), _('One at a time warning'), wx.OK | wx.ICON_WARNING)
+ self.scene.updateProfileToControls()
+ self.scene.sceneUpdated()
+
def OnPreferences(self, e):
prefDialog = preferencesDialog.preferencesDialog(self)
prefDialog.Centre()
self.Bind(wx.EVT_MENU, lambda e: self.OnSelectMachine(e.GetId() - 0x1000), i)
self.machineMenu.AppendSeparator()
- i = self.machineMenu.Append(-1, _("Add new machine..."))
- self.Bind(wx.EVT_MENU, self.OnAddNewMachine, i)
+
+ i = self.machineMenu.Append(-1, _("Machine settings..."))
+ self.Bind(wx.EVT_MENU, self.OnMachineSettings, i)
#Add tools for machines.
self.machineMenu.AppendSeparator()
self.Show()
self.reloadSettingPanels()
- def OnAddNewMachine(self, e):
- self.Hide()
- profile.setActiveMachine(profile.getMachineCount())
- configWizard.configWizard(True)
- self.Show()
- self.reloadSettingPanels()
- self.updateMachineMenu()
-
def OnSelectMachine(self, index):
profile.setActiveMachine(index)
self.reloadSettingPanels()
#HACK: Set the paint function of the glCanvas to nothing so it won't keep refreshing. Which can keep wxWidgets from quiting.
print "Closing down"
self.scene.OnPaint = lambda e : e
- self.scene._slicer.cleanup()
+ self.scene._engine.cleanup()
self.Destroy()
def OnQuit(self, e):