]>
git.saurik.com Git - wxWidgets.git/blob - wxPython/wx/lib/mixins/inspect.py
   1 #---------------------------------------------------------------------------- 
   2 # Name:        wx.lib.mixins.inspect 
   3 # Purpose:     A mix-in class that can add PyCrust-based inspection of the app 
   9 # Copyright:   (c) 2006 by Total Control Software 
  10 # Licence:     wxWindows license 
  11 #---------------------------------------------------------------------------- 
  13 # NOTE: This class is based on ideas sent to the wxPython-users 
  14 # mail-list by Dan Eloff. 
  18 class InspectionMixin(object): 
  20     This class is intended to be used as a mix-in with the wx.App 
  21     object.  When used it will add the ability to popup a PyCrust 
  22     window where the widget under the mouse cursor will be loaded into 
  23     the shell's namespace as 'win'. 
  25     To use this class simply derive a class from wx.App and 
  26     InspectionMixin and then call the Init() method from the app's 
  29     def Init(self
, pos
=(-1, -1), size
=(-1, -1)): 
  31         Make the event binding that will activate the PyCrust window. 
  33         self
.Bind(wx
.EVT_KEY_DOWN
, self
.OnKeyPress
) 
  39     def OnKeyPress(self
, evt
): 
  43         if evt
.AltDown() and evt
.CmdDown() and evt
.KeyCode 
== ord('I'): 
  51         Show the PyCrust window. 
  54             self
._crust 
= wx
.py
.crust
.CrustFrame(self
.GetTopWindow(), 
  55                                                  pos 
= self
._pos
, size 
= self
._size
) 
  56             self
._crust
.shell
.interp
.locals['app'] = self
 
  57         win 
= wx
.FindWindowAtPointer() 
  58         self
._crust
.shell
.interp
.locals['win'] = win