Only adds filename to list, not full path.

master
Travis Howse 2011-09-16 15:47:58 +10:00
parent 50c2c4346f
commit 21c0b9aaa8
1 changed files with 20 additions and 19 deletions

View File

@ -1,6 +1,7 @@
#!/usr/bin/env python
import wx,time,random,threading,os,math
import stltool
import re
class stlwrap:
def __init__(self,obj,name=None):
@ -8,10 +9,10 @@ class stlwrap:
self.name=name
if name is None:
self.name=obj.name
def __repr__(self):
return self.name
class showstl(wx.Window):
def __init__(self,parent,size,pos):
@ -80,7 +81,7 @@ class showstl(wx.Window):
facets+=i.facets
stltool.emitstl(name,facets,"plater_export")
print "wrote ",name
def autoplate(self,event):
print "Autoplating"
separation = 2
@ -118,7 +119,7 @@ class showstl(wx.Window):
self.models[i].offsets[0] += centreoffset[0]
self.models[i].offsets[1] += centreoffset[1]
self.Refresh()
def right(self,event):
dlg=wx.FileDialog(self,"Open file to print",self.basedir,style=wx.FD_OPEN|wx.FD_FILE_MUST_EXIST)
dlg.SetWildcard("STL files (;*.stl;)")
@ -131,10 +132,11 @@ class showstl(wx.Window):
t=time.time()
#print name
if name.lower().endswith(".stl"):
newname=name
#Filter out the path, just show the STL filename.
newname=re.match(r".*[/\\](.*?\.stl)", name.lower()).group(1)
c=1
while newname in self.models:
newname=name+"(%d)"%c
newname=newname+"(%d)"%c
c+=1
self.models[newname]=stltool.stl(name)
self.models[newname].offsets=[0,0,0]
@ -177,17 +179,17 @@ class showstl(wx.Window):
# break
dc.SelectObject(wx.NullBitmap)
m.bitmap.SetMask(wx.Mask(m.bitmap,wx.Colour(0,0,0,255)))
#print time.time()-t
self.l.Append(newname)
i=self.l.GetSelection()
if i==wx.NOT_FOUND:
self.l.Select(0)
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):
@ -212,12 +214,12 @@ class showstl(wx.Window):
p=event.GetPositionTuple()
dc.DrawLine(self.initpos[0],self.initpos[1],p[0],p[1])
#print math.sqrt((p[0]-self.initpos[0])**2+(p[1]-self.initpos[1])**2)
del dc
else:
event.Skip()
def rotateafter(self):
if(self.i!=self.previ):
i=self.l.GetSelection()
@ -231,7 +233,7 @@ class showstl(wx.Window):
time.sleep(0.01)
wx.CallAfter(self.rotateafter)
self.triggered=0
def rot(self, event):
z=event.GetWheelRotation()
s=self.l.GetSelection()
@ -245,11 +247,11 @@ class showstl(wx.Window):
if not self.triggered:
self.triggered=1
threading.Thread(target=self.cr).start()
def repaint(self,event):
dc=wx.PaintDC(self)
self.paint(dc=dc)
def paint(self,coord1="x",coord2="y",dc=None):
coords={"x":0,"y":1,"z":2}
if dc is None:
@ -287,17 +289,16 @@ class showstl(wx.Window):
del dc
#print time.time()-t
#s.export()
class stlwin(wx.Frame):
def __init__(self,size=(400,530)):
wx.Frame.__init__(self,None,title="Right-click to add a file",size=size)
self.SetIcon(wx.Icon("plater.ico",wx.BITMAP_TYPE_ICO))
self.SetClientSize(size)
self.s=showstl(self,(400,530),(0,0))
if __name__ == '__main__':
app = wx.App(False)
main = stlwin()
main.Show()
app.MainLoop()
app.MainLoop()