X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ec873c943d71f0d5f13e3398557071448cda6c23..a4027e74873007e3430af3bd77019bcab76f6c04:/wxPython/samples/docview/DocViewDemo.py?ds=inline diff --git a/wxPython/samples/docview/DocViewDemo.py b/wxPython/samples/docview/DocViewDemo.py deleted file mode 100644 index ba7bb6623a..0000000000 --- a/wxPython/samples/docview/DocViewDemo.py +++ /dev/null @@ -1,325 +0,0 @@ -#---------------------------------------------------------------------------- -# Name: DocViewDemo.py -# Purpose: Port of the wxWindows docview sample classes -# -# Author: Peter Yared -# -# Created: 8/1/03 -# CVS-ID: $Id$ -# Copyright: (c) 2003-2005 ActiveGrid, Inc. (Port of wxWindows classes by Julian Smart et al) -# License: wxWindows License -#---------------------------------------------------------------------------- - - - -#---------------------------------------------------------------------- -# This isn't the most object oriented code (it is somewhat repetitive, -# but it is true to the wxWindows C++ demos. -#---------------------------------------------------------------------- - - -import wx -import wx.lib.docview -_ = wx.GetTranslation - - -#---------------------------------------------------------------------- -#---------------------------------------------------------------------- -# TextEdit document and view classes - -class TextEditDocument(wx.lib.docview.Document): - - - def OnSaveDocument(self, filename): - view = self.GetFirstView() - if not view.GetTextSW().SaveFile(filename): - return False - self.Modify(False) - self.SetDocumentSaved(True) -## if wx.Platform == "__WXMAC__": -## fn = wx.Filename(filename) -## fn.MacSetDefaultTypeAndCreator() - return True - - - def OnOpenDocument(self, filename): - view = self.GetFirstView() - if not view.GetTextSW().LoadFile(filename): - return False - self.SetFilename(filename, True) - self.Modify(False) - self.UpdateAllViews() - self._savedYet = True - return True - - - def IsModified(self): - view = self.GetFirstView() - if view: - return wx.lib.docview.Document.IsModified(self) or (view.GetTextSW() and view.GetTextSW().IsModified()) - else: - return wx.lib.docview.Document.IsModified(self) - - - def Modify(self, mod): - view = self.GetFirstView() - wx.lib.docview.Document.Modify(self, mod) - if not mod and view and view.GetTextSW(): - view.GetTextSW().DiscardEdits() - - -class TextEditView(wx.lib.docview.View): - - - def OnCreate(self, doc, flags): - flags = doc.GetDocumentManager().GetFlags() - if flags & wx.lib.docview.DOC_SDI and doc.GetDocumentManager().GetMaxDocsOpen() == 1: - self._frame = wx.GetApp().GetMainFrame() - self.SetFrame(self._frame) - sizer = wx.BoxSizer() - self._textsw = MyTextWindow(self, self._frame, wx.DefaultPosition, wx.DefaultSize, wx.TE_MULTILINE) - sizer.Add(self._textsw, 1, wx.EXPAND, 0) - self._frame.SetSizer(sizer) - self._frame.Layout() - self.Activate(True) - return True - elif flags & wx.lib.docview.DOC_MDI: - self._frame = wx.lib.docview.DocMDIChildFrame(doc, self, wx.GetApp().GetMainFrame(), -1, wx.GetApp().GetAppName(), (10, 10), (300, 300), wx.DEFAULT_FRAME_STYLE) - self.SetFrame(self._frame) - sizer = wx.BoxSizer() - self._textsw = MyTextWindow(self, self._frame, wx.DefaultPosition, wx.DefaultSize, wx.TE_MULTILINE) - sizer.Add(self._textsw, 1, wx.EXPAND, 0) - self._frame.SetSizer(sizer) - self._frame.Layout() - self._frame.Show(True) - self.Activate(True) - return True - else: # flags & wx.lib.docview.DOC_SDI - self._frame = wx.GetApp().CreateChildFrame(doc, self) - width, height = self._frame.GetClientSize() - self._textsw = MyTextWindow(self, self._frame, (0, 0), (width, height), wx.TE_MULTILINE) - self._frame.SetTitle(_("TextEditView")) - self._frame.Show(True) - self.Activate(True) - return True - - - # Since ProcessEvent is not virtual, we have to trap the relevant events using this pseudo-ProcessEvent instead of EVT_MENU - def ProcessEvent(self, event): - id = event.GetId() - if id == wx.ID_UNDO: - self._textsw.Undo() - return True - elif id == wx.ID_REDO: - self._textsw.Redo() - return True - else: - return wx.lib.docview.View.ProcessEvent(self, event) - - - def GetTextSW(self): - return self._textsw - - - def OnDraw(self, dc): - """ For Print and Print Preview """ - pass - - - def OnClose(self, deleteWindow = True): - if not self.GetDocument().Close(): - return False - self.Activate(False) - if deleteWindow: - if self.GetDocument().GetDocumentManager().GetMaxDocsOpen() == 1 and self.GetDocument().GetDocumentManager().GetFlags() & wx.lib.docview.DOC_SDI: - if self._textsw: - self._textsw.Destroy() - return True - else: - self._frame.Destroy() - return True - return True - - -class MyTextWindow(wx.TextCtrl): - - - def __init__(self, view, frame, pos, size, style): - wx.TextCtrl.__init__(self, frame, -1, "", pos, size, style) - self._view = view - - - -#---------------------------------------------------------------------- -#---------------------------------------------------------------------- -# TextEdit Sample Application - - -class MyApp(wx.PySimpleApp): - - - def OnInit(self): - - - demoMode = wx.GetSingleChoiceIndex(_("Select the demo mode"), - _("wxPython DocView Demo"), - [_("SDI Single Document"), _("SDI"), _("MDI")]) - - if demoMode == 0 or demoMode == 1: - flags = wx.lib.docview.DOC_SDI - elif demoMode == 2: - flags = wx.lib.docview.DOC_MDI - else: - return False - - self.SetAppName(_("DocView Demo")) - - docManager = wx.lib.docview.DocManager(flags = flags) - docManager.AssociateTemplate(wx.lib.docview.DocTemplate(docManager, - _("Text"), - "*.text;*.txt", - _("Text"), - _(".txt"), - _("Text Document"), - _("Text View"), - TextEditDocument, - TextEditView)) - #if wx.Platform == "__WXMAC__": - # wx.FileName.MacRegisterDefaultTypeAndCreator("txt", 'TEXT', 'WXMA') - - if demoMode == 0: - docManager.SetMaxDocsOpen(1) - - if demoMode == 2: # MDI - self._frame = MyMDIFrame(docManager, None, -1, _("DocView Demo"), (0, 0), (500, 400), wx.DEFAULT_FRAME_STYLE) - else: # SDI - self._frame = MyFrame(docManager, None, -1, _("DocView Demo"), (0, 0), (500, 400), wx.DEFAULT_FRAME_STYLE) - - fileMenu = wx.Menu() - editMenu = None - - fileMenu.Append(wx.ID_NEW, _("&New...")) - fileMenu.Append(wx.ID_OPEN, _("&Open...")) - - if demoMode == 2: # MDI - fileMenu.Append(wx.ID_CLOSE, _("&Close")) - fileMenu.AppendSeparator() - - if demoMode == 0 or demoMode == 2: # Single Doc or MDI - fileMenu.Append(wx.ID_SAVE, _("&Save")) - fileMenu.Append(wx.ID_SAVEAS, _("Save &As")) - fileMenu.AppendSeparator() - fileMenu.Append(wx.ID_PRINT, _("&Print")) - fileMenu.Append(wx.ID_PRINT_SETUP, _("Page &Setup")) - fileMenu.Append(wx.ID_PREVIEW, _("Print Pre&view")) - - editMenu = wx.Menu() - editMenu.Append(wx.ID_UNDO, _("&Undo")) - editMenu.Append(wx.ID_REDO, _("&Redo")) - - self._frame.editMenu = editMenu - - fileMenu.AppendSeparator() - fileMenu.Append(wx.ID_EXIT, _("E&xit")) - - docManager.FileHistoryUseMenu(fileMenu) - - helpMenu = wx.Menu() - helpMenu.Append(wx.ID_ABOUT, _("&About")) - - menuBar = wx.MenuBar() - menuBar.Append(fileMenu, _("&File")) - if editMenu: - menuBar.Append(editMenu, _("&Edit")) - menuBar.Append(helpMenu, _("&Help")) - - self._frame.SetMenuBar(menuBar) - self._frame.Centre(wx.BOTH) - self._frame.Show(True) - - self.SetTopWindow(self._frame) - - if demoMode == 0: # Single doc - docManager.OnFileNew(None) - - return True - - - def GetMainFrame(self): - return self._frame - - - def GetDemoMode(self): - return self._demoMode - - - def CreateChildFrame(self, doc, view): - subframe = wx.lib.docview.DocChildFrame(doc, view, self.GetMainFrame(), -1, wx.GetApp().GetAppName(), (10, 10), (300, 300), wx.DEFAULT_FRAME_STYLE) - - fileMenu = wx.Menu() - fileMenu.Append(wx.ID_NEW, _("&New")) - fileMenu.Append(wx.ID_OPEN, _("&Open")) - fileMenu.Append(wx.ID_CLOSE, _("&Close")) - fileMenu.AppendSeparator() - fileMenu.Append(wx.ID_SAVE, _("&Save")) - fileMenu.Append(wx.ID_SAVEAS, _("Save &As")) - fileMenu.AppendSeparator() - fileMenu.Append(wx.ID_PRINT, _("&Print")) - fileMenu.Append(wx.ID_PRINT_SETUP, _("Page &Setup")) - fileMenu.Append(wx.ID_PREVIEW, _("Print Pre&view")) - - editMenu = wx.Menu() - editMenu.Append(wx.ID_UNDO, _("&Undo")) - editMenu.Append(wx.ID_REDO, _("&Redo")) - - helpMenu = wx.Menu() - helpMenu.Append(wx.ID_ABOUT, _("&About")) - - menuBar = wx.MenuBar() - - menuBar.Append(fileMenu, _("&File")) - menuBar.Append(editMenu, _("&Edit")) - menuBar.Append(helpMenu, _("&Help")) - - subframe.SetMenuBar(menuBar) - subframe.Centre(wx.BOTH) - return subframe - - -class MyFrame(wx.lib.docview.DocParentFrame): - - - def __init__(self, manager, frame, id, title, pos = wx.DefaultPosition, size = wx.DefaultSize, style = wx.DEFAULT_FRAME_STYLE, name = "frame"): - wx.lib.docview.DocParentFrame.__init__(self, manager, frame, id, title, pos, size, style, name) - self._frame = frame - wx.EVT_MENU(self, wx.ID_ABOUT, self.OnAbout) - - - def OnAbout(self, event): - wx.MessageBox(wx.GetApp().GetAppName(), _("About DocView")) - - - def GetMainFrame(self): - return self._frame - - -class MyMDIFrame(wx.lib.docview.DocMDIParentFrame): - - def __init__(self, manager, frame, id, title, pos = wx.DefaultPosition, size = wx.DefaultSize, style = wx.DEFAULT_FRAME_STYLE, name = "frame"): - wx.lib.docview.DocMDIParentFrame.__init__(self, manager, frame, id, title, pos, size, style, name) - self._frame = frame - wx.EVT_MENU(self, wx.ID_ABOUT, self.OnAbout) - - - def OnAbout(self, event): - wx.MessageBox(wx.GetApp().GetAppName(), _("About DocView")) - - - def GetMainFrame(self): - return self._frame - - -app = MyApp() -app.MainLoop() - -