X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f6bcfd974ef26faf6f91a62cac09827e09463fd1..dae0faa6be08c5bb5635fd464b695ac8bb8f2b8d:/wxPython/demo/wxFileDialog.py diff --git a/wxPython/demo/wxFileDialog.py b/wxPython/demo/wxFileDialog.py index 476efcf8bd..0d42aa54e6 100644 --- a/wxPython/demo/wxFileDialog.py +++ b/wxPython/demo/wxFileDialog.py @@ -1,63 +1,70 @@ +# 11/17/2003 - Jeff Grimmett (grimmtooth@softhome.net) +# +# o Updated for wx namespace +# -from wxPython.wx import * +import os +import wx #--------------------------------------------------------------------------- +# This is how you pre-establish a file filter so that the dialog +# only shows the extention(s) you want it to. +wildcard = "Python source (*.py)|*.py|" \ + "Compiled Python (*.pyc)|*.pyc|" \ + "All files (*.*)|*.*" + def runTest(frame, nb, log): - dlg = wxFileDialog(frame, "Choose a file", ".", "", "*.*", wxOPEN|wxMULTIPLE) - if dlg.ShowModal() == wxID_OK: - for path in dlg.GetPaths(): - log.WriteText('You selected: %s\n' % path) + log.WriteText("CWD: %s\n" % os.getcwd()) + + # Create the dialog. In this case the current directory is forced as the starting + # directory for the dialog, and no default file name is forced. This can easilly + # be changed in your program. This is an 'open' dialog, and allows multitple + # file selection to boot. + # + # Finally, of the directory is changed in the process of getting files, this + # dialog is set up to change the current working directory to the path chosen. + dlg = wx.FileDialog( + frame, message="Choose a file", defaultDir=os.getcwd(), + defaultFile="", wildcard=wildcard, style=wx.OPEN | wx.MULTIPLE | wx.CHANGE_DIR + ) + + # Show the dialog and retrieve the user response. If it is the OK response, + # process the data. + if dlg.ShowModal() == wx.ID_OK: + # This returns a Python list of files that were selected. + paths = dlg.GetPaths() + + log.WriteText('You selected %d files:' % len(paths)) + + for path in paths: + log.WriteText(' %s\n' % path) + + # Compare this with the debug above; did we change working dirs? + log.WriteText("CWD: %s\n" % os.getcwd()) + + # Destroy the dialog. Don't do this until you are done with it! + # BAD things can happen otherwise! dlg.Destroy() #--------------------------------------------------------------------------- - - - - - - - - - - - - overview = """\ -This class represents the file chooser dialog. +This class provides the file selection dialog. It incorporates OS-native features +depending on the OS in use, and can be used both for open and save operations. +The files displayed can be filtered by setting up a wildcard filter, multiple files +can be selected (open only), and files can be forced in a read-only mode. -wxFileDialog() ----------------------------- +There are two ways to get the results back from the dialog. GetFiles() returns only +the file names themselves, in a Python list. GetPaths() returns the full path and +filenames combined as a Python list. -wxFileDialog(wxWindow* parent, const wxString& message = "Choose a file", const wxString& defaultDir = "" -, const wxString& defaultFile = "", const wxString& wildcard = "*.*", long style = 0, const wxPoint& pos = wxDefaultPosition) - -Constructor. Use wxFileDialog::ShowModal to show the dialog. - -Parameters -------------------- - -parent = Parent window. - -message = Message to show on the dialog. - -defaultDir = The default directory, or the empty string. - -defaultFile = The default filename, or the empty string. - -wildcard = A wildcard, such as "*.*". - -style = A dialog style. A bitlist of: - -wxOPEN This is an open dialog (Windows only). - -wxSAVE This is a save dialog (Windows only). +""" -wxHIDE_READONLY Hide read-only files (Windows only). -wxOVERWRITE_PROMPT Prompt for a conformation if a file will be overridden (Windows only). +if __name__ == '__main__': + import sys,os + import run + run.main(['', os.path.basename(sys.argv[0])]) -pos = Dialog position. -"""