+++ /dev/null
-#----------------------------------------------------------------------------
-# Name: wx.lib.mixins.inspection
-# Purpose: A mix-in class that can add PyCrust-based inspection of the
-# app's widgets and sizers.
-#
-# Author: Robin Dunn
-#
-# Created: 21-Nov-2006
-# RCS-ID: $Id$
-# Copyright: (c) 2006 by Total Control Software
-# Licence: wxWindows license
-#----------------------------------------------------------------------------
-
-# NOTE: This class was originally based on ideas sent to the
-# wxPython-users mail list by Dan Eloff.
-
-import wx
-from wx.lib.inspection import InspectionTool
-
-
-#----------------------------------------------------------------------------
-
-class InspectionMixin(object):
- """
- This class is intended to be used as a mix-in with the wx.App
- class. When used it will add the ability to popup a
- InspectionFrame window where the widget under the mouse cursor
- will be selected in the tree and loaded into the shell's namespace
- as 'obj'. The default key sequence to activate the inspector is
- Ctrl-Alt-I (or Cmd-Alt-I on Mac) but this can be changed via
- parameters to the `Init` method, or the application can call
- `ShowInspectionTool` from other event handlers if desired.
-
- To use this class simply derive a class from wx.App and
- InspectionMixin and then call the `Init` method from the app's
- OnInit.
- """
- def Init(self, pos=wx.DefaultPosition, size=wx.Size(850,700),
- config=None, locals=None,
- alt=True, cmd=True, shift=False, keyCode=ord('I')):
- """
- Make the event binding that will activate the InspectionFrame window.
- """
- self.Bind(wx.EVT_KEY_DOWN, self._OnKeyPress)
- self._alt = alt
- self._cmd = cmd
- self._shift = shift
- self._keyCode = keyCode
- InspectionTool().Init(pos, size, config, locals, self)
-
- def _OnKeyPress(self, evt):
- """
- Event handler, check for our hot-key. Normally it is
- Ctrl-Alt-I but that can be changed by what is passed to the
- Init method.
- """
- if evt.AltDown() == self._alt and \
- evt.CmdDown() == self._cmd and \
- evt.ShiftDown() == self._shift and \
- evt.GetKeyCode() == self._keyCode:
- self.ShowInspectionTool()
- else:
- evt.Skip()
-
-
- def ShowInspectionTool(self):
- """
- Show the Inspection tool, creating it if neccesary, setting it
- to display the widget under the cursor.
- """
- # get the current widget under the mouse
- wnd = wx.FindWindowAtPointer()
- InspectionTool().Show(wnd)
-
-
-#---------------------------------------------------------------------------
-
-class InspectableApp(wx.App, InspectionMixin):
- """
- A simple mix of wx.App and InspectionMixin that can be used stand-alone.
- """
-
- def OnInit(self):
- self.Init()
- return True
-
-#---------------------------------------------------------------------------
-