X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1fded56b375bf7a4687af1cdb182899614c1b2a8..9e58eb5674cfac859568c9a4b1030012e1f0eb64:/wxPython/demo/wxFileDialog_Save.py diff --git a/wxPython/demo/wxFileDialog_Save.py b/wxPython/demo/wxFileDialog_Save.py index 3e404a0ea6..55fdae0596 100644 --- a/wxPython/demo/wxFileDialog_Save.py +++ b/wxPython/demo/wxFileDialog_Save.py @@ -1,9 +1,15 @@ +# 11/17/2003 - Jeff Grimmett (grimmtooth@softhome.net) +# +# o Updated for wx namespace +# -from wxPython.wx import * -import os +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|" \ "SPAM files (*.spam)|*.spam|" \ @@ -12,28 +18,69 @@ wildcard = "Python source (*.py)|*.py|" \ def runTest(frame, nb, log): log.WriteText("CWD: %s\n" % os.getcwd()) - dlg = wxFileDialog(frame, "Save file as...", os.getcwd(), "", wildcard, - wxSAVE - #| wxCHANGE_DIR - ) + + # 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 'save' dialog. + # + # Unlike the 'open dialog' example found elsewhere, this example does NOT + # force the current working directory to change if the user chooses a different + # directory than the one initially set. + dlg = wx.FileDialog( + frame, message="Save file as ...", defaultDir=os.getcwd(), + defaultFile="", wildcard=wildcard, style=wx.SAVE + ) + + # This sets the default filter that the user will initially see. Otherwise, + # the first filter in the list will be used by default. dlg.SetFilterIndex(2) - if dlg.ShowModal() == wxID_OK: + + # Show the dialog and retrieve the user response. If it is the OK response, + # process the data. + if dlg.ShowModal() == wx.ID_OK: path = dlg.GetPath() log.WriteText('You selected "%s"' % path) + + # Normally, at this point you would save your data using the file and path + # data that the user provided to you, but since we didn't actually start + # with any data to work with, that would be difficult. + # + # The code to do so would be similar to this, assuming 'data' contains + # the data you want to save: + # + # fp = file(path, 'w') # Create file anew + # fp.write(data) + # fp.close() + # + # You might want to add some error checking :-) + # + + # Note that the current working dir didn't change. This is good since + # that's the way we set it up. 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 provides 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. + +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. + +One important thing to note: if you use the file extention filters, then files saved +with the filter set to something will automatically get that extention appended to them +if it is not already there. For example, suppose the dialog was displaying the 'egg' +extention and you entered a file name of 'fried'. It would be saved as 'fried.egg.' +Yum! """