]>
git.saurik.com Git - wxWidgets.git/blob - wxPython/demo/wxFileHistory.py
2 from wxPython
.wx
import *
5 #----------------------------------------------------------------------
8 Right-click on the panel to get a menu. This menu will be managed by
9 a wxFileHistory object and so the files you select will automatically
10 be added to the end of the menu and will be selectable the next time
11 the menu is viewed. The filename selcted, either via the Open menu
12 item, or from the history, will be displayed in the log window below.
15 #----------------------------------------------------------------------
17 class TestPanel(wxPanel
):
18 def __init__(self
, parent
, log
):
20 wxPanel
.__init
__(self
, parent
, -1)
21 box
= wxBoxSizer(wxVERTICAL
)
23 # Make and layout the controls
24 fs
= self
.GetFont().GetPointSize()
25 bf
= wxFont(fs
+4, wxSWISS
, wxNORMAL
, wxBOLD
)
26 nf
= wxFont(fs
+2, wxSWISS
, wxNORMAL
, wxNORMAL
)
28 t
= wxStaticText(self
, -1, "wxFileHistory")
30 box
.Add(t
, 0, wxCENTER|wxALL
, 5)
32 box
.Add(wxStaticLine(self
, -1), 0, wxEXPAND
)
35 t
= wxStaticText(self
, -1, text
)
37 box
.Add(t
, 0, wxCENTER|wxALL
, 5)
40 self
.SetAutoLayout(true
)
43 self
.menu
= m
= wxMenu()
44 m
.Append(wxID_NEW
, "&New")
45 m
.Append(wxID_OPEN
, "&Open...")
46 m
.Append(wxID_CLOSE
, "&Close")
47 m
.Append(wxID_SAVE
, "&Save")
48 m
.Append(wxID_SAVEAS
, "Save &as...")
49 m
.Enable(wxID_NEW
, false
)
50 m
.Enable(wxID_CLOSE
, false
)
51 m
.Enable(wxID_SAVE
, false
)
52 m
.Enable(wxID_SAVEAS
, false
)
55 self
.filehistory
= wxFileHistory()
56 self
.filehistory
.UseMenu(self
.menu
)
58 # and finally the event handler bindings
59 EVT_RIGHT_UP(self
, self
.OnRightClick
)
60 EVT_MENU(self
, wxID_OPEN
, self
.OnFileOpenDialog
)
61 EVT_MENU_RANGE(self
, wxID_FILE1
, wxID_FILE9
, self
.OnFileHistory
)
70 def OnRightClick(self
, evt
):
71 self
.PopupMenu(self
.menu
, evt
.GetPosition())
74 def OnFileOpenDialog(self
, evt
):
75 dlg
= wxFileDialog(self
,
76 defaultDir
= os
.getcwd(),
77 style
= wxOPEN | wxCHANGE_DIR
)
78 if dlg
.ShowModal() == wxID_OK
:
80 self
.log
.write("You selected %s\n" % path
)
82 # add it to the history
83 self
.filehistory
.AddFileToHistory(path
)
88 def OnFileHistory(self
, evt
):
89 # get the file based on the menu ID
90 fileNum
= evt
.GetId() - wxID_FILE1
91 path
= self
.filehistory
.GetHistoryFile(fileNum
)
92 self
.log
.write("You selected %s\n" % path
)
94 # add it back to the history so it will be moved up the list
95 self
.filehistory
.AddFileToHistory(path
)
99 #----------------------------------------------------------------------
101 def runTest(frame
, nb
, log
):
102 win
= TestPanel(nb
, log
)
105 #----------------------------------------------------------------------
109 overview
= """<html><body>
110 <h3>wxFileHistory</h3>
112 wxFileHistory encapsulates functionality to record the last few files
113 visited, and to allow the user to quickly load these files using the
114 list appended to a menu, such as the File menu.