johnf wrote: > On Friday 13 February 2009 11:03:41 am Ricardo Aráoz wrote: > >> One of the things I was most missing from my VFP environment is the "set >> default to getdir()" statement. So I thought I could do something about >> it. I'm sharing it here for those old VFP hands who may need it. >> >> You use it thus : >> >>>>> import fox >>>>> fox.setDefault(fox.getDir()) >>>>> >> ----------------------------------------------------- >> A nice window allows you to pick a directory >> ----------------------------------------------------- >> >> >>>>> import os >>>>> os.getcwd() >>>>> >> 'C:\\whatever\\dir >> >> >>>>> fox.getDir() >>>>> >> ----------------------------------------------------- >> A nice window allows you to pick a directory >> ----------------------------------------------------- >> 'C:/WINDOWS/Config' >> >> >>>>> fox.getFile() >>>>> >> ----------------------------------------------------- >> A nice window allows you to pick a file >> ----------------------------------------------------- >> 'C:/WINDOWS/Cursors/BEAM_IL.CUR' >> >> >> Hope this is useful. I've used Tkinter because this allows me to use the >> utility in IDLE, pythonWin, and PyCrust. Have tried with wx but it works >> different in IDLE than PyCrust due to the fact that in PyCrust there is >> a wx event loop already working (so I would have had to try and detect >> if there was such an event loop). >> Raised this question in a list and got this answer : >> """ >> You could try something like: >> >> wx.CallAfter(lambda: None) >> >> Here's what I get in a quick test with no app running: >> >>>>> import wx >>>>> wx.CallAfter(lambda: None) >>>>> >> Traceback (most recent call last): >> File "<stdin>", line 1, in <module> >> File >> "//Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-pack >> ages/wx-2.8-mac-unicode/wx/_core.py", line 14359, in CallAfter >> assert app is not None, 'No wx.App created yet' >> AssertionError: No wx.App created yet >> >> Whereas if I do the same thing from pycrust, nothing happens (that is, >> presumably my lambda executes). >> """ >> >> If somebody comes up with a way of coding this in dabo (without going into >> too much hassle trying to detect wx) I'd be happy to know. Any >> contributions to fox utilities is welcome, I'm planning on a >> browse(micursor) function to browse an already created cursor. Here's the >> code : >> ----------------------------------------------------- >> Fox.py : >> ====== >> from __fox import getDir, setDefault, getFile >> ----------------------------------------------------- >> >> ----------------------------------------------------- >> __fox.py : >> ======== >> import Tkinter, tkFileDialog >> import os >> >> def getDir() : >> root = Tkinter.Tk() >> root.withdraw() >> path = tkFileDialog.askdirectory(parent=root, title='Choose directory >> ...') root.destroy() >> return path >> >> def setDefault(path) : >> if path : >> os.chdir(path) >> >> def getFile() : >> root = Tkinter.Tk() >> root.withdraw() >> file = tkFileDialog.askopenfilename(parent=root, title='Choose File >> ...') root.destroy() >> return file >> ----------------------------------------------------- >> >> >> HTH >> Ricardo >> > > Of course you realize that under Dabo we have > dFileDialog and dFolderDialog > > I'll see if I can get a version next week.
--- StripMime Report -- processed MIME parts --- multipart/alternative text/plain (text body -- kept) text/html --- _______________________________________________ Post Messages to: [email protected] Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-users Searchable Archives: http://leafe.com/archives/search/dabo-users This message: http://leafe.com/archives/byMID/[email protected]
