1 from __future__ import absolute_import
5 from Cura.gui.util import gcodeTextArea
6 from Cura.util import profile
8 class alterationPanel(wx.Panel):
9 def __init__(self, parent, callback):
10 wx.Panel.__init__(self, parent,-1)
12 self.callback = callback
13 self.alterationFileList = ['start.gcode', 'end.gcode']#, 'nextobject.gcode', 'replace.csv'
14 #if int(profile.getPreference('extruder_amount')) > 1:
15 # self.alterationFileList.append('switchExtruder.gcode')
16 self.currentFile = None
18 self.textArea = gcodeTextArea.GcodeTextArea(self)
19 self.list = wx.ListBox(self, choices=self.alterationFileList, style=wx.LB_SINGLE)
20 self.list.SetSelection(0)
21 self.Bind(wx.EVT_LISTBOX, self.OnSelect, self.list)
22 self.textArea.Bind(wx.EVT_KILL_FOCUS, self.OnFocusLost, self.textArea)
23 self.textArea.Bind(wx.stc.EVT_STC_CHANGE, self.OnFocusLost, self.textArea)
25 sizer = wx.GridBagSizer()
26 sizer.Add(self.list, (0,0), span=(5,1), flag=wx.EXPAND)
27 sizer.Add(self.textArea, (5,0), span=(5,1), flag=wx.EXPAND)
28 sizer.AddGrowableCol(0)
29 sizer.AddGrowableRow(0)
30 sizer.AddGrowableRow(5)
31 sizer.AddGrowableRow(6)
32 sizer.AddGrowableRow(7)
35 self.loadFile(self.alterationFileList[self.list.GetSelection()])
36 self.currentFile = self.list.GetSelection()
38 def OnSelect(self, e):
39 self.loadFile(self.alterationFileList[self.list.GetSelection()])
40 self.currentFile = self.list.GetSelection()
42 def loadFile(self, filename):
43 self.textArea.SetValue(profile.getAlterationFile(filename))
45 def OnFocusLost(self, e):
46 if self.currentFile == self.list.GetSelection():
47 profile.setAlterationFile(self.alterationFileList[self.list.GetSelection()], self.textArea.GetValue())
50 def updateProfileToControls(self):