generate middle click events (backport from HEAD of the patch 1521314)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43585 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -1772,8 +1772,9 @@ class MySplashScreen(wx.SplashScreen):
|
|||||||
if self.fc.IsRunning():
|
if self.fc.IsRunning():
|
||||||
self.Raise()
|
self.Raise()
|
||||||
|
|
||||||
|
import wx.lib.mixins.inspect
|
||||||
|
|
||||||
class MyApp(wx.App):
|
class MyApp(wx.App, wx.lib.mixins.inspect.InspectionMixin):
|
||||||
def OnInit(self):
|
def OnInit(self):
|
||||||
"""
|
"""
|
||||||
Create and show the splash screen. It will then create and show
|
Create and show the splash screen. It will then create and show
|
||||||
@@ -1794,6 +1795,9 @@ class MyApp(wx.App):
|
|||||||
splash = MySplashScreen()
|
splash = MySplashScreen()
|
||||||
splash.Show()
|
splash.Show()
|
||||||
|
|
||||||
|
# Setup the InspectionMixin
|
||||||
|
self.Init()
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
@@ -29,6 +29,11 @@ works.
|
|||||||
Added wx.combo.BitmapComboBox which is a combobox that displays a
|
Added wx.combo.BitmapComboBox which is a combobox that displays a
|
||||||
bitmap in front of the list items.
|
bitmap in front of the list items.
|
||||||
|
|
||||||
|
Added the wx.lib.mixins.inspect module. It contains the InspectMixin
|
||||||
|
class which can be mixed with a wx.App class and provides a PyCrust
|
||||||
|
window that can be activated with a Ctrl-Alt-I keystroke (or Cmd-Alt-I
|
||||||
|
on the Mac.)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
58
wxPython/wx/lib/mixins/inspect.py
Normal file
58
wxPython/wx/lib/mixins/inspect.py
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
#----------------------------------------------------------------------------
|
||||||
|
# Name: wx.lib.mixins.inspect
|
||||||
|
# Purpose: A mix-in class that can add PyCrust-based inspection of the app
|
||||||
|
#
|
||||||
|
# Author: Robin Dunn
|
||||||
|
#
|
||||||
|
# Created: 21-Nov-2006
|
||||||
|
# RCS-ID: $Id$
|
||||||
|
# Copyright: (c) 2006 by Total Control Software
|
||||||
|
# Licence: wxWindows license
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# NOTE: This class is based on ideas sent to the wxPython-users
|
||||||
|
# mail-list by Dan Elof.
|
||||||
|
|
||||||
|
import wx.py
|
||||||
|
|
||||||
|
class InspectionMixin(object):
|
||||||
|
"""
|
||||||
|
This class is intended to be used as a mix-in with the wx.App
|
||||||
|
object. When used it will add the ability to popup a PyCrust
|
||||||
|
window where the widget under the mouse cursor will be loaded into
|
||||||
|
the shell's namespace as 'win'.
|
||||||
|
|
||||||
|
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):
|
||||||
|
"""
|
||||||
|
Make the event binding that will activate the PyCrust window.
|
||||||
|
"""
|
||||||
|
self.Bind(wx.EVT_KEY_DOWN, self.OnKeyPress)
|
||||||
|
self._crust = None
|
||||||
|
|
||||||
|
|
||||||
|
def OnKeyPress(self, evt):
|
||||||
|
"""
|
||||||
|
Event handler
|
||||||
|
"""
|
||||||
|
if evt.AltDown() and evt.CmdDown() and evt.KeyCode == ord('I'):
|
||||||
|
self.ShowShell()
|
||||||
|
else:
|
||||||
|
evt.Skip()
|
||||||
|
|
||||||
|
|
||||||
|
def ShowShell(self):
|
||||||
|
"""
|
||||||
|
Show the PyCrust window.
|
||||||
|
"""
|
||||||
|
if not self._crust:
|
||||||
|
self._crust = wx.py.crust.CrustFrame(self.GetTopWindow())
|
||||||
|
self._crust.shell.interp.locals['app'] = self
|
||||||
|
win = wx.FindWindowAtPointer()
|
||||||
|
self._crust.shell.interp.locals['win'] = win
|
||||||
|
self._crust.Show()
|
||||||
|
|
||||||
|
|
Reference in New Issue
Block a user