From 7c41d11aed39e37811c50a0d04b1a6ae25071341 Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Fri, 5 Apr 2002 00:28:37 +0000 Subject: [PATCH] Added wxFileHistory demo git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14943 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- wxPython/demo/Main.py | 3 +- wxPython/demo/wxFileHistory.py | 116 +++++++++++++++++++++++++++++++++ 2 files changed, 118 insertions(+), 1 deletion(-) create mode 100644 wxPython/demo/wxFileHistory.py diff --git a/wxPython/demo/Main.py b/wxPython/demo/Main.py index b53d83aace..a741bc01ff 100644 --- a/wxPython/demo/Main.py +++ b/wxPython/demo/Main.py @@ -25,6 +25,7 @@ _treeList = [ 'wxImageFromStream', 'RowColSizer', 'Unicode', + 'wxFileHistory', ]), ('Windows', ['wxFrame', 'wxDialog', 'wxMiniFrame', @@ -64,7 +65,7 @@ _treeList = [ 'ActiveXWrapper_Acrobat', 'ActiveXWrapper_IE', 'wxDragImage', "wxProcess", "FancyText", "OOR", "wxWave", 'wxJoystick', 'DrawXXXList', 'ErrorDialogs', 'wxMimeTypesManager', - 'ContextHelp', 'SplitTree', 'Unicode', + 'ContextHelp', 'SplitTree', 'Unicode', 'wxFileHistory', ]), ('wxPython Library', ['Layoutf', 'wxScrolledMessageDialog', diff --git a/wxPython/demo/wxFileHistory.py b/wxPython/demo/wxFileHistory.py new file mode 100644 index 0000000000..bb90041bf7 --- /dev/null +++ b/wxPython/demo/wxFileHistory.py @@ -0,0 +1,116 @@ + +from wxPython.wx import * +import os + +#---------------------------------------------------------------------- + +text = """\ +Right-click on the panel to get a menu. This menu will be managed by +a wxFileHistory object and so the files you select will automatically +be added to the end of the menu and will be selectable the next time +the menu is viewed. The filename selcted, either via the Open menu +item, or from the history, will be displayed in the log window below. +""" + +#---------------------------------------------------------------------- + +class TestPanel(wxPanel): + def __init__(self, parent, log): + self.log = log + wxPanel.__init__(self, parent, -1) + box = wxBoxSizer(wxVERTICAL) + + # Make and layout the controls + bf = wxFont(14, wxSWISS, wxNORMAL, wxBOLD) + nf = wxFont(11, wxSWISS, wxNORMAL, wxNORMAL) + + t = wxStaticText(self, -1, "wxFileHistory") + t.SetFont(bf) + box.Add(t, 0, wxCENTER|wxALL, 5) + + box.Add(wxStaticLine(self, -1), 0, wxEXPAND) + box.Add(10,20) + + t = wxStaticText(self, -1, text) + t.SetFont(nf) + box.Add(t, 0, wxCENTER|wxALL, 5) + + self.SetSizer(box) + self.SetAutoLayout(true) + + # Make a menu + self.menu = m = wxMenu() + m.Append(wxID_NEW, "&New") + m.Append(wxID_OPEN, "&Open...") + m.Append(wxID_CLOSE, "&Close") + m.Append(wxID_SAVE, "&Save") + m.Append(wxID_SAVEAS, "Save &as...") + m.Enable(wxID_NEW, false) + m.Enable(wxID_CLOSE, false) + m.Enable(wxID_SAVE, false) + m.Enable(wxID_SAVEAS, false) + + # and a file history + self.filehistory = wxFileHistory() + self.filehistory.UseMenu(self.menu) + + # and finally the event handler bindings + EVT_RIGHT_UP(self, self.OnRightClick) + EVT_MENU(self, wxID_OPEN, self.OnFileOpenDialog) + EVT_MENU_RANGE(self, wxID_FILE1, wxID_FILE9, self.OnFileHistory) + + + + def __del__(self): + del self.filehistory + self.menu.Destroy() + + + def OnRightClick(self, evt): + self.PopupMenu(self.menu, evt.GetPosition()) + + + def OnFileOpenDialog(self, evt): + dlg = wxFileDialog(self, + defaultDir = os.getcwd(), + style = wxOPEN | wxCHANGE_DIR) + if dlg.ShowModal() == wxID_OK: + path = dlg.GetPath() + self.log.write("You selected %s\n" % path) + + # add it to the history + self.filehistory.AddFileToHistory(path) + + dlg.Destroy() + + + def OnFileHistory(self, evt): + # get the file based on the menu ID + fileNum = evt.GetId() - wxID_FILE1 + path = self.filehistory.GetHistoryFile(fileNum) + self.log.write("You selected %s\n" % path) + + # add it back to the history so it will be moved up the list + self.filehistory.AddFileToHistory(path) + + + +#---------------------------------------------------------------------- + +def runTest(frame, nb, log): + win = TestPanel(nb, log) + return win + +#---------------------------------------------------------------------- + + + +overview = """ +

wxFileHistory

+ +wxFileHistory encapsulates functionality to record the last few files +visited, and to allow the user to quickly load these files using the +list appended to a menu, such as the File menu. + + +""" -- 2.45.2