home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyo (Python 2.5)
-
- from __future__ import with_statement
- import wx
- from random import randint
- import wx.webkit as webkit
- from logging import getLogger
- log = getLogger('iewindow')
- from collections import defaultdict
- from util import traceguard, try_this, Delegate
- from time import time
- import stdpaths
-
- class WebKitWindow(webkit.WebKitCtrl):
-
- def __init__(self, parent, initialContents = '', url = None):
- webkit.WebKitCtrl.__init__(self, parent, style = wx.NO_BORDER)
- self.OnNav = Delegate()
- self.OnDoc = Delegate()
- if url is not None:
- self.seturl = url
- self.LoadUrl(url)
- elif not initialContents:
- pass
- s = ''
- if s:
- self.SetPage(s)
-
- self.Bind(webkit.EVT_WEBKIT_BEFORE_LOAD, self.BeforeLoad)
- self.Bind(webkit.EVT_WEBKIT_STATE_CHANGED, self.StateChanged)
-
-
- def LoadUrl(self, url):
- if isinstance(url, unicode):
- import warnings
- warnings.warn('LoadUrl called with a unicode: %r' % url)
- url = str(url)
-
- if not isinstance(url, str):
- raise TypeError('must pass a string to LoadUrl')
-
- return self.LoadURL(url)
-
-
- def OnURL(self, url, callback):
- if not callable(callback):
- raise TypeError('callback must be callable')
-
- self.urltriggers[url] += [
- callback]
-
-
- def FileURL(self):
-
- try:
- return 'file:///' + self.file.name.replace('\\', '/')
- except AttributeError:
- return self.seturl
-
-
- FileURL = property(FileURL)
-
- def SetPage(self, content):
- return self.SetPageSource(content)
-
-
- def BeforeLoad(self, event):
- self.OnNav(event.GetURL())
-
-
- def StateChanged(self, event):
- if event.GetState() == webkit.WEBKIT_STATE_STOP:
- self.OnDoc(event.GetURL())
-
-
-
- if __name__ == '__main__':
- a = wx.PySimpleApp()
-
- _ = lambda s: s
- fbSize = (646, 436)
- url = 'http://www.google.com/'
- from util import trace
- trace(WebKitWindow)
- f = wx.Frame(None, size = fbSize, title = _('ie test'))
- wk = WebKitWindow(f, url = url)
- f.Show()
- a.MainLoop()
-
-