wxWidgets/wxPython/samples/pydocview/PyDocViewDemo.py
Robin Dunn 6c75a4cf0f Removed unnecessary files, removed or replaced images that we're not
sure of their origin or license.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34322 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-05-24 20:55:42 +00:00

103 lines
4.1 KiB
Python

#----------------------------------------------------------------------------
# Name: PyDocViewDemo.py
# Purpose: Demo of Python extensions to the wxWindows docview framework
#
# Author: Peter Yared, Morgan Hua
#
# Created: 5/15/03
# CVS-ID: $Id$
# Copyright: (c) 2003-2005 ActiveGrid, Inc.
# License: wxWindows License
#----------------------------------------------------------------------------
import sys
import wx
import wx.lib.docview as docview
import wx.lib.pydocview as pydocview
import TextEditor
import FindService
import os.path
_ = wx.GetTranslation
#----------------------------------------------------------------------------
# Classes
#----------------------------------------------------------------------------
class TextEditorApplication(pydocview.DocApp):
def OnInit(self):
# Call the super - this is important!!!
pydocview.DocApp.OnInit(self)
# Show the splash dialog while everything is loading up
if os.path.exists("splash.png"):
self.ShowSplash("splash.png")
# Set the name and the icon
self.SetAppName(_("wxPython PyDocView Demo"))
self.SetDefaultIcon(pydocview.getBlankIcon())
# Initialize the document manager
docManager = docview.DocManager(flags = self.GetDefaultDocManagerFlags())
self.SetDocumentManager(docManager)
# Create a template for text documents and associate it with the docmanager
textTemplate = docview.DocTemplate(docManager,
_("Text"),
"*.text;*.txt",
_("Text"),
_(".txt"),
_("Text Document"),
_("Text View"),
TextEditor.TextDocument,
TextEditor.TextView,
icon=pydocview.getBlankIcon())
docManager.AssociateTemplate(textTemplate)
# Install services - these can install menu and toolbar items
textService = self.InstallService(TextEditor.TextService())
findService = self.InstallService(FindService.FindService())
optionsService = self.InstallService(pydocview.DocOptionsService(supportedModes=wx.lib.docview.DOC_MDI))
windowMenuService = self.InstallService(pydocview.WindowMenuService())
filePropertiesService = self.InstallService(pydocview.FilePropertiesService())
if os.path.exists("splash.jpg"):
aboutService = self.InstallService(pydocview.AboutService(image=wx.Image("splash.jpg")))
else:
aboutService = self.InstallService(pydocview.AboutService())
# Install the TextEditor's option panel into the OptionsService
optionsService.AddOptionsPanel(TextEditor.TextOptionsPanel)
# If it is an MDI app open the main frame
self.OpenMainFrame()
# Open any files that were passed via the command line
self.OpenCommandLineArgs()
# If nothing was opened and it is an SDI app, open up an empty text document
if not docManager.GetDocuments() and docManager.GetFlags() & wx.lib.docview.DOC_SDI:
textTemplate.CreateDocument('', docview.DOC_NEW).OnNewDocument()
# Close the splash dialog
if os.path.exists("splash.jpg"):
self.CloseSplash()
# Show the tips dialog
if os.path.exists("tips.txt"):
wx.CallAfter(self.ShowTip, wx.GetApp().GetTopWindow(), wx.CreateFileTipProvider("tips.txt", 0))
# Tell the framework that everything is great
return True
#----------------------------------------------------------------------------
# Main
#----------------------------------------------------------------------------
# Run the TextEditorApplication and do not redirect output to the wxPython error dialog
app = TextEditorApplication(redirect=False)
app.MainLoop()