chiark / gitweb /
Fix simple mode for steamengine.
authordaid303 <daid303@gmail.com>
Mon, 22 Apr 2013 15:28:09 +0000 (17:28 +0200)
committerdaid303 <daid303@gmail.com>
Mon, 22 Apr 2013 15:28:09 +0000 (17:28 +0200)
Cura/gui/mainWindow.py
Cura/gui/sceneView.py
Cura/gui/simpleMode.py

index bd78aa4ac0b77bed77c2cfab6694f6350d2513e0..34ab293b4cff3eec80d6b8ec8c1717a50e370742 100644 (file)
@@ -147,7 +147,7 @@ class mainWindow(wx.Frame):
                self.splitter.Bind(wx.EVT_SPLITTER_DCLICK, lambda evt: evt.Veto())
 
                ##Gui components##
-               self.simpleSettingsPanel = simpleMode.simpleModePanel(self.leftPane)
+               self.simpleSettingsPanel = simpleMode.simpleModePanel(self.leftPane, lambda : self.scene.sceneUpdated())
                self.normalSettingsPanel = normalSettingsPanel(self.leftPane, lambda : self.scene.sceneUpdated())
 
                self.leftSizer = wx.BoxSizer(wx.VERTICAL)
index b5e3ebd7a3b94b3d17fbc7797c18d30dc97d932e..bb7149aabf4429715f48e11d8b3828fb64d44a35 100644 (file)
@@ -103,7 +103,7 @@ class SceneView(openglGui.glGuiPanel):
 
                self._slicer = sliceEngine.Slicer(self._updateSliceProgress)
                self._sceneUpdateTimer = wx.Timer(self)
-               self.Bind(wx.EVT_TIMER, lambda e : self._slicer.runSlicer(self._scene), self._sceneUpdateTimer)
+               self.Bind(wx.EVT_TIMER, self._onRunSlicer, self._sceneUpdateTimer)
                self.Bind(wx.EVT_MOUSEWHEEL, self.OnMouseWheel)
 
                self.OnViewChange()
@@ -337,6 +337,13 @@ class SceneView(openglGui.glGuiPanel):
                self._scene.setSizeOffsets(numpy.array(profile.calculateObjectSizeOffsets(), numpy.float32))
                self.QueueRefresh()
 
+       def _onRunSlicer(self, e):
+               if self._isSimpleMode:
+                       self.GetTopLevelParent().simpleSettingsPanel.setupSlice()
+               self._slicer.runSlicer(self._scene)
+               if self._isSimpleMode:
+                       profile.resetTempOverride()
+
        def _updateSliceProgress(self, progressValue, ready):
                self.printButton.setDisabled(not ready)
                self.printButton.setProgressBar(progressValue)
index 3f61e00b4a8bcfe173ccabcae0f07093bf2495d4..ef6616aa93d817bb8e13b5b09853b6dfd6cc9e8a 100644 (file)
@@ -6,9 +6,10 @@ from Cura.util import profile
 
 class simpleModePanel(wx.Panel):
        "Main user interface window for Quickprint mode"
-       def __init__(self, parent):
+       def __init__(self, parent, callback):
                super(simpleModePanel, self).__init__(parent)
-               
+               self._callback = callback
+
                #toolsMenu = wx.Menu()
                #i = toolsMenu.Append(-1, 'Switch to Normal mode...')
                #self.Bind(wx.EVT_MENU, self.OnNormalSwitch, i)
@@ -27,7 +28,6 @@ class simpleModePanel(wx.Panel):
                self.printMaterialDiameter = wx.TextCtrl(printMaterialPanel, -1, profile.getProfileSetting('filament_diameter'))
                
                self.printSupport = wx.CheckBox(self, -1, 'Print support structure')
-               self.printSupport.Hide()
 
                sizer = wx.GridBagSizer()
                self.SetSizer(sizer)
@@ -52,16 +52,26 @@ class simpleModePanel(wx.Panel):
                printMaterialPanel.GetSizer().Add(boxsizer, flag=wx.EXPAND)
                sizer.Add(printMaterialPanel, (1,0), flag=wx.EXPAND)
 
-               #sb = wx.StaticBox(self, label="Other:")
-               #boxsizer = wx.StaticBoxSizer(sb, wx.VERTICAL)
-               #boxsizer.Add(self.printSupport)
-               #sizer.Add(boxsizer, (2,0), flag=wx.EXPAND)
+               sb = wx.StaticBox(self, label="Other:")
+               boxsizer = wx.StaticBoxSizer(sb, wx.VERTICAL)
+               boxsizer.Add(self.printSupport)
+               sizer.Add(boxsizer, (2,0), flag=wx.EXPAND)
 
                self.printTypeNormal.SetValue(True)
                self.printMaterialPLA.SetValue(True)
 
+               self.printTypeHigh.Bind(wx.EVT_RADIOBUTTON, lambda e: self._callback())
+               self.printTypeNormal.Bind(wx.EVT_RADIOBUTTON, lambda e: self._callback())
+               self.printTypeLow.Bind(wx.EVT_RADIOBUTTON, lambda e: self._callback())
+               #self.printTypeJoris.Bind(wx.EVT_RADIOBUTTON, lambda e: self._callback())
+
+               self.printMaterialPLA.Bind(wx.EVT_RADIOBUTTON, lambda e: self._callback())
+               self.printMaterialABS.Bind(wx.EVT_RADIOBUTTON, lambda e: self._callback())
+
+               self.printSupport.Bind(wx.EVT_CHECKBOX, lambda e: self._callback())
+
        def setupSlice(self):
-               put = profile.putProfileSetting
+               put = profile.setTempOverride
                get = profile.getProfileSetting
 
                put('layer_height', '0.2')