]>
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.
19 class InspectionMixin(object):
21 This class is intended to be used as a mix-in with the wx.App
22 object. When used it will add the ability to popup a PyCrust
23 window where the widget under the mouse cursor will be loaded into
24 the shell's namespace as 'win'.
26 To use this class simply derive a class from wx.App and
27 InspectionMixin and then call the Init() method from the app's
30 def Init(self
, pos
=(-1, -1), size
=(-1, -1)):
32 Make the event binding that will activate the PyCrust window.
34 self
.Bind(wx
.EVT_KEY_DOWN
, self
.OnKeyPress
)
40 def OnKeyPress(self
, evt
):
44 if evt
.AltDown() and evt
.CmdDown() and evt
.KeyCode
== ord('I'):
52 Show the PyCrust window.
55 self
._crust
= wx
.py
.crust
.CrustFrame(self
.GetTopWindow(),
56 pos
= self
._pos
, size
= self
._size
)
57 self
._crust
.shell
.interp
.locals['app'] = self
58 self
._crust
.shell
.interp
.locals['wx'] = wx
59 win
= wx
.FindWindowAtPointer()
60 self
._crust
.shell
.interp
.locals['win'] = win