1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- import string
- import win32ui
- import win32api
- from pywin.mfc import docview
- import pywin.framework.window
- import os
- import frame
- ParentEditorTemplate=docview.DocTemplate
- class EditorTemplateBase(ParentEditorTemplate):
- def __init__(self, res=win32ui.IDR_TEXTTYPE, makeDoc=None, makeFrame=None, makeView=None):
- if makeFrame is None: makeFrame = frame.EditorFrame
- ParentEditorTemplate.__init__(self, res, makeDoc, makeFrame, makeView)
- def _CreateDocTemplate(self, resourceId):
- assert 0, "You must override this"
- def CreateWin32uiDocument(self):
- assert 0, "You must override this"
- def GetFileExtensions(self):
- return ".txt", ".py"
- def MatchDocType(self, fileName, fileType):
- doc = self.FindOpenDocument(fileName)
- if doc: return doc
- ext = os.path.splitext(fileName)[1].lower()
- if ext in self.GetFileExtensions():
- return win32ui.CDocTemplate_Confidence_yesAttemptNative
- return win32ui.CDocTemplate_Confidence_maybeAttemptForeign
- def InitialUpdateFrame(self, frame, doc, makeVisible=1):
- self._obj_.InitialUpdateFrame(frame, doc, makeVisible) # call default handler.
- doc._UpdateUIForState()
-
- def GetPythonPropertyPages(self):
- """Returns a list of property pages
- """
- import configui
- return [configui.EditorPropertyPage(), configui.EditorWhitespacePropertyPage()]
- def OpenDocumentFile(self, filename, bMakeVisible = 1):
- if filename is not None:
- try:
- path = os.path.split(filename)[0]
- # print "The editor is translating", `filename`,"to",
- filename = win32api.FindFiles(filename)[0][8]
- filename = os.path.join(path, filename)
- # print `filename`
- except (win32api.error, IndexError), details:
- pass
- # print "Couldnt get the full filename!", details
- return self._obj_.OpenDocumentFile(filename, bMakeVisible)
|