home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2011 October / maximum-cd-2011-10.iso / DiscContents / digsby_setup.exe / lib / gui / browser / iewindow.pyo (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2011-06-22  |  3.8 KB  |  104 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.6)
  3.  
  4. from __future__ import with_statement
  5. import wx
  6. from random import randint
  7. import wx.lib.iewin as iewin
  8. from logging import getLogger
  9. log = getLogger('iewindow')
  10. from util.primitives.funcs import Delegate
  11. from time import time
  12. import stdpaths
  13. import metrics
  14.  
  15. class IEWindow(iewin.IEHtmlWindow):
  16.     
  17.     def __init__(self, parent, initialContents = '', url = None):
  18.         metrics.event('IE Window Created')
  19.         iewin.IEHtmlWindow.__init__(self, parent, style = wx.NO_BORDER)
  20.         self.OnNav = Delegate()
  21.         self.OnBeforeNav = Delegate()
  22.         self.OnDoc = Delegate()
  23.         self._set_Silent(False)
  24.         if url is not None:
  25.             self.seturl = url
  26.             self.LoadUrl(url)
  27.         elif not initialContents:
  28.             pass
  29.         s = ''
  30.         if s:
  31.             self.SetPage(s)
  32.         
  33.  
  34.     
  35.     def LoadUrl(self, url):
  36.         if isinstance(url, unicode):
  37.             import warnings
  38.             warnings.warn('LoadUrl called with a unicode: %r' % url)
  39.             url = str(url)
  40.         
  41.         if not isinstance(url, str):
  42.             raise TypeError('must pass a string to LoadUrl')
  43.         isinstance(url, str)
  44.         return iewin.IEHtmlWindow.LoadUrl(self, url)
  45.  
  46.     
  47.     def OnURL(self, url, callback):
  48.         if not callable(callback):
  49.             raise TypeError('callback must be callable')
  50.         callable(callback)
  51.         self.urltriggers[url] += [
  52.             callback]
  53.  
  54.     
  55.     def FileURL(self):
  56.         
  57.         try:
  58.             return 'file:///' + self.file.name.replace('\\', '/')
  59.         except AttributeError:
  60.             return self.seturl
  61.  
  62.  
  63.     FileURL = property(FileURL)
  64.     
  65.     def SetPage(self, content):
  66.         tempname = 'digsby-%s-%s.html' % (time(), randint(1, 9999))
  67.         p = stdpaths.temp / tempname
  68.         p.write_bytes(content)
  69.         return self.LoadUrl(p.url())
  70.  
  71.     
  72.     def BeforeNavigate2(self, this, pDisp, URL, *a):
  73.         self.OnBeforeNav(URL[0])
  74.  
  75.     
  76.     def NavigateComplete2(self, this, pDisp, URL, *a):
  77.         self.OnNav(URL[0])
  78.  
  79.     
  80.     def DocumentComplete(self, this, pDisp, URL, *a):
  81.         self.OnDoc(URL[0])
  82.  
  83.  
  84. if __name__ == '__main__':
  85.     a = wx.PySimpleApp()
  86.     
  87.     _ = lambda s: s
  88.     fbSize = (646, 436)
  89.     url = 'http://www.google.com/'
  90.     from util import trace
  91.     trace(IEWindow)
  92.     f = wx.Frame(None, size = fbSize, title = _('ie test'))
  93.     ie = IEWindow(f, url = url)
  94.     
  95.     def ondoc(e):
  96.         print type(e)
  97.         print e
  98.         print e.URL
  99.  
  100.     ie.Bind(iewin.EVT_DocumentComplete, ondoc)
  101.     f.Show()
  102.     a.MainLoop()
  103.  
  104.