diff --git a/plater.py b/plater.py index 5e5dd27..a11ee30 100755 --- a/plater.py +++ b/plater.py @@ -16,7 +16,7 @@ class stlwrap: class showstl(wx.Window): def __init__(self,parent,size,pos): wx.Window.__init__(self,parent,size=size,pos=pos) - self.l=wx.ListCtrl(self,style=wx.LC_LIST,size=(300,130),pos=(0,size[1]-130)) + self.l=wx.ListBox(self,size=(300,130),pos=(0,size[1]-130)) self.eb=wx.Button(self,label="Export",pos=(300,size[1]-130)) self.sb=wx.Button(self,label="Snap to Z=0",pos=(300,size[1]-105)) self.cb=wx.Button(self,label="Put at 100,100",pos=(300,size[1]-80)) @@ -42,26 +42,26 @@ class showstl(wx.Window): self.prevsel=-1 def center(self,event): - i=self.l.GetFirstSelected() + i=self.l.GetSelection() if i != -1: - m=self.models[self.l.GetItemText(i)] + m=self.models[self.l.GetString(i)] m.offsets=[100,100,m.offsets[2]] self.Refresh() def snap(self,event): - i=self.l.GetFirstSelected() + i=self.l.GetSelection() if i != -1: - m=self.models[self.l.GetItemText(i)] + m=self.models[self.l.GetString(i)] m.offsets[2]=-1.0*min(m.facetsminz)[0] #print m.offsets[2] self.Refresh() def delete(self,event): - i=self.l.GetFirstSelected() + i=self.l.GetSelection() if i != -1: - del self.models[self.l.GetItemText(i)] - self.l.DeleteItem(i) - self.l.Select(self.l.GetItemCount()-1) + del self.models[self.l.GetString(i)] + self.l.Delete(i) + self.l.Select(self.l.GetCount()-1) self.Refresh() def export(self,event): @@ -89,7 +89,7 @@ class showstl(wx.Window): newrow = 0 max = [0,0] for i in self.models: - self.models[i].offsets[2]=-1.0*min(self.models[i].facetsminz)[0] + self.models[i].offsets[2]=-1.0*self.models[i].dims[4] x = abs(self.models[i].dims[0] - self.models[i].dims[1]) y = abs(self.models[i].dims[2] - self.models[i].dims[3]) centre = [x/2, y/2] @@ -179,24 +179,24 @@ class showstl(wx.Window): m.bitmap.SetMask(wx.Mask(m.bitmap,wx.Colour(0,0,0,255))) #print time.time()-t - self.l.Append([stlwrap(self.models[newname],newname)]) - i=self.l.GetFirstSelected() - if i != -1: - self.l.Select(i,0) + self.l.Append(newname) + i=self.l.GetSelection() + if i==wx.NOT_FOUND: + self.l.Select(0) - self.l.Select(self.l.GetItemCount()-1) + self.l.Select(self.l.GetCount()-1) self.Refresh() #print time.time()-t def move(self,event): if event.ButtonUp(wx.MOUSE_BTN_LEFT): if(self.initpos is not None): - i=self.l.GetFirstSelected() - if i != -1: + i=self.l.GetSelection() + if i != wx.NOT_FOUND: p=event.GetPositionTuple() #print (p[0]-self.initpos[0]),(p[1]-self.initpos[1]) t=time.time() - m=self.models[self.l.GetItemText(i)] + m=self.models[self.l.GetString(i)] m.offsets=[m.offsets[0]+0.5*(p[0]-self.initpos[0]),m.offsets[1]-0.5*(p[1]-self.initpos[1]),m.offsets[2]] #self.models[self.l.GetItemText(i)]=self.models[self.l.GetItemText(i)].translate([0.5*(p[0]-self.initpos[0]),0.5*(p[1]-self.initpos[1]),0]) #print time.time()-t @@ -220,10 +220,10 @@ class showstl(wx.Window): def rotateafter(self): if(self.i!=self.previ): - i=self.l.GetFirstSelected() - if i != -1: + i=self.l.GetSelection() + if i != wx.NOT_FOUND: #o=self.models[self.l.GetItemText(i)].offsets - self.models[self.l.GetItemText(i)].rot+=5*(self.i-self.previ) + self.models[self.l.GetString(i)].rot+=5*(self.i-self.previ) #self.models[self.l.GetItemText(i)].offsets=o self.previ=self.i self.Refresh() @@ -234,7 +234,7 @@ class showstl(wx.Window): def rot(self, event): z=event.GetWheelRotation() - s=self.l.GetFirstSelected() + s=self.l.GetSelection() if self.prevsel!=s: self.i=0 self.prevsel=s diff --git a/pronterface.py b/pronterface.py index 8acf6de..6193729 100755 --- a/pronterface.py +++ b/pronterface.py @@ -727,7 +727,7 @@ class PronterWindow(wx.Frame,pronsole.pronsole): n = button.custombutton self.custombuttons[n]=None self.cbutton_save(n,None) - while self.custombuttons[-1] is None: + while len(self.custombuttons) and self.custombuttons[-1] is None: del self.custombuttons[-1] self.cbuttons_reload() @@ -1008,7 +1008,7 @@ class PronterWindow(wx.Frame,pronsole.pronsole): except: pass dlg=wx.FileDialog(self,_("Open file to print"),basedir,style=wx.FD_OPEN|wx.FD_FILE_MUST_EXIST) - dlg.SetWildcard(_("STL and GCODE files (;*.gcode;*.g;*.stl;*.STL;)")) + dlg.SetWildcard(_("STL and GCODE files (;*.gcode;*.gco;*.g;*.stl;*.STL;)")) if(filename is not None or dlg.ShowModal() == wx.ID_OK): if filename is not None: name=filename