Merged wxPython 2.4.x to the 2.5 branch (Finally!!!)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19793 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2003-03-25 06:35:27 +00:00
parent 9b4e3f352b
commit 1e4a197e4c
586 changed files with 62691 additions and 17740 deletions
+5 -5
View File
@@ -11,11 +11,11 @@
import time
Month = {2: 'February', 3: 'March', None: 0, 'July': 7, 11:
'November', 'December': 12, 'June': 6, 'January': 1, 'September': 9,
'August': 8, 'March': 3, 'November': 11, 'April': 4, 12: 'December',
'May': 5, 10: 'October', 9: 'September', 8: 'August', 7: 'July', 6:
'June', 5: 'May', 4: 'April', 'October': 10, 'February': 2, 1:
'January', 0: None}
'November', 'December': 12, 'June': 6, 'January': 1, 'September': 9,
'August': 8, 'March': 3, 'November': 11, 'April': 4, 12: 'December',
'May': 5, 10: 'October', 9: 'September', 8: 'August', 7: 'July', 6:
'June', 5: 'May', 4: 'April', 'October': 10, 'February': 2, 1:
'January', 0: None}
# Number of days per month (except for February in leap years)
mdays = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
+21 -21
View File
@@ -191,7 +191,7 @@ class wxPyNonWindowingErrorHandler:
self.file = file
def write(self,s):
import sys
if string.find(s,"Warning") <> 0\
if s.find("Warning") <> 0\
and self.this_exception is not sys.last_traceback:
wxPyNonWindowingError("The Python interpreter encountered an error "
"not handled by any\nexception handler--this "
@@ -276,10 +276,10 @@ class wxPythonRExec (rexec.RExec):
class wxPyNonFatalErrorDialogWithTraceback(wxDialog):
this_exception = 0
populate_function = populate_wxPyNonFatalErrorDialogWithTraceback
no_continue_button = false
fatal = false
modal = true
exitjustreturns = false # really only for testing!
no_continue_button = False
fatal = False
modal = True
exitjustreturns = False # really only for testing!
def __init__(self, parent, id,
pos=wxPyDefaultPosition,
@@ -293,7 +293,7 @@ class wxPyNonFatalErrorDialogWithTraceback(wxDialog):
caption="Python error!",
versionname=None,
errorname=None,
disable_exit_button=false):
disable_exit_button=False):
if self.fatal:
whetherNF = ""
@@ -309,7 +309,7 @@ class wxPyNonFatalErrorDialogWithTraceback(wxDialog):
wxDialog.__init__(self, parent, id, title, pos, size, style)
self.topsizer = self.populate_function( false,true )
self.topsizer = self.populate_function( False,True )
self.SetProgramName(programname)
self.SetVersion(version)
@@ -332,10 +332,10 @@ class wxPyNonFatalErrorDialogWithTraceback(wxDialog):
if not disable_mail_button:
EVT_BUTTON(self, wxPyError_ID_MAIL, self.OnMail)
else:
self.GetMailButton().Enable(false)
self.GetMailButton().Enable(False)
# disable the entry box for an e-mail address by default (NOT PROPERLY DOCUMENTED)
if not hasattr(self,"enable_mail_address_box"):
self.FindWindowById(wxPyError_ID_ADDRESS).Enable(false)
self.FindWindowById(wxPyError_ID_ADDRESS).Enable(False)
if not disable_exit_button:
EVT_BUTTON(self, wxPyError_ID_EXIT, self.OnExit)
@@ -380,7 +380,7 @@ class wxPyNonFatalErrorDialogWithTraceback(wxDialog):
value = value[:-1]
if _debug:
print "%s.SetTraceback(): ...SetValue('%s' (^M=\\r; ^J=\\n))"\
% (self,string.replace(value,'\n',"^J"))
% (self,value.replace('\n',"^J"))
c.SetValue(value)
# Despite using the wxADJUST_MINSIZE flag in the
@@ -399,7 +399,7 @@ class wxPyNonFatalErrorDialogWithTraceback(wxDialog):
print "%s.SetTraceback(): %s.GetBestSize() = (%s,%s)"\
% (self,c,size.width,size.height)
w,h = 0,0
for v in string.split(value,"\n"):
for v in value.split("\n"):
pw,ph,d,e = t = c.GetFullTextExtent(v)
if _debug:
print v, t
@@ -415,7 +415,7 @@ class wxPyNonFatalErrorDialogWithTraceback(wxDialog):
self.sizerAroundText.SetItemMinSize (c,w,h)
c.SetSize ((w,h))
c.SetSizeHints (w,h,w,h)
c.Refresh()#.SetAutoLayout(FALSE)
c.Refresh()#.SetAutoLayout(False)
#^ the reason we need the above seems to be to replace the
#faulty GetBestSize of wxTextCtrl...
@@ -503,7 +503,7 @@ class wxPyNonFatalErrorDialogWithTraceback(wxDialog):
if self.modal:
self.ShowModal()
else:
self.Show(true)
self.Show(True)
except:
if not locals().has_key("c"):
@@ -654,8 +654,8 @@ class wxPyNonFatalErrorDialogWithTraceback(wxDialog):
class wxPyFatalErrorDialogWithTraceback(wxPyNonFatalErrorDialogWithTraceback):
populate_function = populate_wxPyFatalErrorDialogWithTraceback
no_continue_button = true
fatal = true
no_continue_button = True
fatal = True
class wxPyNonFatalErrorDialog(wxPyNonFatalErrorDialogWithTraceback):
populate_function = populate_wxPyNonFatalErrorDialog
@@ -669,7 +669,7 @@ def _startmailerwithhtml(mailto,subject,html,text=None,mailfrom=None):
s = 'mailto:%s?subject=%s&body=%s' % (mailto,
urllib.quote(subject),
urllib.quote(
string.replace(text,'\n','\r\n'),
text.replace('\n','\r\n'),
""))
# Note that RFC 2368 requires that line breaks in the body of
@@ -719,7 +719,7 @@ def _writehtmlmessage(mailto,subject,html,text=None,parent=None,mailfrom=None):
def _createhtmlmail (html, text, subject, to=None, mailfrom=None):
"""Create a mime-message that will render HTML in popular
MUAs, text in better ones (if indeed text is not untrue (e.g. None)
MUAs, text in better ones (if indeed text is not unTrue (e.g. None)
"""
import MimeWriter, mimetools, cStringIO
@@ -797,7 +797,7 @@ def wxPyResizeHTMLWindowToDispelScrollbar(window,
# Will go no further than specified fraction of display size.
w = 200
if type(fraction) == type(''):
fraction = string.atoi(fraction[:-1]) / 100.
fraction = int(fraction[:-1]) / 100.
ds = wxDisplaySize ()
c = window.GetInternalRepresentation ()
while w < ds[0] * fraction:
@@ -812,7 +812,7 @@ def wxPyResizeHTMLWindowToDispelScrollbar(window,
w = w + 20
else:
if type(defaultfraction) == type(''):
defaultfraction = string.atoi(defaultfraction[:-1]) / 100.
defaultfraction = int(defaultfraction[:-1]) / 100.
defaultsize = (defaultfraction * ds[0], defaultfraction * ds[1])
if _debug:
print 'defaultsize =',defaultsize
@@ -849,7 +849,7 @@ def wxPyFatalOrNonFatalError(parent,
else:
populate_function = populate_wxPyNonFatalError
sizer = populate_function(dlg,false,true)
sizer = populate_function(dlg,False,True)
window = dlg.FindWindowById(wxPyError_ID_HTML)
window.SetPage(msg)
@@ -875,5 +875,5 @@ def wxPyFatalOrNonFatalError(parent,
dlg.Destroy()
return v
else:
dlg.Show(true)
dlg.Show(True)
File diff suppressed because it is too large Load Diff
+49 -18
View File
@@ -1,39 +1,70 @@
#!/usr/bin/env python
"""PyCrustApp is a python shell and namespace browser application."""
# The next two lines, and the other code below that makes use of
# ``__main__`` and ``original``, serve the purpose of cleaning up the
# main namespace to look as much as possible like the regular Python
# shell environment.
import __main__
original = __main__.__dict__.keys()
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
__cvsid__ = "$Id$"
__revision__ = "$Revision$"[11:-2]
from wxPython.wx import *
from crust import CrustFrame
from wxPython import wx
try:
True
except NameError:
True = 1==1
False = 1==0
class App(wxApp):
class App(wx.wxApp):
"""PyCrust standalone application."""
def OnInit(self):
wxInitAllImageHandlers()
locals = {'__app__': 'PyCrust Standalone Application'}
self.crustFrame = CrustFrame(locals=locals)
self.crustFrame.SetSize((750, 525))
self.crustFrame.Show(true)
self.crustFrame.crust.shell.SetFocus()
self.SetTopWindow(self.crustFrame)
from wxPython import wx
wx.wxInitAllImageHandlers()
locals = __main__.__dict__
from crust import CrustFrame
self.frame = CrustFrame(locals=locals)
self.frame.SetSize((800, 600))
self.frame.Show()
self.SetTopWindow(self.frame)
# Add the application object to the sys module's namespace.
# This allows a shell user to do:
# >>> import sys
# >>> sys.application.whatever
# >>> sys.app.whatever
import sys
sys.application = self
return true
sys.app = self
return 1
'''
The main() function needs to handle being imported, such as with the
pycrust script that wxPython installs:
#!/usr/bin/env python
from wxPython.lib.PyCrust.PyCrustApp import main
main()
'''
def main():
application = App(1)
application.MainLoop()
import __main__
md = __main__.__dict__
keepers = original
keepers.append('App')
for key in md.keys():
if key not in keepers:
del md[key]
app = App(0)
if md.has_key('App') and md['App'] is App:
del md['App']
if md.has_key('__main__') and md['__main__'] is __main__:
del md['__main__']
app.MainLoop()
if __name__ == '__main__':
main()
+24 -14
View File
@@ -1,4 +1,4 @@
#!/usr/bin/env python
"""PyFillingApp is a python namespace inspection application."""
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
@@ -6,30 +6,40 @@ __cvsid__ = "$Id$"
__revision__ = "$Revision$"[11:-2]
# We use this object to get more introspection when run standalone.
application = None
app = None
import filling
# These are imported just to have something interesting to inspect.
from PyCrust import crust
from PyCrust import interpreter
from PyCrust import introspect
from PyCrust import pseudo
from PyCrust import shell
import crust
import interpreter
import introspect
import pseudo
import shell
import sys
from wxPython import wx
try:
True
except NameError:
True = 1==1
False = 1==0
class App(filling.App):
def OnInit(self):
filling.App.OnInit(self)
self.root = self.fillingFrame.filling.tree.root
return True
def main():
"""Create and run the application."""
global application
application = filling.App(0)
root = application.fillingFrame.filling.fillingTree.root
application.fillingFrame.filling.fillingTree.Expand(root)
application.MainLoop()
global app
app = App(0)
app.fillingFrame.filling.tree.Expand(app.root)
app.MainLoop()
if __name__ == '__main__':
main()
+50 -19
View File
@@ -1,40 +1,71 @@
#!/usr/bin/env python
"""PyShellApp is a python shell application."""
# The next two lines, and the other code below that makes use of
# ``__main__`` and ``original``, serve the purpose of cleaning up the
# main namespace to look as much as possible like the regular Python
# shell environment.
import __main__
original = __main__.__dict__.keys()
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
__cvsid__ = "$Id$"
__revision__ = "$Revision$"[11:-2]
from wxPython.wx import *
from shell import ShellFrame
from wxPython import wx
try:
True
except NameError:
True = 1==1
False = 1==0
class App(wxApp):
class App(wx.wxApp):
"""PyShell standalone application."""
def OnInit(self):
wxInitAllImageHandlers()
locals = {'__app__': 'PyShell Standalone Application'}
self.shellFrame = ShellFrame(locals=locals)
self.shellFrame.SetSize((750, 525))
self.shellFrame.Show(true)
self.shellFrame.shell.SetFocus()
self.SetTopWindow(self.shellFrame)
from wxPython import wx
wx.wxInitAllImageHandlers()
locals = __main__.__dict__
from shell import ShellFrame
self.frame = ShellFrame(locals=locals)
self.frame.SetSize((750, 525))
self.frame.Show()
self.SetTopWindow(self.frame)
self.frame.shell.SetFocus()
# Add the application object to the sys module's namespace.
# This allows a shell user to do:
# >>> import sys
# >>> sys.application.whatever
# >>> sys.app.whatever
import sys
sys.application = self
return true
sys.app = self
return 1
'''
The main() function needs to handle being imported, such as with the
pycrust script that wxPython installs:
#!/usr/bin/env python
from wxPython.lib.PyCrust.PyCrustApp import main
main()
'''
def main():
application = App(1)
application.MainLoop()
import __main__
md = __main__.__dict__
keepers = original
keepers.append('App')
for key in md.keys():
if key not in keepers:
del md[key]
app = App(0)
if md.has_key('App') and md['App'] is App:
del md['App']
if md.has_key('__main__') and md['__main__'] is __main__:
del md['__main__']
app.MainLoop()
if __name__ == '__main__':
main()
+27 -16
View File
@@ -1,68 +1,79 @@
PyCrust - The Flakiest Python Shell
=====================================
PyCrust - The Flakiest Python Shell
=====================================
Half-baked by Patrick K. O'Brien (pobrien@orbtech.com)
==============================================================
* Orbtech - "Your source for Python programming expertise." *
* Sample all our half-baked Python goods at www.orbtech.com. *
==============================================================
Orbtech - "Your source for Python programming expertise."
Sample all our half-baked Python goods at www.orbtech.com.
What is PyCrust?
----------------
PyCrust is an interactive Python environment written in Python.
PyCrust components can run standalone or be integrated into other
development environments and/or other Python applications.
PyCrust comes with an interactive Python shell (PyShell), an
interactive namespace/object tree control (PyFilling) and an
PyCrust comes with an interactive Python shell (PyShell), an
interactive namespace/object tree control (PyFilling) and an
integrated, split-window combination of the two (PyCrust).
What is PyCrust good for?
-------------------------
Have you ever tried to bake a pie without one? Well, you
shouldn't build a Python program without a PyCrust either.
Have you ever tried to bake a pie without one? Well, you shouldn't
build a Python program without a PyCrust either.
What else do I need to use PyCrust?
-----------------------------------
PyCrust requires Python 2.1 or later, and wxPython 2.3.1 or later.
PyCrust requires Python 2.1.3 or later, and wxPython 2.4 or later.
PyCrust uses wxPython and the Scintilla wrapper (wxStyledTextCtrl).
Python is available at http://www.python.org/.
wxPython is available at http://www.wxpython.org/.
Python is available at http://www.python.org/. wxPython is available
at http://www.wxpython.org/.
Where can I get the latest version of PyCrust?
----------------------------------------------
The latest production version ships with wxPython.
The latest developer version is available in CVS at:
The latest production version ships with wxPython. The latest
developer version is available in CVS at:
http://sourceforge.net/cvs/?group_id=31263
Where is the PyCrust project hosted?
------------------------------------
At SourceForge, of course. The SourceForge summary page:
http://sourceforge.net/projects/pycrust/
I found a bug in PyCrust, what do I do with it?
-----------------------------------------------
You can send it to me at pobrien@orbtech.com.
I want a new feature added to PyCrust. Will you do it?
------------------------------------------------------
Flattery and money will get you anything. Short of that, you
can send me a request and I'll see what I can do.
Flattery and money will get you anything. Short of that, you can send
me a request and I'll see what I can do.
Does PyCrust have a mailing list full of wonderful people?
----------------------------------------------------------
As a matter of fact, we do. Join the PyCrust mailing lists at:
http://sourceforge.net/mail/?group_id=31263
What is the CVS information for this README file?
-------------------------------------------------
$Date$
$Revision$
$Id$
+121 -36
View File
@@ -4,78 +4,163 @@ __author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
__cvsid__ = "$Id$"
__revision__ = "$Revision$"[11:-2]
from wxPython.wx import *
from shell import Shell
from wxPython import wx
from filling import Filling
from version import VERSION
import os
from shell import Shell
from shellmenu import ShellMenu
from version import VERSION
try:
True
except NameError:
True = 1==1
False = 1==0
class Crust(wxSplitterWindow):
class Crust(wx.wxSplitterWindow):
"""PyCrust Crust based on wxSplitterWindow."""
name = 'PyCrust Crust'
revision = __revision__
def __init__(self, parent, id=-1, pos=wxDefaultPosition, \
size=wxDefaultSize, style=wxSP_3D, name='Crust Window', \
rootObject=None, rootLabel=None, rootIsNamespace=1, \
intro='', locals=None, \
def __init__(self, parent, id=-1, pos=wx.wxDefaultPosition,
size=wx.wxDefaultSize, style=wx.wxSP_3D,
name='Crust Window', rootObject=None, rootLabel=None,
rootIsNamespace=True, intro='', locals=None,
InterpClass=None, *args, **kwds):
"""Create a PyCrust Crust instance."""
wxSplitterWindow.__init__(self, parent, id, pos, size, style, name)
self.shell = Shell(parent=self, introText=intro, \
locals=locals, InterpClass=InterpClass, \
wx.wxSplitterWindow.__init__(self, parent, id, pos, size, style, name)
self.shell = Shell(parent=self, introText=intro,
locals=locals, InterpClass=InterpClass,
*args, **kwds)
self.filling = Filling(parent=self, \
rootObject=self.shell.interp.locals, \
rootLabel=rootLabel, rootIsNamespace=1)
"""Add 'filling' to the interpreter's locals."""
if rootObject is None:
rootObject = self.shell.interp.locals
self.notebook = wx.wxNotebook(parent=self, id=-1)
self.shell.interp.locals['notebook'] = self.notebook
self.filling = Filling(parent=self.notebook,
rootObject=rootObject,
rootLabel=rootLabel,
rootIsNamespace=rootIsNamespace)
# Add 'filling' to the interpreter's locals.
self.shell.interp.locals['filling'] = self.filling
self.SplitHorizontally(self.shell, self.filling, 300)
self.notebook.AddPage(page=self.filling, text='Namespace', select=True)
self.calltip = Calltip(parent=self.notebook)
self.notebook.AddPage(page=self.calltip, text='Calltip')
self.sessionlisting = SessionListing(parent=self.notebook)
self.notebook.AddPage(page=self.sessionlisting, text='Session')
self.dispatcherlisting = DispatcherListing(parent=self.notebook)
self.notebook.AddPage(page=self.dispatcherlisting, text='Dispatcher')
from wxd import wx_
self.wxdocs = Filling(parent=self.notebook,
rootObject=wx_,
rootLabel='wx',
rootIsNamespace=False,
static=True)
self.notebook.AddPage(page=self.wxdocs, text='wxPython Docs')
from wxd import stc_
self.stcdocs = Filling(parent=self.notebook,
rootObject=stc_.StyledTextCtrl,
rootLabel='StyledTextCtrl',
rootIsNamespace=False,
static=True)
self.notebook.AddPage(page=self.stcdocs, text='StyledTextCtrl Docs')
self.SplitHorizontally(self.shell, self.notebook, 300)
self.SetMinimumPaneSize(1)
# Temporary hack to share menus between PyCrust and PyShell.
from shell import ShellMenu
class Calltip(wx.wxTextCtrl):
"""Text control containing the most recent shell calltip."""
class CrustFrame(wxFrame, ShellMenu):
def __init__(self, parent=None, id=-1):
import dispatcher
style = wx.wxTE_MULTILINE | wx.wxTE_READONLY | wx.wxTE_RICH2
wx.wxTextCtrl.__init__(self, parent=parent, id=id, style=style)
self.SetBackgroundColour(wx.wxColour(255, 255, 232))
dispatcher.connect(receiver=self.display, signal='Shell.calltip')
def display(self, calltip):
"""Receiver for Shell.calltip signal."""
self.SetValue(calltip)
class SessionListing(wx.wxTextCtrl):
"""Text control containing all commands for session."""
def __init__(self, parent=None, id=-1):
import dispatcher
style = wx.wxTE_MULTILINE | wx.wxTE_READONLY | \
wx.wxTE_RICH2 | wx.wxTE_DONTWRAP
wx.wxTextCtrl.__init__(self, parent=parent, id=id, style=style)
dispatcher.connect(receiver=self.push, signal='Interpreter.push')
def push(self, command, more):
"""Receiver for Interpreter.push signal."""
if command and not more:
self.SetInsertionPointEnd()
start, end = self.GetSelection()
if start != end:
self.SetSelection(0, 0)
self.AppendText(command + '\n')
class DispatcherListing(wx.wxTextCtrl):
"""Text control containing all dispatches for session."""
def __init__(self, parent=None, id=-1):
import dispatcher
style = wx.wxTE_MULTILINE | wx.wxTE_READONLY | \
wx.wxTE_RICH2 | wx.wxTE_DONTWRAP
wx.wxTextCtrl.__init__(self, parent=parent, id=id, style=style)
dispatcher.connect(receiver=self.spy)
def spy(self, signal, sender):
"""Receiver for Any signal from Any sender."""
text = '%r from %s' % (signal, sender)
self.SetInsertionPointEnd()
start, end = self.GetSelection()
if start != end:
self.SetSelection(0, 0)
self.AppendText(text + '\n')
class CrustFrame(wx.wxFrame, ShellMenu):
"""Frame containing all the PyCrust components."""
name = 'PyCrust Frame'
revision = __revision__
def __init__(self, parent=None, id=-1, title='PyCrust', \
pos=wxDefaultPosition, size=wxDefaultSize, \
style=wxDEFAULT_FRAME_STYLE, \
rootObject=None, rootLabel=None, rootIsNamespace=1, \
def __init__(self, parent=None, id=-1, title='PyCrust',
pos=wx.wxDefaultPosition, size=wx.wxDefaultSize,
style=wx.wxDEFAULT_FRAME_STYLE,
rootObject=None, rootLabel=None, rootIsNamespace=True,
locals=None, InterpClass=None, *args, **kwds):
"""Create a PyCrust CrustFrame instance."""
wxFrame.__init__(self, parent, id, title, pos, size, style)
intro = 'Welcome To PyCrust %s - The Flakiest Python Shell' % VERSION
intro += '\nSponsored by Orbtech - Your source for Python programming expertise.'
wx.wxFrame.__init__(self, parent, id, title, pos, size, style)
intro = 'PyCrust %s - The Flakiest Python Shell' % VERSION
intro += '\nSponsored by Orbtech - '
intro += 'Your source for Python programming expertise.'
self.CreateStatusBar()
self.SetStatusText(intro.replace('\n', ', '))
import images
self.SetIcon(images.getPyCrustIcon())
self.crust = Crust(parent=self, intro=intro, \
rootObject=rootObject, \
rootLabel=rootLabel, \
rootIsNamespace=rootIsNamespace, \
locals=locals, \
self.crust = Crust(parent=self, intro=intro,
rootObject=rootObject,
rootLabel=rootLabel,
rootIsNamespace=rootIsNamespace,
locals=locals,
InterpClass=InterpClass, *args, **kwds)
# Override the filling so that status messages go to the status bar.
self.crust.filling.fillingTree.setStatusText = self.SetStatusText
self.crust.filling.tree.setStatusText = self.SetStatusText
# Override the shell so that status messages go to the status bar.
self.crust.shell.setStatusText = self.SetStatusText
# Fix a problem with the sash shrinking to nothing.
self.crust.filling.SetSashPosition(200)
# Set focus to the shell editor.
self.crust.shell.SetFocus()
# Temporary hack to share menus between PyCrust and PyShell.
self.shell = self.crust.shell
self.createMenus()
EVT_CLOSE(self, self.OnCloseWindow)
wx.EVT_CLOSE(self, self.OnCloseWindow)
# Set focus to the shell editor.
self.crust.shell.SetFocus()
def OnCloseWindow(self, event):
self.crust.shell.destroy()
+266
View File
@@ -0,0 +1,266 @@
"""Provides global signal dispatching services."""
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
__cvsid__ = "$Id$"
__revision__ = "$Revision$"[11:-2]
import exceptions
import types
import weakref
try:
True
except NameError:
True = 1==1
False = 1==0
class DispatcherError(exceptions.Exception):
def __init__(self, args=None):
self.args = args
class Parameter:
"""Used to represent default parameter values."""
def __repr__(self):
return self.__class__.__name__
class Any(Parameter): pass
Any = Any()
class Anonymous(Parameter): pass
Anonymous = Anonymous()
connections = {}
senders = {}
_boundMethods = weakref.WeakKeyDictionary()
def connect(receiver, signal=Any, sender=Any, weak=True):
"""Connect receiver to sender for signal.
If sender is Any, receiver will receive signal from any sender.
If signal is Any, receiver will receive any signal from sender.
If sender is None, receiver will receive signal from Anonymous.
If signal is Any and sender is None, receiver will receive any
signal from Anonymous.
If signal is Any and sender is Any, receiver will receive any
signal from any sender.
If weak is true, weak references will be used."""
if signal is None:
raise DispatcherError, 'signal cannot be None'
if weak:
receiver = safeRef(receiver)
senderkey = id(sender)
signals = {}
if connections.has_key(senderkey):
signals = connections[senderkey]
else:
connections[senderkey] = signals
# Keep track of senders for cleanup.
if sender not in (None, Any):
def remove(object, senderkey=senderkey):
_removeSender(senderkey=senderkey)
# Skip objects that can not be weakly referenced, which means
# they won't be automatically cleaned up, but that's too bad.
try:
weakSender = weakref.ref(sender, remove)
senders[senderkey] = weakSender
except:
pass
receivers = []
if signals.has_key(signal):
receivers = signals[signal]
else:
signals[signal] = receivers
try:
receivers.remove(receiver)
except ValueError:
pass
receivers.append(receiver)
def disconnect(receiver, signal=Any, sender=Any, weak=True):
"""Disconnect receiver from sender for signal.
Disconnecting is not required. The use of disconnect is the same as for
connect, only in reverse. Think of it as undoing a previous connection."""
if signal is None:
raise DispatcherError, 'signal cannot be None'
if weak:
receiver = safeRef(receiver)
senderkey = id(sender)
try:
receivers = connections[senderkey][signal]
except KeyError:
raise DispatcherError, \
'No receivers for signal %r from sender %s' % (signal, sender)
try:
receivers.remove(receiver)
except ValueError:
raise DispatcherError, \
'No connection to receiver %s for signal %r from sender %s' % \
(receiver, signal, sender)
_cleanupConnections(senderkey, signal)
def send(signal, sender=Anonymous, **kwds):
"""Send signal from sender to all connected receivers.
Return a list of tuple pairs [(receiver, response), ... ].
If sender is not specified, signal is sent anonymously."""
senderkey = id(sender)
anykey = id(Any)
# Get receivers that receive *this* signal from *this* sender.
receivers = []
try:
receivers.extend(connections[senderkey][signal])
except KeyError:
pass
# Add receivers that receive *any* signal from *this* sender.
anyreceivers = []
try:
anyreceivers = connections[senderkey][Any]
except KeyError:
pass
for receiver in anyreceivers:
if receivers.count(receiver) == 0:
receivers.append(receiver)
# Add receivers that receive *this* signal from *any* sender.
anyreceivers = []
try:
anyreceivers = connections[anykey][signal]
except KeyError:
pass
for receiver in anyreceivers:
if receivers.count(receiver) == 0:
receivers.append(receiver)
# Add receivers that receive *any* signal from *any* sender.
anyreceivers = []
try:
anyreceivers = connections[anykey][Any]
except KeyError:
pass
for receiver in anyreceivers:
if receivers.count(receiver) == 0:
receivers.append(receiver)
# Call each receiver with whatever arguments it can accept.
# Return a list of tuple pairs [(receiver, response), ... ].
responses = []
for receiver in receivers:
if type(receiver) is weakref.ReferenceType \
or isinstance(receiver, BoundMethodWeakref):
# Dereference the weak reference.
receiver = receiver()
if receiver is None:
# This receiver is dead, so skip it.
continue
response = _call(receiver, signal=signal, sender=sender, **kwds)
responses += [(receiver, response)]
return responses
def _call(receiver, **kwds):
"""Call receiver with only arguments it can accept."""
## if type(receiver) is types.InstanceType:
if hasattr(receiver, '__call__') and \
(hasattr(receiver.__call__, 'im_func') or hasattr(receiver.__call__, 'im_code')):
# receiver is a class instance; assume it is callable.
# Reassign receiver to the actual method that will be called.
receiver = receiver.__call__
if hasattr(receiver, 'im_func'):
# receiver is a method. Drop the first argument, usually 'self'.
fc = receiver.im_func.func_code
acceptable = fc.co_varnames[1:fc.co_argcount]
elif hasattr(receiver, 'func_code'):
# receiver is a function.
fc = receiver.func_code
acceptable = fc.co_varnames[0:fc.co_argcount]
else:
raise DispatcherError, 'Unknown receiver %s of type %s' % (receiver, type(receiver))
if not (fc.co_flags & 8):
# fc does not have a **kwds type parameter, therefore
# remove unacceptable arguments.
for arg in kwds.keys():
if arg not in acceptable:
del kwds[arg]
return receiver(**kwds)
def safeRef(object):
"""Return a *safe* weak reference to a callable object."""
if hasattr(object, 'im_self'):
if object.im_self is not None:
# Turn a bound method into a BoundMethodWeakref instance.
# Keep track of these instances for lookup by disconnect().
selfkey = object.im_self
funckey = object.im_func
if not _boundMethods.has_key(selfkey):
_boundMethods[selfkey] = weakref.WeakKeyDictionary()
if not _boundMethods[selfkey].has_key(funckey):
_boundMethods[selfkey][funckey] = \
BoundMethodWeakref(boundMethod=object)
return _boundMethods[selfkey][funckey]
return weakref.ref(object, _removeReceiver)
class BoundMethodWeakref:
"""BoundMethodWeakref class."""
def __init__(self, boundMethod):
"""Return a weak-reference-like instance for a bound method."""
self.isDead = 0
def remove(object, self=self):
"""Set self.isDead to true when method or instance is destroyed."""
self.isDead = 1
_removeReceiver(receiver=self)
self.weakSelf = weakref.ref(boundMethod.im_self, remove)
self.weakFunc = weakref.ref(boundMethod.im_func, remove)
def __repr__(self):
"""Return the closest representation."""
return '<bound method weakref for %s.%s>' % (self.weakSelf, self.weakFunc)
def __call__(self):
"""Return a strong reference to the bound method."""
if self.isDead:
return None
else:
object = self.weakSelf()
method = self.weakFunc().__name__
try: # wxPython hack to handle wxDead objects.
return getattr(object, method)
except AttributeError:
## _removeReceiver(receiver=self)
return None
def _removeReceiver(receiver):
"""Remove receiver from connections."""
for senderkey in connections.keys():
for signal in connections[senderkey].keys():
receivers = connections[senderkey][signal]
try:
receivers.remove(receiver)
except:
pass
_cleanupConnections(senderkey, signal)
def _cleanupConnections(senderkey, signal):
"""Delete any empty signals for senderkey. Delete senderkey if empty."""
receivers = connections[senderkey][signal]
if not receivers:
# No more connected receivers. Therefore, remove the signal.
signals = connections[senderkey]
del signals[signal]
if not signals:
# No more signal connections. Therefore, remove the sender.
_removeSender(senderkey)
def _removeSender(senderkey):
"""Remove senderkey from connections."""
del connections[senderkey]
# Senderkey will only be in senders dictionary if sender
# could be weakly referenced.
try:
del senders[senderkey]
except:
pass
File diff suppressed because it is too large Load Diff
+34 -18
View File
@@ -7,15 +7,22 @@ __revision__ = "$Revision$"[11:-2]
import os
import sys
from code import InteractiveInterpreter
import dispatcher
import introspect
try:
True
except NameError:
True = 1==1
False = 1==0
class Interpreter(InteractiveInterpreter):
"""PyCrust Interpreter based on code.InteractiveInterpreter."""
revision = __revision__
def __init__(self, locals=None, rawin=None, \
def __init__(self, locals=None, rawin=None,
stdin=sys.stdin, stdout=sys.stdout, stderr=sys.stderr):
"""Create an interactive interpreter object."""
InteractiveInterpreter.__init__(self, locals=locals)
@@ -26,8 +33,8 @@ class Interpreter(InteractiveInterpreter):
import __builtin__
__builtin__.raw_input = rawin
del __builtin__
copyright = \
'Type "copyright", "credits" or "license" for more information.'
copyright = 'Type "help", "copyright", "credits" or "license"'
copyright += ' for more information.'
self.introText = 'Python %s on %s%s%s' % \
(sys.version, sys.platform, os.linesep, copyright)
try:
@@ -47,29 +54,32 @@ class Interpreter(InteractiveInterpreter):
"""Send command to the interpreter to be executed.
Because this may be called recursively, we append a new list
onto the commandBuffer list and then append commands into that.
If the passed in command is part of a multi-line command we keep
appending the pieces to the last list in commandBuffer until we
have a complete command. If not, we delete that last list."""
onto the commandBuffer list and then append commands into
that. If the passed in command is part of a multi-line
command we keep appending the pieces to the last list in
commandBuffer until we have a complete command. If not, we
delete that last list."""
command = str(command) # In case the command is unicode.
if not self.more:
try: del self.commandBuffer[-1]
except IndexError: pass
if not self.more: self.commandBuffer.append([])
self.commandBuffer[-1].append(command)
source = '\n'.join(self.commandBuffer[-1])
self.more = self.runsource(source)
return self.more
more = self.more = self.runsource(source)
dispatcher.send(signal='Interpreter.push', sender=self,
command=command, more=more, source=source)
return more
def runsource(self, source):
"""Compile and run source code in the interpreter."""
stdin, stdout, stderr = sys.stdin, sys.stdout, sys.stderr
sys.stdin = self.stdin
sys.stdout = self.stdout
sys.stderr = self.stderr
sys.stdin, sys.stdout, sys.stderr = \
self.stdin, self.stdout, self.stderr
more = InteractiveInterpreter.runsource(self, source)
# If sys.std* is still what we set it to, then restore it.
# But, if the executed source changed sys.std*, assume it
# was meant to be changed and leave it. Power to the people.
# But, if the executed source changed sys.std*, assume it was
# meant to be changed and leave it. Power to the people.
if sys.stdin == self.stdin:
sys.stdin = stdin
if sys.stdout == self.stdout:
@@ -86,22 +96,28 @@ class Interpreter(InteractiveInterpreter):
"""Return list of auto-completion options for a command.
The list of options will be based on the locals namespace."""
return introspect.getAutoCompleteList(command, self.locals, *args, **kwds)
stdin, stdout, stderr = sys.stdin, sys.stdout, sys.stderr
sys.stdin, sys.stdout, sys.stderr = \
self.stdin, self.stdout, self.stderr
l = introspect.getAutoCompleteList(command, self.locals,
*args, **kwds)
sys.stdin, sys.stdout, sys.stderr = stdin, stdout, stderr
return l
def getCallTip(self, command='', *args, **kwds):
"""Return call tip text for a command.
The call tip information will be based on the locals namespace."""
Call tip information will be based on the locals namespace."""
return introspect.getCallTip(command, self.locals, *args, **kwds)
class InterpreterAlaCarte(Interpreter):
"""PyCrustAlaCarte Demo Interpreter."""
def __init__(self, locals, rawin, stdin, stdout, stderr, \
def __init__(self, locals, rawin, stdin, stdout, stderr,
ps1='main prompt', ps2='continuation prompt'):
"""Create an interactive interpreter object."""
Interpreter.__init__(self, locals=locals, rawin=rawin, \
Interpreter.__init__(self, locals=locals, rawin=rawin,
stdin=stdin, stdout=stdout, stderr=stderr)
sys.ps1 = ps1
sys.ps2 = ps2
+138 -61
View File
@@ -1,15 +1,24 @@
"""Provides a variety of introspective-type support functions for things
like call tips and command auto completion."""
"""Provides a variety of introspective-type support functions for
things like call tips and command auto completion."""
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
__cvsid__ = "$Id$"
__revision__ = "$Revision$"[11:-2]
from __future__ import nested_scopes
import cStringIO
import inspect
import string
import tokenize
import types
def getAutoCompleteList(command='', locals=None, includeMagic=1, \
try:
True
except NameError:
True = 1==1
False = 1==0
def getAutoCompleteList(command='', locals=None, includeMagic=1,
includeSingle=1, includeDouble=1):
"""Return list of auto-completion options for command.
@@ -25,19 +34,20 @@ def getAutoCompleteList(command='', locals=None, includeMagic=1, \
except:
pass
else:
attributes = getAttributeNames(object, includeMagic, \
attributes = getAttributeNames(object, includeMagic,
includeSingle, includeDouble)
return attributes
def getAttributeNames(object, includeMagic=1, includeSingle=1, includeDouble=1):
"""Return list of unique attributes, including inherited, for an object."""
def getAttributeNames(object, includeMagic=1, includeSingle=1,
includeDouble=1):
"""Return list of unique attributes, including inherited, for object."""
attributes = []
dict = {}
if not hasattrAlwaysReturnsTrue(object):
# Add some attributes that don't always get picked up.
# If they don't apply, they'll get filtered out at the end.
attributes += ['__bases__', '__class__', '__dict__', '__name__', \
'func_closure', 'func_code', 'func_defaults', \
# Add some attributes that don't always get picked up. If
# they don't apply, they'll get filtered out at the end.
attributes += ['__bases__', '__class__', '__dict__', '__name__',
'func_closure', 'func_code', 'func_defaults',
'func_dict', 'func_doc', 'func_globals', 'func_name']
if includeMagic:
try: attributes += object._getAttributeNames()
@@ -65,19 +75,20 @@ def hasattrAlwaysReturnsTrue(object):
return hasattr(object, 'bogu5_123_aTTri8ute')
def getAllAttributeNames(object):
"""Return mapping of all attributes, including inherited, for an object.
"""Return dict of all attributes, including inherited, for an object.
Recursively walk through a class and all base classes.
"""
attrdict = {} # (object, technique, count): [list of attributes]
# !!!
# !!! Do Not use hasattr() as a test anywhere in this function,
# !!! because it is unreliable with remote objects - xmlrpc, soap, etc.
# !!! They always return true for hasattr().
# Do Not use hasattr() as a test anywhere in this function,
# because it is unreliable with remote objects: xmlrpc, soap, etc.
# They always return true for hasattr().
# !!!
try:
# Yes, this can fail if object is an instance of a class with
# __str__ (or __repr__) having a bug or raising an exception. :-(
# Yes, this can fail if object is an instance of a class with
# __str__ (or __repr__) having a bug or raising an
# exception. :-(
key = str(object)
except:
key = 'anonymous'
@@ -102,7 +113,8 @@ def getAllAttributeNames(object):
pass
else:
if klass is object:
# Break a circular reference. This happens with extension classes.
# Break a circular reference. This happens with extension
# classes.
pass
else:
attrdict.update(getAllAttributeNames(klass))
@@ -152,7 +164,7 @@ def getCallTip(command='', locals=None):
if dropSelf:
# The first parameter to a method is a reference to an
# instance, usually coded as "self", and is usually passed
# automatically by Python and therefore we want to drop it.
# automatically by Python; therefore we want to drop it.
temp = argspec.split(',')
if len(temp) == 1: # No other arguments.
argspec = '()'
@@ -167,10 +179,15 @@ def getCallTip(command='', locals=None):
# "Return call tip text for a command."
# tip3 is the rest of the docstring, like:
# "The call tip information will be based on ... <snip>
firstline = doc.split('\n')[0].lstrip()
if tip1 == firstline:
tip1 = ''
else:
tip1 += '\n\n'
docpieces = doc.split('\n\n')
tip2 = docpieces[0]
tip3 = '\n\n'.join(docpieces[1:])
tip = '%s\n\n%s\n\n%s' % (tip1, tip2, tip3)
tip = '%s%s\n\n%s' % (tip1, tip2, tip3)
else:
tip = tip1
calltip = (name, argspec[1:-1], tip.strip())
@@ -179,47 +196,108 @@ def getCallTip(command='', locals=None):
def getRoot(command, terminator=None):
"""Return the rightmost root portion of an arbitrary Python command.
Return only the root portion that can be eval()'d without side effects.
The command would normally terminate with a "(" or ".". The terminator
and anything after the terminator will be dropped."""
root = ''
validChars = "._" + string.uppercase + string.lowercase + string.digits
emptyTypes = ("''", '""', '""""""', "''''''", '[]', '()', '{}')
validSeparators = string.whitespace + ',+-*/=%<>&|^~:([{'
# Drop the final terminator and anything that follows.
Return only the root portion that can be eval()'d without side
effects. The command would normally terminate with a '(' or
'.'. The terminator and anything after the terminator will be
dropped."""
command = rtrimTerminus(command, terminator)
if len(command) == 0:
root = ''
elif command in emptyTypes and terminator in ('.', '', None):
# Let empty type delimiter pairs go through.
root = command
tokens = getTokens(command)
if not tokens:
return ''
if tokens[-1][0] is tokenize.ENDMARKER:
# Remove the end marker.
del tokens[-1]
if terminator == '.' and \
(tokens[-1][1] <> '.' or tokens[-1][0] is not tokenize.OP):
# Trap decimals in numbers, versus the dot operator.
return ''
else:
# Go backward through the command until we hit an "invalid" character.
i = len(command)
while i and command[i-1] in validChars:
i -= 1
# Default to everything from the "invalid" character to the end.
root = command[i:]
# Override certain exceptions.
if i > 0 and command[i-1] in ("'", '"'):
# Detect situations where we are in the middle of a string.
# This code catches the simplest case, but needs to catch others.
root = ''
elif ((2 <= i < len(command) and command[i] == '.') \
or (2 <= i <= len(command) and terminator in ('.', '', None))) \
and command[i-2:i] in emptyTypes:
# Allow empty types to get through.
# Don't confuse an empty tupple with an argumentless callable.
if i == 2 or (i >= 3 and command[i-3] in validSeparators):
root = command[i-2:]
return root
# Strip off the terminator.
command = command[:-1]
command = command.rstrip()
tokens = getTokens(command)
tokens.reverse()
line = ''
start = None
prefix = ''
laststring = '.'
emptyTypes = ('[]', '()', '{}')
for token in tokens:
tokentype = token[0]
tokenstring = token[1]
line = token[4]
if tokentype is tokenize.ENDMARKER:
continue
if tokentype in (tokenize.NAME, tokenize.STRING, tokenize.NUMBER) \
and laststring != '.':
# We've reached something that's not part of the root.
if prefix and line[token[3][1]] != ' ':
# If it doesn't have a space after it, remove the prefix.
prefix = ''
break
if tokentype in (tokenize.NAME, tokenize.STRING, tokenize.NUMBER) \
or (tokentype is tokenize.OP and tokenstring == '.'):
if prefix:
# The prefix isn't valid because it comes after a dot.
prefix = ''
break
else:
# start represents the last known good point in the line.
start = token[2][1]
elif len(tokenstring) == 1 and tokenstring in ('[({])}'):
# Remember, we're working backwords.
# So prefix += tokenstring would be wrong.
if prefix in emptyTypes and tokenstring in ('[({'):
# We've already got an empty type identified so now we
# are in a nested situation and we can break out with
# what we've got.
break
else:
prefix = tokenstring + prefix
else:
# We've reached something that's not part of the root.
break
laststring = tokenstring
if start is None:
start = len(line)
root = line[start:]
if prefix in emptyTypes:
# Empty types are safe to be eval()'d and introspected.
root = prefix + root
return root
def getTokens(command):
"""Return list of token tuples for command."""
command = str(command) # In case the command is unicode, which fails.
f = cStringIO.StringIO(command)
# tokens is a list of token tuples, each looking like:
# (type, string, (srow, scol), (erow, ecol), line)
tokens = []
# Can't use list comprehension:
# tokens = [token for token in tokenize.generate_tokens(f.readline)]
# because of need to append as much as possible before TokenError.
try:
## This code wasn't backward compatible with Python 2.1.3.
##
## for token in tokenize.generate_tokens(f.readline):
## tokens.append(token)
# This works with Python 2.1.3 (with nested_scopes).
def eater(*args):
tokens.append(args)
tokenize.tokenize_loop(f.readline, eater)
except tokenize.TokenError:
# This is due to a premature EOF, which we expect since we are
# feeding in fragments of Python code.
pass
return tokens
def rtrimTerminus(command, terminator=None):
"""Return command minus the final terminator and anything that follows."""
"""Return command minus anything that fillows the final terminator."""
if terminator:
pieces = command.split(terminator)
if len(pieces) > 1:
command = terminator.join(pieces[:-1])
command = terminator.join(pieces[:-1]) + terminator
return command
def getBaseObject(object):
@@ -228,12 +306,14 @@ def getBaseObject(object):
# Builtin functions don't have an argspec that we can get.
dropSelf = 0
elif inspect.ismethod(object):
# Get the function from the object otherwise inspect.getargspec()
# complains that the object isn't a Python function.
# Get the function from the object otherwise
# inspect.getargspec() complains that the object isn't a
# Python function.
try:
if object.im_self is None:
# This is an unbound method so we do not drop self from the
# argspec, since an instance must be passed as the first arg.
# This is an unbound method so we do not drop self
# from the argspec, since an instance must be passed
# as the first arg.
dropSelf = 0
else:
dropSelf = 1
@@ -269,6 +349,3 @@ def getConstructor(object):
if constructor is not None:
return constructor
return None
+35 -29
View File
@@ -4,88 +4,97 @@ __author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
__cvsid__ = "$Id$"
__revision__ = "$Revision$"[11:-2]
try:
True
except NameError:
True = 1==1
False = 1==0
class PseudoKeyword:
"""A callable class that calls a method passed as a parameter.
Good for creating a pseudo keyword in the python runtime
environment. The keyword is really an object that has a repr()
that calls itself which calls the method that was passed in the
init of the object. All this just to avoid having to type in the
closing parens on a method. So, for example:
>>> quit = PseudoKeyword(SomeObject.someMethod)
>>> quit
SomeObject.someMethod gets executed as if it had been called
directly and the user didn't have to type the parens, like
"quit()". This technique is most applicable for pseudo keywords
'quit()'. This technique is most applicable for pseudo keywords
like quit, exit and help.
If SomeObject.someMethod can take parameters, they can still be
passed by using the keyword in the traditional way with parens.
"""
If SomeObject.someMethod can take parameters, they can still be
passed by using the keyword in the traditional way with parens."""
def __init__(self, method):
"""Create a callable object that executes method when called."""
if callable(method):
self.method = method
else:
raise ValueError, 'method must be callable'
def __call__(self, *args, **kwds):
self.method(*args, **kwds)
def __repr__(self):
self()
return ''
class PseudoFile:
def __init__(self):
"""Create a file-like object."""
pass
def readline(self):
pass
def write(self, s):
pass
def writelines(self, l):
map(self.write, l)
def flush(self):
pass
def isatty(self):
pass
class PseudoFileIn(PseudoFile):
def __init__(self, readline):
def __init__(self, readline, readlines=None):
if callable(readline):
self.readline = readline
else:
raise ValueError, 'readline must be callable'
if callable(readlines):
self.readlines = readlines
def isatty(self):
return 1
class PseudoFileOut(PseudoFile):
def __init__(self, write):
if callable(write):
self.write = write
else:
raise ValueError, 'write must be callable'
def isatty(self):
return 1
class PseudoFileErr(PseudoFile):
def __init__(self, write):
@@ -93,9 +102,6 @@ class PseudoFileErr(PseudoFile):
self.write = write
else:
raise ValueError, 'write must be callable'
def isatty(self):
return 1
File diff suppressed because it is too large Load Diff
+226
View File
@@ -0,0 +1,226 @@
"""Shell menu mixin shared by shell and crust."""
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
__cvsid__ = "$Id$"
__revision__ = "$Revision$"[11:-2]
from wxPython import wx
import sys
from version import VERSION
try:
True
except NameError:
True = 1==1
False = 1==0
ID_AUTOCOMP = wx.wxNewId()
ID_AUTOCOMP_SHOW = wx.wxNewId()
ID_AUTOCOMP_INCLUDE_MAGIC = wx.wxNewId()
ID_AUTOCOMP_INCLUDE_SINGLE = wx.wxNewId()
ID_AUTOCOMP_INCLUDE_DOUBLE = wx.wxNewId()
ID_CALLTIPS = wx.wxNewId()
ID_CALLTIPS_SHOW = wx.wxNewId()
ID_COPY_PLUS = wx.wxNewId()
ID_PASTE_PLUS = wx.wxNewId()
ID_WRAP = wx.wxNewId()
class ShellMenu:
"""Mixin class to add standard menu items."""
def createMenus(self):
m = self.fileMenu = wx.wxMenu()
m.AppendSeparator()
m.Append(wx.wxID_EXIT, 'E&xit', 'Exit PyCrust')
m = self.editMenu = wx.wxMenu()
m.Append(wx.wxID_UNDO, '&Undo \tCtrl+Z',
'Undo the last action')
m.Append(wx.wxID_REDO, '&Redo \tCtrl+Y',
'Redo the last undone action')
m.AppendSeparator()
m.Append(wx.wxID_CUT, 'Cu&t \tCtrl+X',
'Cut the selection')
m.Append(wx.wxID_COPY, '&Copy \tCtrl+C',
'Copy the selection - removing prompts')
m.Append(ID_COPY_PLUS, 'Cop&y Plus \tCtrl+Shift+C',
'Copy the selection - retaining prompts')
m.Append(wx.wxID_PASTE, '&Paste \tCtrl+V', 'Paste')
m.Append(ID_PASTE_PLUS, 'Past&e Plus \tCtrl+Shift+V',
'Paste and run commands')
m.AppendSeparator()
m.Append(wx.wxID_CLEAR, 'Cle&ar',
'Delete the selection')
m.Append(wx.wxID_SELECTALL, 'Select A&ll \tCtrl+A',
'Select all text')
m = self.autocompMenu = wx.wxMenu()
m.Append(ID_AUTOCOMP_SHOW, 'Show Auto Completion',
'Show auto completion during dot syntax', 1)
m.Append(ID_AUTOCOMP_INCLUDE_MAGIC, 'Include Magic Attributes',
'Include attributes visible to __getattr__ and __setattr__',
1)
m.Append(ID_AUTOCOMP_INCLUDE_SINGLE, 'Include Single Underscores',
'Include attibutes prefixed by a single underscore', 1)
m.Append(ID_AUTOCOMP_INCLUDE_DOUBLE, 'Include Double Underscores',
'Include attibutes prefixed by a double underscore', 1)
m = self.calltipsMenu = wx.wxMenu()
m.Append(ID_CALLTIPS_SHOW, 'Show Call Tips',
'Show call tips with argument specifications', 1)
m = self.optionsMenu = wx.wxMenu()
m.AppendMenu(ID_AUTOCOMP, '&Auto Completion', self.autocompMenu,
'Auto Completion Options')
m.AppendMenu(ID_CALLTIPS, '&Call Tips', self.calltipsMenu,
'Call Tip Options')
m.Append(ID_WRAP, '&Wrap Lines',
'Wrap lines at right edge', 1)
m = self.helpMenu = wx.wxMenu()
m.AppendSeparator()
m.Append(wx.wxID_ABOUT, '&About...', 'About PyCrust')
b = self.menuBar = wx.wxMenuBar()
b.Append(self.fileMenu, '&File')
b.Append(self.editMenu, '&Edit')
b.Append(self.optionsMenu, '&Options')
b.Append(self.helpMenu, '&Help')
self.SetMenuBar(b)
wx.EVT_MENU(self, wx.wxID_EXIT, self.OnExit)
wx.EVT_MENU(self, wx.wxID_UNDO, self.OnUndo)
wx.EVT_MENU(self, wx.wxID_REDO, self.OnRedo)
wx.EVT_MENU(self, wx.wxID_CUT, self.OnCut)
wx.EVT_MENU(self, wx.wxID_COPY, self.OnCopy)
wx.EVT_MENU(self, ID_COPY_PLUS, self.OnCopyPlus)
wx.EVT_MENU(self, wx.wxID_PASTE, self.OnPaste)
wx.EVT_MENU(self, ID_PASTE_PLUS, self.OnPastePlus)
wx.EVT_MENU(self, wx.wxID_CLEAR, self.OnClear)
wx.EVT_MENU(self, wx.wxID_SELECTALL, self.OnSelectAll)
wx.EVT_MENU(self, wx.wxID_ABOUT, self.OnAbout)
wx.EVT_MENU(self, ID_AUTOCOMP_SHOW,
self.OnAutoCompleteShow)
wx.EVT_MENU(self, ID_AUTOCOMP_INCLUDE_MAGIC,
self.OnAutoCompleteIncludeMagic)
wx.EVT_MENU(self, ID_AUTOCOMP_INCLUDE_SINGLE,
self.OnAutoCompleteIncludeSingle)
wx.EVT_MENU(self, ID_AUTOCOMP_INCLUDE_DOUBLE,
self.OnAutoCompleteIncludeDouble)
wx.EVT_MENU(self, ID_CALLTIPS_SHOW,
self.OnCallTipsShow)
wx.EVT_MENU(self, ID_WRAP, self.OnWrap)
wx.EVT_UPDATE_UI(self, wx.wxID_UNDO, self.OnUpdateMenu)
wx.EVT_UPDATE_UI(self, wx.wxID_REDO, self.OnUpdateMenu)
wx.EVT_UPDATE_UI(self, wx.wxID_CUT, self.OnUpdateMenu)
wx.EVT_UPDATE_UI(self, wx.wxID_COPY, self.OnUpdateMenu)
wx.EVT_UPDATE_UI(self, ID_COPY_PLUS, self.OnUpdateMenu)
wx.EVT_UPDATE_UI(self, wx.wxID_PASTE, self.OnUpdateMenu)
wx.EVT_UPDATE_UI(self, ID_PASTE_PLUS, self.OnUpdateMenu)
wx.EVT_UPDATE_UI(self, wx.wxID_CLEAR, self.OnUpdateMenu)
wx.EVT_UPDATE_UI(self, ID_AUTOCOMP_SHOW, self.OnUpdateMenu)
wx.EVT_UPDATE_UI(self, ID_AUTOCOMP_INCLUDE_MAGIC, self.OnUpdateMenu)
wx.EVT_UPDATE_UI(self, ID_AUTOCOMP_INCLUDE_SINGLE, self.OnUpdateMenu)
wx.EVT_UPDATE_UI(self, ID_AUTOCOMP_INCLUDE_DOUBLE, self.OnUpdateMenu)
wx.EVT_UPDATE_UI(self, ID_CALLTIPS_SHOW, self.OnUpdateMenu)
wx.EVT_UPDATE_UI(self, ID_WRAP, self.OnUpdateMenu)
def OnExit(self, event):
self.Close(True)
def OnUndo(self, event):
self.shell.Undo()
def OnRedo(self, event):
self.shell.Redo()
def OnCut(self, event):
self.shell.Cut()
def OnCopy(self, event):
self.shell.Copy()
def OnCopyPlus(self, event):
self.shell.CopyWithPrompts()
def OnPaste(self, event):
self.shell.Paste()
def OnPastePlus(self, event):
self.shell.PasteAndRun()
def OnClear(self, event):
self.shell.Clear()
def OnSelectAll(self, event):
self.shell.SelectAll()
def OnAbout(self, event):
"""Display an About PyCrust window."""
title = 'About PyCrust'
text = 'PyCrust %s\n\n' % VERSION + \
'Yet another Python shell, only flakier.\n\n' + \
'Half-baked by Patrick K. O\'Brien,\n' + \
'the other half is still in the oven.\n\n' + \
'Shell Revision: %s\n' % self.shell.revision + \
'Interpreter Revision: %s\n\n' % self.shell.interp.revision + \
'Python Version: %s\n' % sys.version.split()[0] + \
'wxPython Version: %s\n' % wx.__version__ + \
'Platform: %s\n' % sys.platform
dialog = wx.wxMessageDialog(self, text, title,
wx.wxOK | wx.wxICON_INFORMATION)
dialog.ShowModal()
dialog.Destroy()
def OnAutoCompleteShow(self, event):
self.shell.autoComplete = event.IsChecked()
def OnAutoCompleteIncludeMagic(self, event):
self.shell.autoCompleteIncludeMagic = event.IsChecked()
def OnAutoCompleteIncludeSingle(self, event):
self.shell.autoCompleteIncludeSingle = event.IsChecked()
def OnAutoCompleteIncludeDouble(self, event):
self.shell.autoCompleteIncludeDouble = event.IsChecked()
def OnCallTipsShow(self, event):
self.shell.autoCallTip = event.IsChecked()
def OnWrap(self, event):
self.shell.SetWrapMode(event.IsChecked())
def OnUpdateMenu(self, event):
"""Update menu items based on current status."""
id = event.GetId()
if id == wx.wxID_UNDO:
event.Enable(self.shell.CanUndo())
elif id == wx.wxID_REDO:
event.Enable(self.shell.CanRedo())
elif id == wx.wxID_CUT:
event.Enable(self.shell.CanCut())
elif id == wx.wxID_COPY:
event.Enable(self.shell.CanCopy())
elif id == ID_COPY_PLUS:
event.Enable(self.shell.CanCopy())
elif id == wx.wxID_PASTE:
event.Enable(self.shell.CanPaste())
elif id == ID_PASTE_PLUS:
event.Enable(self.shell.CanPaste())
elif id == wx.wxID_CLEAR:
event.Enable(self.shell.CanCut())
elif id == ID_AUTOCOMP_SHOW:
event.Check(self.shell.autoComplete)
elif id == ID_AUTOCOMP_INCLUDE_MAGIC:
event.Check(self.shell.autoCompleteIncludeMagic)
elif id == ID_AUTOCOMP_INCLUDE_SINGLE:
event.Check(self.shell.autoCompleteIncludeSingle)
elif id == ID_AUTOCOMP_INCLUDE_DOUBLE:
event.Check(self.shell.autoCompleteIncludeDouble)
elif id == ID_CALLTIPS_SHOW:
event.Check(self.shell.autoCallTip)
elif id == ID_WRAP:
event.Check(self.shell.GetWrapMode())
+5 -4
View File
@@ -1,10 +1,11 @@
"""Provides an object representing the current "version" or "release" of
PyCrust as a whole. Individual classes, such as the shell, filling and
interpreter, each have a revision property based on the CVS Revision."""
"""Provides an object representing the current 'version' or 'release'
of PyCrust as a whole. Individual classes, such as the shell, filling
and interpreter, each have a revision property based on the CVS
Revision."""
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
__cvsid__ = "$Id$"
__revision__ = "$Revision$"[11:-2]
VERSION = '0.7.2'
VERSION = '0.9'
+56
View File
@@ -0,0 +1,56 @@
"""Wrap is a command line utility that runs a wxPython program with
additional runtime-tools, such as PyCrust."""
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
__cvsid__ = "$Id$"
__revision__ = "$Revision$"[11:-2]
import os
import sys
from wxPython import wx
from crust import CrustFrame as Frame
try:
True
except NameError:
True = 1==1
False = 1==0
def wrap(app):
wx.wxInitAllImageHandlers()
frame = Frame()
frame.SetSize((750, 525))
frame.Show(True)
frame.shell.interp.locals['app'] = app
app.MainLoop()
def main(argv):
if len(argv) < 2:
print "Please specify a module name."
raise SystemExit
name = argv[1]
if name[-3:] == '.py':
name = name[:-3]
module = __import__(name)
# Find the App class.
App = None
d = module.__dict__
for item in d.keys():
try:
if issubclass(d[item], wx.wxApp):
App = d[item]
except (NameError, TypeError):
pass
if App is None:
print "No App class found."
raise SystemExit
app = App()
wrap(app)
if __name__ == '__main__':
sys.path.insert(0, os.curdir)
main(sys.argv)
@@ -0,0 +1,58 @@
"""Decorator classes for documentation and shell scripting.
"""
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
__cvsid__ = "$Id$"
__revision__ = "$Revision$"[11:-2]
# These are not the real wxPython classes. These are Python versions
# for documentation purposes. They are also used to apply docstrings
# to the real wxPython classes, which are SWIG-generated wrappers for
# C-language classes.
from Base import Object
import Parameters as wx
class AcceleratorEntry:
""""""
def __init__(self):
""""""
pass
def __del__(self):
""""""
pass
def GetCommand(self):
""""""
pass
def GetFlags(self):
""""""
pass
def GetKeyCode(self):
""""""
pass
def Set(self):
""""""
pass
class AcceleratorTable(Object):
""""""
def __init__(self):
""""""
pass
def __del__(self):
""""""
pass
+358
View File
@@ -0,0 +1,358 @@
"""Decorator classes for documentation and shell scripting.
"""
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
__cvsid__ = "$Id$"
__revision__ = "$Revision$"[11:-2]
# These are not the real wxPython classes. These are Python versions
# for documentation purposes. They are also used to apply docstrings
# to the real wxPython classes, which are SWIG-generated wrappers for
# C-language classes.
from Base import EvtHandler
import Parameters as wx
try:
True
except NameError:
True = 1==1
False = 1==0
class PyApp(EvtHandler):
"""Python Application base class.
It is used to:
- set and get application-wide properties;
- implement the windowing system message or event loop;
- initiate application processing via App.OnInit;
- allow default processing of events not handled by other objects
in the application."""
def __init__(self):
"""Create a PyApp instance."""
pass
def Dispatch(self):
"""Dispatches the next event in the windowing system event
queue.
This can be used for programming event loops."""
pass
def ExitMainLoop(self):
"""Call this to explicitly exit the main message (event) loop.
You should normally exit the main loop (and the application)
by deleting the top window, which wxPython does automatically."""
pass
def GetAppName(self):
"""Return the application name."""
pass
def GetAssertMode(self):
"""Return the current assertion mode."""
pass
def GetAuto3D(self):
"""Returns True if 3D control mode is on, False otherwise.
Windows only."""
pass
def GetClassName(self):
"""Return the class name of the application."""
pass
def GetExitOnFrameDelete(self):
"""Returns True if the application will exit when the
top-level window is deleted, False otherwise."""
pass
def GetPrintMode(self):
"""Deprecated."""
pass
def GetTopWindow(self):
"""Return the top window.
If the top window hasn't been set using App.SetTopWindow,
this method will find the first top-level window (frame or
dialog) and return that."""
pass
def GetUseBestVisual(self):
"""Return True if the application will use the best visual on
systems that support different visuals, False otherwise."""
pass
def GetVendorName(self):
"""Return the application's vendor name."""
pass
def Initialized(self):
"""Return True if the application has been initialized
(i.e. if App.OnInit has returned successfully). This can be
useful for error message routines to determine which method of
output is best for the current state of the program (some
windowing systems may not like dialogs to pop up before the
main loop has been entered)."""
pass
def MainLoop(self):
"""Called by wxWindows on creation of the application.
Override this if you wish to provide your own
(environment-dependent) main loop.
Return 0 under X, and the wParam of the WM_QUIT message under
Windows."""
pass
def OnAssert(self, file, line, cond, msg):
"""Called when an assert failure occurs, i.e. the condition
specified in ASSERT macro evaluated to FALSE. It is only
called in debug mode (when __WXDEBUG__ is defined) as asserts
are not left in the release code at all.
The base class version show the default assert failure dialog
box proposing to the user to stop the program, continue or
ignore all subsequent asserts.
file is the name of the source file where the assert occured
line is the line number in this file where the assert occured
cond is the condition of the failed assert in string form
msg is the message specified as argument to ASSERT_MSG or
FAIL_MSG, will be NULL if just ASSERT or FAIL was used"""
pass
def OnExit(self):
"""Provide this member function for any processing which needs
to be done as the application is about to exit. OnExit is
called after destroying all application windows and controls,
but before wxWindows cleanup."""
pass
def OnInit(self):
"""This must be provided by the application, and will usually
create the application's main window, optionally calling
App.SetTopWindow.
Return True to continue processing, False to exit the
application."""
pass
def OnInitGui(self):
"""Called just after the platform's GUI has been initialized,
but before the App.OnInit() gets called. Rarely needed in
practice. Unlike App.OnInit(), does not need to return
True/False."""
pass
def Pending(self):
"""Return True if unprocessed events are in the window system
event queue."""
pass
def ProcessIdle(self):
"""Sends the EVT_IDLE event and is called inside the MainLoop.
You only need this if you implement your own main loop."""
pass
def SetAppName(self, name):
"""Set the name of the application."""
pass
def SetAssertMode(self, mode):
"""Lets you control how C++ assertions are processed.
Valid modes are: PYAPP_ASSERT_SUPPRESS,
PYAPP_ASSERT_EXCEPTION, and PYAPP_ASSERT_DIALOG. Using
_SUPPRESS will give you behavior like the old final builds and
the assert will be ignored, _EXCEPTION is the new default
described above, and _DIALOG is like the default in 2.3.3.1
and prior hybrid builds. You can also combine _EXCEPTION and
_DIALOG if you wish, although I don't know why you would."""
pass
def SetAuto3D(self, auto3D):
"""Switches automatic 3D controls on or off. Windows only.
If auto3D is True, all controls will be created with 3D
appearances unless overridden for a control or dialog. The
default is True."""
pass
def SetClassName(self, name):
"""Set the class name of the application."""
pass
def SetExitOnFrameDelete(self, flag):
"""If flag is True (the default), the application will exit
when the top-level frame is deleted. If False, the
application will continue to run."""
pass
def SetPrintMode(self, mode):
"""Deprecated."""
pass
def SetTopWindow(self, window):
"""Set the 'top' window.
You can call this from within App.OnInit to let wxWindows
know which is the main window. You don't have to set the top
window; it is only a convenience so that (for example) certain
dialogs without parents can use a specific window as the top
window. If no top window is specified by the application,
wxWindows just uses the first frame or dialog in its top-level
window list, when it needs to use the top window."""
pass
def SetUseBestVisual(self, flag):
"""Allows the programmer to specify whether the application
will use the best visual on systems that support several
visual on the same display. This is typically the case under
Solaris and IRIX, where the default visual is only 8-bit
whereas certain applications are supposed to run in TrueColour
mode.
Note that this function has to be called in the constructor of
the App instance and won't have any effect when called later
on.
This function currently only has effect under GTK."""
pass
def SetVendorName(self, name):
"""Sets the name of application's vendor. The name will be
used in registry access."""
pass
def Yield(self, onlyIfNeeded=False):
"""Yields control to pending messages in the windowing system.
This can be useful, for example, when a time-consuming process
writes to a text window. Without an occasional yield, the
text window will not be updated properly, and on systems with
cooperative multitasking, such as Windows 3.1 other processes
will not respond.
Caution should be exercised, however, since yielding may allow
the user to perform actions which are not compatible with the
current task. Disabling menu items or whole menus during
processing can avoid unwanted reentrance of code: see
wx.SafeYield for a better function.
Calling Yield() recursively is normally an error and an assert
failure is raised in debug build if such situation is
detected. However if the the onlyIfNeeded parameter is True,
the method will just silently return False instead."""
pass
from wxPython.wx import wxPlatform
_redirect = (wxPlatform == '__WXMSW__' or wxPlatform == '__WXMAC__')
del wxPlatform
class App(PyApp):
"""The main application class.
Inherit from this class and implement an OnInit method that
creates a frame and then calls self.SetTopWindow(frame)."""
def __init__(self, redirect=_redirect, filename=None, useBestVisual=False):
"""Create an App instance.
redirect defaults to True on Windows and Mac. If redirect is
True, stdio goes to an output window or a file if filename is
not None."""
pass
del _redirect
class PyOnDemandOutputWindow:
"""Used by App to display stdout and stderr messages if app is
created using App(redirect=True). Mostly useful on Windows or
Mac where apps aren't always launched from the command line."""
pass
class PySimpleApp(App):
"""Use instead of App for simple apps with a simple frame or
dialog, particularly for testing."""
def __init__(self, flag=0):
"""Create a PySimpleApp instance.
flag is the same as App's redirect parameter to redirect stdio."""
pass
def OnInit(self):
"""Automatically does a wx.InitAllImageHandlers()."""
pass
class PyWidgetTester(App):
"""Use instead of App for testing widgets. Provides a frame
containing an instance of a widget.
Create a PyWidgetTester instance with the desired size for the
frame, then create the widget and show the frame using SetWidget."""
def __init__(self, size=(250, 100)):
"""Create a PyWidgetTester instance, with no stdio redirection.
size is for the frame to hold the widget."""
pass
def OnInit(self):
"""Creates a frame that will hold the widget to be tested."""
pass
def SetWidget(self, widgetClass, *args):
"""Create a widgetClass instance using the supplied args and
with a frame as parent, then show the frame."""
pass
class SingleInstanceChecker:
"""Allows one to check that only a single instance of a program is
running. To do it, you should create an object of this class. As
long as this object is alive, calls to IsAnotherRunning() from
other processes will return True.
As the object should have the life span as big as possible, it
makes sense to create it either as a global or in App.OnInit()."""
def __init__(self, name, path=wx.EmptyString):
"""Create a SingleInstanceChecker instance.
name should be as unique as possible. It is used as the mutex
name under Win32 and the lock file name under Unix.
App.GetAppName() and wx.GetUserId() are commonly used.
path is optional and is ignored under Win32 and used as the
directory to create the lock file in under Unix (default is
wx.GetHomeDir())."""
pass
def Create(self, name, path=wx.EmptyString):
"""Create a SingleInstanceChecker instance."""
pass
def IsAnotherRunning(self):
"""Return True if another copy of this program is already running."""
pass
+206
View File
@@ -0,0 +1,206 @@
"""Decorator classes for documentation and shell scripting.
"""
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
__cvsid__ = "$Id$"
__revision__ = "$Revision$"[11:-2]
# These are not the real wxPython classes. These are Python versions
# for documentation purposes. They are also used to apply docstrings
# to the real wxPython classes, which are SWIG-generated wrappers for
# C-language classes.
import Parameters as wx
class Object:
"""Base class for all other wxPython classes."""
def __init__(self):
"""Create a Object instance."""
pass
def Destroy(self):
"""Destroy the Object instance."""
pass
def GetClassName(self):
"""Return the name of the class."""
pass
class EvtHandler(Object):
"""Base class that can handle events from the windowing system.
If the handler is part of a chain, the destructor will unlink
itself and restore the previous and next handlers so that they
point to each other."""
def __init__(self):
"""Create a EvtHandler instance."""
pass
def AddPendingEvent(self, event):
"""Post an event to be processed later.
event is an Event instance to add to process queue.
The difference between sending an event (using the
ProcessEvent method) and posting it is that in the first case
the event is processed before the function returns, while in
the second case, the function returns immediately and the
event will be processed sometime later (usually during the
next event loop iteration).
A copy of event is made by the function, so the original can
be deleted as soon as function returns (it is common that the
original is created on the stack). This requires that the
Event::Clone method be implemented by event so that it can
be duplicated and stored until it gets processed.
This is also the method to call for inter-thread
communication. It will post events safely between different
threads which means that this method is thread-safe by using
critical sections where needed. In a multi-threaded program,
you often need to inform the main GUI thread about the status
of other working threads and such notification should be done
using this method.
This method automatically wakes up idle handling if the
underlying window system is currently idle and thus would not
send any idle events. (Waking up idle handling is done
calling WakeUpIdle.)"""
pass
def Connect(self, id, lastId, eventType, func):
"""Connects the given function dynamically with the event
handler, id and event type. This is an alternative to the use
of static event tables.
id is the identifier (or first of the identifier range) to be
associated with the event handler function.
lastId is the second part of the identifier range to be
associated with the event handler function.
eventType is the event type to be associated with this event
handler.
function is the event handler function.
userData is data to be associated with the event table entry."""
pass
def Disconnect(self, id, lastId=-1, eventType=wx.EVT_NULL):
"""Disconnects the given function dynamically from the event
handler, using the specified parameters as search criteria and
returning True if a matching function has been found and
removed. This method can only disconnect functions which have
been added using the EvtHandler.Connect method. There is no
way to disconnect functions connected using the (static) event
tables.
id is the identifier (or first of the identifier range) to be
associated with the event handler function.
lastId is the second part of the identifier range to be
associated with the event handler function.
eventType is the event type to be associated with this event
handler.
function is the event handler function.
userData is data to be associated with the event table entry."""
pass
def GetEvtHandlerEnabled(self):
"""Return True if the event handler is enabled, False
otherwise."""
pass
def GetNextHandler(self):
"""Return the next handler in the chain."""
pass
def GetPreviousHandler(self):
"""Return the previous handler in the chain."""
pass
def ProcessEvent(self, event):
"""Processes an event, searching event tables and calling zero
or more suitable event handler function(s). Return True if a
suitable event handler function was found and executed, and
the function did not call Event.Skip().
event is an Event to process.
Normally, your application would not call this function: it is
called in the wxPython implementation to dispatch incoming
user interface events to the framework (and application).
However, you might need to call it if implementing new
functionality (such as a new control) where you define new
event types, as opposed to allowing the user to override
virtual functions.
An instance where you might actually override the ProcessEvent
function is where you want to direct event processing to event
handlers not normally noticed by wxWindows. For example, in
the document/view architecture, documents and views are
potential event handlers. When an event reaches a frame,
ProcessEvent will need to be called on the associated document
and view in case event handler functions are associated with
these objects. The property classes library (Property) also
overrides ProcessEvent for similar reasons.
The normal order of event table searching is as follows:
1. If the object is disabled (via a call to
EvtHandler.SetEvtHandlerEnabled) the function skips to step
(6).
2. If the object is a Window, ProcessEvent is recursively
called on the window's Validator. If this returns TRUE, the
function exits.
3. SearchEventTable is called for this event handler. If this
fails, the base class table is tried, and so on until no more
tables exist or an appropriate function was found, in which
case the function exits.
4. The search is applied down the entire chain of event
handlers (usually the chain has a length of one). If this
succeeds, the function exits.
5. If the object is a Window and the event is a
CommandEvent, ProcessEvent is recursively applied to the
parent window's event handler. If this returns TRUE, the
function exits.
6. Finally, ProcessEvent is called on the App object.
See also:
EvtHandler::SearchEventTable"""
pass
def SetEvtHandlerEnabled(self, enabled):
"""Enable or disable the event handler.
You can use this function to avoid having to remove the event
handler from the chain, for example when implementing a dialog
editor and changing from edit to test mode."""
pass
def SetNextHandler(self, handler):
"""Set the pointer to the next handler."""
pass
def SetPreviousHandler(self, handler):
"""Set the pointer to the previous handler."""
pass
@@ -0,0 +1,485 @@
"""Decorator classes for documentation and shell scripting.
"""
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
__cvsid__ = "$Id$"
__revision__ = "$Revision$"[11:-2]
# These are not the real wxPython classes. These are Python versions
# for documentation purposes. They are also used to apply docstrings
# to the real wxPython classes, which are SWIG-generated wrappers for
# C-language classes.
from Base import Object
import Parameters as wx
class Clipboard(Object):
""""""
def AddData(self):
""""""
pass
def Clear(self):
""""""
pass
def Close(self):
""""""
pass
def Flush(self):
""""""
pass
def GetData(self):
""""""
pass
def IsOpened(self):
""""""
pass
def IsSupported(self):
""""""
pass
def Open(self):
""""""
pass
def SetData(self):
""""""
pass
def UsePrimarySelection(self):
""""""
pass
def __init__(self):
""""""
pass
class DataFormat:
""""""
def GetId(self):
""""""
pass
def GetType(self):
""""""
pass
def SetId(self):
""""""
pass
def SetType(self):
""""""
pass
def __del__(self):
""""""
pass
def __init__(self):
""""""
pass
class DataObject:
""""""
def GetAllFormats(self):
""""""
pass
def GetDataHere(self):
""""""
pass
def GetDataSize(self):
""""""
pass
def GetFormatCount(self):
""""""
pass
def GetPreferredFormat(self):
""""""
pass
def IsSupportedFormat(self):
""""""
pass
def SetData(self):
""""""
pass
def __del__(self):
""""""
pass
def __init__(self):
""""""
pass
class DataObjectComposite(DataObject):
""""""
def Add(self):
""""""
pass
def __init__(self):
""""""
pass
class DataObjectSimple(DataObject):
""""""
def GetFormat(self):
""""""
pass
def SetFormat(self):
""""""
pass
def __init__(self):
""""""
pass
class PyDataObjectSimple(DataObjectSimple):
""""""
def __init__(self):
""""""
pass
def _setCallbackInfo(self):
""""""
pass
class BitmapDataObject(DataObjectSimple):
""""""
def GetBitmap(self):
""""""
pass
def SetBitmap(self):
""""""
pass
def __init__(self):
""""""
pass
class PyBitmapDataObject(BitmapDataObject):
""""""
def __init__(self):
""""""
pass
def _setCallbackInfo(self):
""""""
pass
class CustomDataObject(DataObjectSimple):
""""""
def GetData(self):
""""""
pass
def GetSize(self):
""""""
pass
def SetData(self):
""""""
pass
def TakeData(self):
""""""
pass
def __init__(self):
""""""
pass
class DragImage(Object):
""""""
def BeginDrag(self):
""""""
pass
def BeginDrag2(self):
""""""
pass
def EndDrag(self):
""""""
pass
def GetImageRect(self):
""""""
pass
def Hide(self):
""""""
pass
def Move(self):
""""""
pass
def RedrawImage(self):
""""""
pass
def SetBackingBitmap(self):
""""""
pass
def Show(self):
""""""
pass
def __del__(self):
""""""
pass
def __init__(self):
""""""
pass
class DropSource:
""""""
def DoDragDrop(self):
""""""
pass
def GetDataObject(self):
""""""
pass
def SetCursor(self):
""""""
pass
def SetData(self):
""""""
pass
def __del__(self):
""""""
pass
def __init__(self):
""""""
pass
def _setCallbackInfo(self):
""""""
pass
def base_GiveFeedback(self):
""""""
pass
class DropTarget:
""""""
def __init__(self):
""""""
pass
class PyDropTarget(DropTarget):
""""""
def GetData(self):
""""""
pass
def GetDataObject(self):
""""""
pass
def SetDataObject(self):
""""""
pass
def __del__(self):
""""""
pass
def __init__(self):
""""""
pass
def _setCallbackInfo(self):
""""""
pass
def base_OnDragOver(self):
""""""
pass
def base_OnDrop(self):
""""""
pass
def base_OnEnter(self):
""""""
pass
def base_OnLeave(self):
""""""
pass
class FileDataObject(DataObjectSimple):
""""""
def GetFilenames(self):
""""""
pass
def __init__(self):
""""""
pass
class FileDropTarget(PyDropTarget):
""""""
def __init__(self):
""""""
pass
def _setCallbackInfo(self):
""""""
pass
def base_OnData(self):
""""""
pass
def base_OnDragOver(self):
""""""
pass
def base_OnDrop(self):
""""""
pass
def base_OnEnter(self):
""""""
pass
def base_OnLeave(self):
""""""
pass
class TextDataObject(DataObjectSimple):
""""""
def GetText(self):
""""""
pass
def GetTextLength(self):
""""""
pass
def SetText(self):
""""""
pass
def __init__(self):
""""""
pass
class PyTextDataObject(TextDataObject):
""""""
def __init__(self):
""""""
pass
def _setCallbackInfo(self):
""""""
pass
class TextDropTarget(PyDropTarget):
""""""
def __init__(self):
""""""
pass
def _setCallbackInfo(self):
""""""
pass
def base_OnData(self):
""""""
pass
def base_OnDragOver(self):
""""""
pass
def base_OnDrop(self):
""""""
pass
def base_OnEnter(self):
""""""
pass
def base_OnLeave(self):
""""""
pass
class URLDataObject(DataObjectComposite):
""""""
def GetURL(self):
""""""
pass
def SetURL(self):
""""""
pass
def __init__(self):
""""""
pass
+199
View File
@@ -0,0 +1,199 @@
"""Decorator classes for documentation and shell scripting.
"""
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
__cvsid__ = "$Id$"
__revision__ = "$Revision$"[11:-2]
# These are not the real wxPython classes. These are Python versions
# for documentation purposes. They are also used to apply docstrings
# to the real wxPython classes, which are SWIG-generated wrappers for
# C-language classes.
import Parameters as wx
class ConfigBase:
""""""
def DeleteAll(self):
""""""
pass
def DeleteEntry(self):
""""""
pass
def DeleteGroup(self):
""""""
pass
def Exists(self):
""""""
pass
def ExpandEnvVars(self):
""""""
pass
def Flush(self):
""""""
pass
def GetAppName(self):
""""""
pass
def GetEntryType(self):
""""""
pass
def GetFirstEntry(self):
""""""
pass
def GetFirstGroup(self):
""""""
pass
def GetNextEntry(self):
""""""
pass
def GetNextGroup(self):
""""""
pass
def GetNumberOfEntries(self):
""""""
pass
def GetNumberOfGroups(self):
""""""
pass
def GetPath(self):
""""""
pass
def GetStyle(self):
""""""
pass
def GetVendorName(self):
""""""
pass
def HasEntry(self):
""""""
pass
def HasGroup(self):
""""""
pass
def IsExpandingEnvVars(self):
""""""
pass
def IsRecordingDefaults(self):
""""""
pass
def Read(self):
""""""
pass
def ReadBool(self):
""""""
pass
def ReadFloat(self):
""""""
pass
def ReadInt(self):
""""""
pass
def RenameEntry(self):
""""""
pass
def RenameGroup(self):
""""""
pass
def SetAppName(self):
""""""
pass
def SetExpandEnvVars(self):
""""""
pass
def SetPath(self):
""""""
pass
def SetRecordDefaults(self):
""""""
pass
def SetStyle(self):
""""""
pass
def SetVendorName(self):
""""""
pass
def Write(self):
""""""
pass
def WriteBool(self):
""""""
pass
def WriteFloat(self):
""""""
pass
def WriteInt(self):
""""""
pass
def __del__(self):
""""""
pass
def __init__(self):
""""""
pass
class Config(ConfigBase):
""""""
def __del__(self):
""""""
pass
def __init__(self):
""""""
pass
class FileConfig(ConfigBase):
""""""
def __del__(self):
""""""
pass
def __init__(self):
""""""
pass
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,485 @@
"""Decorator classes for documentation and shell scripting.
"""
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
__cvsid__ = "$Id$"
__revision__ = "$Revision$"[11:-2]
# These are not the real wxPython classes. These are Python versions
# for documentation purposes. They are also used to apply docstrings
# to the real wxPython classes, which are SWIG-generated wrappers for
# C-language classes.
import Parameters as wx
class Point:
""""""
def Set(self):
""""""
pass
def __add__(self):
""""""
pass
def __del__(self):
""""""
pass
def __eq__(self):
""""""
pass
def __getattr__(self):
""""""
pass
def __getitem__(self):
""""""
pass
def __init__(self):
""""""
pass
def __len__(self):
""""""
pass
def __ne__(self):
""""""
pass
def __nonzero__(self):
""""""
pass
def __setattr__(self):
""""""
pass
def __setitem__(self):
""""""
pass
def __str__(self):
""""""
pass
def __sub__(self):
""""""
pass
def asTuple(self):
""""""
pass
class Point2DDouble:
""""""
def GetCrossProduct(self):
""""""
pass
def GetDistance(self):
""""""
pass
def GetDistanceSquare(self):
""""""
pass
def GetDotProduct(self):
""""""
pass
def GetFloor(self):
""""""
pass
def GetRounded(self):
""""""
pass
def GetVectorAngle(self):
""""""
pass
def GetVectorLength(self):
""""""
pass
def Normalize(self):
""""""
pass
def SetPolarCoordinates(self):
""""""
pass
def SetVectorAngle(self):
""""""
pass
def SetVectorLength(self):
""""""
pass
def __eq__(self):
""""""
pass
def __getattr__(self):
""""""
pass
def __getitem__(self):
""""""
pass
def __iadd__(self):
""""""
pass
def __idiv__(self):
""""""
pass
def __imul__(self):
""""""
pass
def __init__(self):
""""""
pass
def __isub__(self):
""""""
pass
def __len__(self):
""""""
pass
def __ne__(self):
""""""
pass
def __neg__(self):
""""""
pass
def __nonzero__(self):
""""""
pass
def __setattr__(self):
""""""
pass
def __setitem__(self):
""""""
pass
def __str__(self):
""""""
pass
def asTuple(self):
""""""
pass
class RealPoint:
""""""
def Set(self):
""""""
pass
def __add__(self):
""""""
pass
def __del__(self):
""""""
pass
def __eq__(self):
""""""
pass
def __getattr__(self):
""""""
pass
def __getitem__(self):
""""""
pass
def __init__(self):
""""""
pass
def __len__(self):
""""""
pass
def __ne__(self):
""""""
pass
def __nonzero__(self):
""""""
pass
def __setattr__(self):
""""""
pass
def __setitem__(self):
""""""
pass
def __str__(self):
""""""
pass
def __sub__(self):
""""""
pass
def asTuple(self):
""""""
pass
class Rect:
""""""
def GetBottom(self):
""""""
pass
def GetHeight(self):
""""""
pass
def GetLeft(self):
""""""
pass
def GetPosition(self):
""""""
pass
def GetRight(self):
""""""
pass
def GetSize(self):
""""""
pass
def GetTop(self):
""""""
pass
def GetWidth(self):
""""""
pass
def GetX(self):
""""""
pass
def GetY(self):
""""""
pass
def Inflate(self):
""""""
pass
def Inside(self):
""""""
pass
def SetBottom(self):
""""""
pass
def SetHeight(self):
""""""
pass
def SetLeft(self):
""""""
pass
def SetPosition(self):
""""""
pass
def SetRight(self):
""""""
pass
def SetSize(self):
""""""
pass
def SetTop(self):
""""""
pass
def SetWidth(self):
""""""
pass
def SetX(self):
""""""
pass
def SetY(self):
""""""
pass
def __add__(self):
""""""
pass
def __del__(self):
""""""
pass
def __eq__(self):
""""""
pass
def __getattr__(self):
""""""
pass
def __getitem__(self):
""""""
pass
def __init__(self):
""""""
pass
def __len__(self):
""""""
pass
def __ne__(self):
""""""
pass
def __nonzero__(self):
""""""
pass
def __setattr__(self):
""""""
pass
def __setitem__(self):
""""""
pass
def __str__(self):
""""""
pass
def asTuple(self):
""""""
pass
class Size:
""""""
def GetHeight(self):
""""""
pass
def GetWidth(self):
""""""
pass
def GetX(self):
""""""
pass
def GetY(self):
""""""
pass
def Set(self):
""""""
pass
def SetHeight(self):
""""""
pass
def SetWidth(self):
""""""
pass
def __del__(self):
""""""
pass
def __eq__(self):
""""""
pass
def __getattr__(self):
""""""
pass
def __getitem__(self):
""""""
pass
def __init__(self):
""""""
pass
def __len__(self):
""""""
pass
def __ne__(self):
""""""
pass
def __nonzero__(self):
""""""
pass
def __setattr__(self):
""""""
pass
def __setitem__(self):
""""""
pass
def __str__(self):
""""""
pass
def asTuple(self):
""""""
pass
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,471 @@
"""Decorator classes for documentation and shell scripting.
"""
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
__cvsid__ = "$Id$"
__revision__ = "$Revision$"[11:-2]
# These are not the real wxPython classes. These are Python versions
# for documentation purposes. They are also used to apply docstrings
# to the real wxPython classes, which are SWIG-generated wrappers for
# C-language classes.
from Base import Object
from Frames import Frame
import Parameters as wx
from Window import TopLevelWindow
class Dialog(TopLevelWindow):
""""""
def Centre(self):
""""""
pass
def Create(self):
""""""
pass
def CreateButtonSizer(self):
""""""
pass
def CreateTextSizer(self):
""""""
pass
def EndModal(self):
""""""
pass
def GetReturnCode(self):
""""""
pass
def IsModal(self):
""""""
pass
def SetModal(self):
""""""
pass
def SetReturnCode(self):
""""""
pass
def ShowModal(self):
""""""
pass
def __init__(self):
""""""
pass
class ColourDialog(Dialog):
""""""
def GetColourData(self):
""""""
pass
def ShowModal(self):
""""""
pass
def __init__(self):
""""""
pass
class ColourData(Object):
""""""
def GetChooseFull(self):
""""""
pass
def GetColour(self):
""""""
pass
def GetCustomColour(self):
""""""
pass
def SetChooseFull(self):
""""""
pass
def SetColour(self):
""""""
pass
def SetCustomColour(self):
""""""
pass
def __del__(self):
""""""
pass
def __init__(self):
""""""
pass
class ColourDatabase(Object):
""""""
def Append(self):
""""""
pass
def FindColour(self):
""""""
pass
def FindName(self):
""""""
pass
def __init__(self):
""""""
pass
class DirDialog(Dialog):
""""""
def GetMessage(self):
""""""
pass
def GetPath(self):
""""""
pass
def GetStyle(self):
""""""
pass
def SetMessage(self):
""""""
pass
def SetPath(self):
""""""
pass
def ShowModal(self):
""""""
pass
def __init__(self):
""""""
pass
class FileDialog(Dialog):
""""""
def GetDirectory(self):
""""""
pass
def GetFilename(self):
""""""
pass
def GetFilenames(self):
""""""
pass
def GetFilterIndex(self):
""""""
pass
def GetMessage(self):
""""""
pass
def GetPath(self):
""""""
pass
def GetPaths(self):
""""""
pass
def GetStyle(self):
""""""
pass
def GetWildcard(self):
""""""
pass
def SetDirectory(self):
""""""
pass
def SetFilename(self):
""""""
pass
def SetFilterIndex(self):
""""""
pass
def SetMessage(self):
""""""
pass
def SetPath(self):
""""""
pass
def SetStyle(self):
""""""
pass
def SetWildcard(self):
""""""
pass
def ShowModal(self):
""""""
pass
def __init__(self):
""""""
pass
class FindReplaceDialog(Dialog):
""""""
def Create(self):
""""""
pass
def GetData(self):
""""""
pass
def SetData(self):
""""""
pass
def __init__(self):
""""""
pass
class FindReplaceData(Object):
""""""
def GetFindString(self):
""""""
pass
def GetFlags(self):
""""""
pass
def GetReplaceString(self):
""""""
pass
def SetFindString(self):
""""""
pass
def SetFlags(self):
""""""
pass
def SetReplaceString(self):
""""""
pass
def __del__(self):
""""""
pass
def __init__(self):
""""""
pass
class FontDialog(Dialog):
""""""
def GetFontData(self):
""""""
pass
def ShowModal(self):
""""""
pass
def __init__(self):
""""""
pass
class FontData(Object):
""""""
def EnableEffects(self):
""""""
pass
def GetAllowSymbols(self):
""""""
pass
def GetChosenFont(self):
""""""
pass
def GetColour(self):
""""""
pass
def GetEnableEffects(self):
""""""
pass
def GetInitialFont(self):
""""""
pass
def GetShowHelp(self):
""""""
pass
def SetAllowSymbols(self):
""""""
pass
def SetChosenFont(self):
""""""
pass
def SetColour(self):
""""""
pass
def SetInitialFont(self):
""""""
pass
def SetRange(self):
""""""
pass
def SetShowHelp(self):
""""""
pass
def __del__(self):
""""""
pass
def __init__(self):
""""""
pass
class MessageDialog(Dialog):
""""""
def ShowModal(self):
""""""
pass
def __init__(self):
""""""
pass
class MultiChoiceDialog(Dialog):
""""""
def GetSelections(self):
""""""
pass
def SetSelections(self):
""""""
pass
def __init__(self):
""""""
pass
class ProgressDialog(Frame):
""""""
def Resume(self):
""""""
pass
def Update(self):
""""""
pass
def __init__(self):
""""""
pass
class SingleChoiceDialog(Dialog):
""""""
def GetSelection(self):
""""""
pass
def GetStringSelection(self):
""""""
pass
def SetSelection(self):
""""""
pass
def ShowModal(self):
""""""
pass
def __init__(self):
""""""
pass
class TextEntryDialog(Dialog):
""""""
def GetValue(self):
""""""
pass
def SetValue(self):
""""""
pass
def ShowModal(self):
""""""
pass
def __init__(self):
""""""
pass
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,25 @@
"""Decorator classes for documentation and shell scripting.
"""
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
__cvsid__ = "$Id$"
__revision__ = "$Revision$"[11:-2]
# These are not the real wxPython classes. These are Python versions
# for documentation purposes. They are also used to apply docstrings
# to the real wxPython classes, which are SWIG-generated wrappers for
# C-language classes.
class PyAssertionError(AssertionError):
""""""
pass
class PyDeadObjectError(AttributeError):
"""Instances of wx objects that are OOR capable will have their
__class__ attribute changed to a _wxPyDeadObject class when the
C++ object is deleted. Subsequent attempts to access object
attributes will raise this error, rather than segfault."""
pass
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,193 @@
"""Decorator classes for documentation and shell scripting.
"""
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
__cvsid__ = "$Id$"
__revision__ = "$Revision$"[11:-2]
# These are not the real wxPython classes. These are Python versions
# for documentation purposes. They are also used to apply docstrings
# to the real wxPython classes, which are SWIG-generated wrappers for
# C-language classes.
from Base import Object
import Parameters as wx
class FSFile(Object):
""""""
def GetAnchor(self):
""""""
pass
def GetLocation(self):
""""""
pass
def GetMimeType(self):
""""""
pass
def GetModificationTime(self):
""""""
pass
def GetStream(self):
""""""
pass
def __init__(self):
""""""
pass
class FileSystem(Object):
""""""
def ChangePathTo(self):
""""""
pass
def FindFirst(self):
""""""
pass
def FindNext(self):
""""""
pass
def GetPath(self):
""""""
pass
def OpenFile(self):
""""""
pass
def __init__(self):
""""""
pass
class CPPFileSystemHandler(Object):
""""""
def __init__(self):
""""""
pass
class FileSystemHandler(CPPFileSystemHandler):
""""""
def CanOpen(self):
""""""
pass
def FindFirst(self):
""""""
pass
def FindNext(self):
""""""
pass
def GetAnchor(self):
""""""
pass
def GetLeftLocation(self):
""""""
pass
def GetMimeTypeFromExt(self):
""""""
pass
def GetProtocol(self):
""""""
pass
def GetRightLocation(self):
""""""
pass
def OpenFile(self):
""""""
pass
def __init__(self):
""""""
pass
def _setCallbackInfo(self):
""""""
pass
class InternetFSHandler(CPPFileSystemHandler):
""""""
def CanOpen(self):
""""""
pass
def OpenFile(self):
""""""
pass
def __init__(self):
""""""
pass
class MemoryFSHandler(CPPFileSystemHandler):
""""""
def CanOpen(self):
""""""
pass
def FindFirst(self):
""""""
pass
def FindNext(self):
""""""
pass
def OpenFile(self):
""""""
pass
def __init__(self):
""""""
pass
class ZipFSHandler(CPPFileSystemHandler):
""""""
def CanOpen(self):
""""""
pass
def FindFirst(self):
""""""
pass
def FindNext(self):
""""""
pass
def OpenFile(self):
""""""
pass
def __init__(self):
""""""
pass
+440
View File
@@ -0,0 +1,440 @@
"""Decorator classes for documentation and shell scripting.
"""
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
__cvsid__ = "$Id$"
__revision__ = "$Revision$"[11:-2]
# These are not the real wxPython classes. These are Python versions
# for documentation purposes. They are also used to apply docstrings
# to the real wxPython classes, which are SWIG-generated wrappers for
# C-language classes.
from Base import Object
import Parameters as wx
from Window import TopLevelWindow, Window
class Frame(TopLevelWindow):
"""A frame is a window whose size and position can (usually) be
changed by the user. It usually has thick borders and a title bar,
and can optionally contain a menu bar, toolbar and status bar. A
frame can contain any window that is not a frame or dialog.
A frame that has a status bar and toolbar created via the
CreateStatusBar/CreateToolBar functions manages these windows, and
adjusts the value returned by GetClientSize to reflect the
remaining size available to application windows.
An application should normally define a CloseEvent handler for the
frame to respond to system close events, for example so that
related data and subwindows can be cleaned up."""
def __init__(self, parent, id, title, pos=wx.DefaultPosition,
size=wx.DefaultSize, style=wx.DEFAULT_FRAME_STYLE,
name=wx.PyFrameNameStr):
"""Create a Frame instance.
parent - The window parent. This may be NULL. If it is
non-NULL, the frame will always be displayed on top of the
parent window on Windows.
id - The window identifier. It may take a value of -1 to
indicate a default value.
title - The caption to be displayed on the frame's title bar.
pos - The window position. A value of (-1, -1) indicates a
default position, chosen by either the windowing system or
wxWindows, depending on platform.
size - The window size. A value of (-1, -1) indicates a
default size, chosen by either the windowing system or
wxWindows, depending on platform.
style - The window style.
name - The name of the window. This parameter is used to
associate a name with the item, allowing the application user
to set Motif resource values for individual windows."""
pass
def Create(self, parent, id, title, pos=wx.DefaultPosition,
size=wx.DefaultSize, style=wx.DEFAULT_FRAME_STYLE,
name=wx.PyFrameNameStr):
"""Create a Frame instance."""
pass
def Command(self, id):
"""Simulate a menu command; id is a menu item identifier."""
pass
def CreateStatusBar(self, number=1, style=wx.ST_SIZEGRIP, id=-1,
name=wx.PyStatusLineNameStr):
"""Create a status bar at the bottom of frame.
number - The number of fields to create. Specify a value
greater than 1 to create a multi-field status bar.
style - The status bar style. See wx.StatusBar for a list of
valid styles.
id - The status bar window identifier. If -1, an identifier
will be chosen by wxWindows.
name - The status bar window name.
The width of the status bar is the whole width of the frame
(adjusted automatically when resizing), and the height and
text size are chosen by the host windowing system.
By default, the status bar is an instance of wx.StatusBar."""
pass
def CreateToolBar(self, style=wx.NO_BORDER|wx.TB_HORIZONTAL, id=-1,
name=wx.PyToolBarNameStr):
"""Create a toolbar at the top or left of frame.
style - The toolbar style. See wxToolBar for a list of valid
styles.
id - The toolbar window identifier. If -1, an identifier will
be chosen by wxWindows.
name - The toolbar window name.
By default, the toolbar is an instance of wx.ToolBar (which is
defined to be a suitable toolbar class on each platform, such
as wx.ToolBar95).
When a toolbar has been created with this function, or made
known to the frame with wx.Frame.SetToolBar, the frame will
manage the toolbar position and adjust the return value from
wx.Window.GetClientSize to reflect the available space for
application windows."""
pass
def DoGiveHelp(self, text, show):
"""Show help text (typically in the statusbar).
show is False if you are hiding the help, True otherwise.
Meant to be overridden if a derived frame wants to do
something else with help text from menus and etc. The default
implementation simply calls Frame.SetStatusText."""
pass
def GetClientAreaOrigin(self):
"""Return origin of frame client area (in client coordinates).
It may be different from (0, 0) if the frame has a toolbar."""
pass
def GetMenuBar(self):
"""Return menubar currently associated with frame (if any)."""
pass
def GetStatusBar(self):
"""Return status bar currently associated with frame (if any)."""
pass
def GetStatusBarPane(self):
"""Return status bar pane used to display menu and toolbar
help."""
pass
def GetToolBar(self):
"""Return toolbar currently associated with frame (if any)."""
pass
def PopStatusText(self, number=0):
"""Redraw status bar with previous status text.
number - The status field (starting from zero)."""
pass
def ProcessCommand(self, id):
"""Process menu command; return True if processed.
id is the menu command identifier."""
pass
def PushStatusText(self, text, number=0):
"""Set status bar text and redraw status bar, remembering
previous text.
text - The text for the status field.
number - The status field (starting from zero).
Use an empty string to clear the status bar."""
pass
def SendSizeEvent(self):
"""Send a dummy size event to the frame forcing it to
reevaluate its children positions. It is sometimes useful to
call this function after adding or deleting a children after
the frame creation or if a child size changes.
Note that if the frame is using either sizers or constraints
for the children layout, it is enough to call Frame.Layout()
directly and this function should not be used in this case."""
pass
def SetMenuBar(self, menubar):
"""Show the menu bar in the frame.
menuBar - The menu bar to associate with the frame.
If the frame is destroyed, the menu bar and its menus will be
destroyed also, so do not delete the menu bar explicitly
(except by resetting the frame's menu bar to another frame or
NULL).
Under Windows, a call to Frame.OnSize is generated, so be sure
to initialize data members properly before calling SetMenuBar.
Note that it is not possible to call this function twice for
the same frame object."""
pass
def SetStatusBar(self, statBar):
"""Associate a status bar with the frame."""
pass
def SetStatusBarPane(self, n):
"""Set the status bar pane used to display menu and toolbar
help. Using -1 disables help display."""
pass
def SetStatusText(self, text, number=0):
"""Set status bar text and redraw status bar.
text - The text for the status field.
number - The status field (starting from zero).
Use an empty string to clear the status bar."""
pass
def SetStatusWidths(self, choices):
"""Sets the widths of the fields in the status bar.
choices - a Python list of integers, each of which is a status
field width in pixels. A value of -1 indicates that the field
is variable width; at least one field must be -1.
The widths of the variable fields are calculated from the
total width of all fields, minus the sum of widths of the
non-variable fields, divided by the number of variable fields."""
pass
def SetToolBar(self, toolbar):
"""Associate a toolbar with the frame."""
pass
class LayoutAlgorithm(Object):
""""""
def __init__(self):
""""""
pass
def LayoutFrame(self):
""""""
pass
def LayoutMDIFrame(self):
""""""
pass
def LayoutWindow(self):
""""""
pass
class MDIChildFrame(Frame):
""""""
def __init__(self):
""""""
pass
def Create(self):
""""""
pass
def Activate(self):
""""""
pass
def Maximize(self):
""""""
pass
def Restore(self):
""""""
pass
class MDIClientWindow(Window):
""""""
def __init__(self):
""""""
pass
def Create(self):
""""""
pass
class MDIParentFrame(Frame):
""""""
def __init__(self):
""""""
pass
def Create(self):
""""""
pass
def ActivateNext(self):
""""""
pass
def ActivatePrevious(self):
""""""
pass
def ArrangeIcons(self):
""""""
pass
def Cascade(self):
""""""
pass
def GetActiveChild(self):
""""""
pass
def GetClientWindow(self):
""""""
pass
def GetToolBar(self):
""""""
pass
def Tile(self):
""""""
pass
class MiniFrame(Frame):
""""""
def __init__(self):
""""""
pass
def Create(self):
""""""
pass
class SplashScreen(Frame):
""""""
def __init__(self):
""""""
pass
def GetSplashStyle(self):
""""""
pass
def GetSplashWindow(self):
""""""
pass
def GetTimeout(self):
""""""
pass
class SplashScreenWindow(Window):
""""""
def __init__(self):
""""""
pass
def GetBitmap(self):
""""""
pass
def SetBitmap(self):
""""""
pass
class StatusBar(Window):
""""""
def __init__(self):
""""""
pass
def Create(self):
""""""
pass
def GetBorderX(self):
""""""
pass
def GetBorderY(self):
""""""
pass
def GetFieldRect(self):
""""""
pass
def GetFieldsCount(self):
""""""
pass
def GetStatusText(self):
""""""
pass
def PopStatusText(self):
""""""
pass
def PushStatusText(self):
""""""
pass
def SetFieldsCount(self):
""""""
pass
def SetMinHeight(self):
""""""
pass
def SetStatusText(self):
""""""
pass
def SetStatusWidths(self):
""""""
pass
File diff suppressed because it is too large Load Diff
+127
View File
@@ -0,0 +1,127 @@
"""Decorator classes for documentation and shell scripting.
"""
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
__cvsid__ = "$Id$"
__revision__ = "$Revision$"[11:-2]
# These are not the real wxPython classes. These are Python versions
# for documentation purposes. They are also used to apply docstrings
# to the real wxPython classes, which are SWIG-generated wrappers for
# C-language classes.
from Base import Object
import Parameters as wx
from Window import Window
class PopupWindow(Window):
""""""
def Create(self):
""""""
pass
def Position(self):
""""""
pass
def __init__(self):
""""""
pass
class PopupTransientWindow(PopupWindow):
""""""
def Dismiss(self):
""""""
pass
def Popup(self):
""""""
pass
def __init__(self):
""""""
pass
def _setCallbackInfo(self):
""""""
pass
class TipProvider:
""""""
def GetCurrentTip(self):
""""""
pass
def GetTip(self):
""""""
pass
def PreprocessTip(self):
""""""
pass
def __del__(self):
""""""
pass
def __init__(self):
""""""
pass
class PyTipProvider(TipProvider):
""""""
def __init__(self):
""""""
pass
def _setCallbackInfo(self):
""""""
pass
class TipWindow(PopupTransientWindow):
""""""
def Close(self):
""""""
pass
def SetBoundingRect(self):
""""""
pass
def __init__(self):
""""""
pass
class ToolTip(Object):
""""""
def GetTip(self):
""""""
pass
def GetWindow(self):
""""""
pass
def SetTip(self):
""""""
pass
def __init__(self):
""""""
pass
@@ -0,0 +1,142 @@
"""Decorator classes for documentation and shell scripting.
"""
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
__cvsid__ = "$Id$"
__revision__ = "$Revision$"[11:-2]
# These are not the real wxPython classes. These are Python versions
# for documentation purposes. They are also used to apply docstrings
# to the real wxPython classes, which are SWIG-generated wrappers for
# C-language classes.
from Base import Object
import Parameters as wx
class ImageHandler(Object):
""""""
def CanRead(self):
""""""
pass
def GetExtension(self):
""""""
pass
def GetMimeType(self):
""""""
pass
def GetName(self):
""""""
pass
def GetType(self):
""""""
pass
def SetExtension(self):
""""""
pass
def SetMimeType(self):
""""""
pass
def SetName(self):
""""""
pass
def SetType(self):
""""""
pass
def __init__(self):
""""""
pass
class BMPHandler(ImageHandler):
""""""
def __init__(self):
""""""
pass
class GIFHandler(ImageHandler):
""""""
def __init__(self):
""""""
pass
class ICOHandler(BMPHandler):
""""""
def __init__(self):
""""""
pass
class CURHandler(ICOHandler):
""""""
def __init__(self):
""""""
pass
class ANIHandler(CURHandler):
""""""
def __init__(self):
""""""
pass
class JPEGHandler(ImageHandler):
""""""
def __init__(self):
""""""
pass
class PCXHandler(ImageHandler):
""""""
def __init__(self):
""""""
pass
class PNGHandler(ImageHandler):
""""""
def __init__(self):
""""""
pass
class PNMHandler(ImageHandler):
""""""
def __init__(self):
""""""
pass
class TIFFHandler(ImageHandler):
""""""
def __init__(self):
""""""
pass
@@ -0,0 +1,197 @@
"""Decorator classes for documentation and shell scripting.
"""
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
__cvsid__ = "$Id$"
__revision__ = "$Revision$"[11:-2]
# These are not the real wxPython classes. These are Python versions
# for documentation purposes. They are also used to apply docstrings
# to the real wxPython classes, which are SWIG-generated wrappers for
# C-language classes.
from Base import Object
import Parameters as wx
class Joystick(Object):
""""""
def GetButtonState(self):
""""""
pass
def GetManufacturerId(self):
""""""
pass
def GetMaxAxes(self):
""""""
pass
def GetMaxButtons(self):
""""""
pass
def GetMovementThreshold(self):
""""""
pass
def GetNumberAxes(self):
""""""
pass
def GetNumberButtons(self):
""""""
pass
def GetNumberJoysticks(self):
""""""
pass
def GetPOVCTSPosition(self):
""""""
pass
def GetPOVPosition(self):
""""""
pass
def GetPollingMax(self):
""""""
pass
def GetPollingMin(self):
""""""
pass
def GetPosition(self):
""""""
pass
def GetProductId(self):
""""""
pass
def GetProductName(self):
""""""
pass
def GetRudderMax(self):
""""""
pass
def GetRudderMin(self):
""""""
pass
def GetRudderPosition(self):
""""""
pass
def GetUMax(self):
""""""
pass
def GetUMin(self):
""""""
pass
def GetUPosition(self):
""""""
pass
def GetVMax(self):
""""""
pass
def GetVMin(self):
""""""
pass
def GetVPosition(self):
""""""
pass
def GetXMax(self):
""""""
pass
def GetXMin(self):
""""""
pass
def GetYMax(self):
""""""
pass
def GetYMin(self):
""""""
pass
def GetZMax(self):
""""""
pass
def GetZMin(self):
""""""
pass
def GetZPosition(self):
""""""
pass
def HasPOV(self):
""""""
pass
def HasPOV4Dir(self):
""""""
pass
def HasPOVCTS(self):
""""""
pass
def HasRudder(self):
""""""
pass
def HasU(self):
""""""
pass
def HasV(self):
""""""
pass
def HasZ(self):
""""""
pass
def IsOk(self):
""""""
pass
def ReleaseCapture(self):
""""""
pass
def SetCapture(self):
""""""
pass
def SetMovementThreshold(self):
""""""
pass
def __del__(self):
""""""
pass
def __init__(self):
""""""
pass
@@ -0,0 +1,80 @@
"""Decorator classes for documentation and shell scripting.
"""
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
__cvsid__ = "$Id$"
__revision__ = "$Revision$"[11:-2]
# These are not the real wxPython classes. These are Python versions
# for documentation purposes. They are also used to apply docstrings
# to the real wxPython classes, which are SWIG-generated wrappers for
# C-language classes.
from Base import Object
import Parameters as wx
class IndividualLayoutConstraint(Object):
""""""
def Above(self):
""""""
pass
def Absolute(self):
""""""
pass
def AsIs(self):
""""""
pass
def Below(self):
""""""
pass
def LeftOf(self):
""""""
pass
def PercentOf(self):
""""""
pass
def RightOf(self):
""""""
pass
def SameAs(self):
""""""
pass
def Set(self):
""""""
pass
def Unconstrained(self):
""""""
pass
def __init__(self):
""""""
pass
class LayoutConstraints(Object):
""""""
def __getattr__(self):
""""""
pass
def __init__(self):
""""""
pass
def __setattr__(self):
""""""
pass
@@ -0,0 +1,145 @@
"""Decorator classes for documentation and shell scripting.
"""
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
__cvsid__ = "$Id$"
__revision__ = "$Revision$"[11:-2]
# These are not the real wxPython classes. These are Python versions
# for documentation purposes. They are also used to apply docstrings
# to the real wxPython classes, which are SWIG-generated wrappers for
# C-language classes.
import Parameters as wx
class Log:
""""""
def Flush(self):
""""""
pass
def GetVerbose(self):
""""""
pass
def HasPendingMessages(self):
""""""
pass
def TimeStamp(self):
""""""
pass
def __init__(self):
""""""
pass
class PyLog(Log):
""""""
def Destroy(self):
""""""
pass
def __init__(self):
""""""
pass
def _setCallbackInfo(self):
""""""
pass
class LogChain(Log):
""""""
def GetOldLog(self):
""""""
pass
def IsPassingMessages(self):
""""""
pass
def PassMessages(self):
""""""
pass
def SetLog(self):
""""""
pass
def __init__(self):
""""""
pass
class LogGui(Log):
""""""
def __init__(self):
""""""
pass
class LogNull:
""""""
def __del__(self):
""""""
pass
def __init__(self):
""""""
pass
class LogStderr(Log):
""""""
def __init__(self):
""""""
pass
class LogTextCtrl(Log):
""""""
def __init__(self):
""""""
pass
class LogWindow(Log):
""""""
def GetFrame(self):
""""""
pass
def GetOldLog(self):
""""""
pass
def IsPassingMessages(self):
""""""
pass
def PassMessages(self):
""""""
pass
def Show(self):
""""""
pass
def __init__(self):
""""""
pass
+477
View File
@@ -0,0 +1,477 @@
"""Decorator classes for documentation and shell scripting.
"""
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
__cvsid__ = "$Id$"
__revision__ = "$Revision$"[11:-2]
# These are not the real wxPython classes. These are Python versions
# for documentation purposes. They are also used to apply docstrings
# to the real wxPython classes, which are SWIG-generated wrappers for
# C-language classes.
from Base import Object, EvtHandler
import Parameters as wx
from Window import Window
class FileHistory(Object):
""""""
def AddFileToHistory(self):
""""""
pass
def AddFilesToMenu(self):
""""""
pass
def AddFilesToThisMenu(self):
""""""
pass
def GetCount(self):
""""""
pass
def GetHistoryFile(self):
""""""
pass
def GetMaxFiles(self):
""""""
pass
def GetNoHistoryFiles(self):
""""""
pass
def Load(self):
""""""
pass
def RemoveFileFromHistory(self):
""""""
pass
def RemoveMenu(self):
""""""
pass
def Save(self):
""""""
pass
def UseMenu(self):
""""""
pass
def __del__(self):
""""""
pass
def __init__(self):
""""""
pass
class Menu(EvtHandler):
""""""
def Append(self):
""""""
pass
def AppendCheckItem(self):
""""""
pass
def AppendItem(self):
""""""
pass
def AppendMenu(self):
""""""
pass
def AppendRadioItem(self):
""""""
pass
def AppendSeparator(self):
""""""
pass
def Break(self):
""""""
pass
def Check(self):
""""""
pass
def Delete(self):
""""""
pass
def DeleteItem(self):
""""""
pass
def Destroy(self):
""""""
pass
def DestroyId(self):
""""""
pass
def DestroyItem(self):
""""""
pass
def Enable(self):
""""""
pass
def FindItem(self):
""""""
pass
def FindItemById(self):
""""""
pass
def GetEventHandler(self):
""""""
pass
def GetHelpString(self):
""""""
pass
def GetInvokingWindow(self):
""""""
pass
def GetLabel(self):
""""""
pass
def GetMenuItemCount(self):
""""""
pass
def GetMenuItems(self):
""""""
pass
def GetParent(self):
""""""
pass
def GetStyle(self):
""""""
pass
def GetTitle(self):
""""""
pass
def Insert(self):
""""""
pass
def InsertCheckItem(self):
""""""
pass
def InsertItem(self):
""""""
pass
def InsertMenu(self):
""""""
pass
def InsertRadioItem(self):
""""""
pass
def InsertSeparator(self):
""""""
pass
def IsAttached(self):
""""""
pass
def IsChecked(self):
""""""
pass
def IsEnabled(self):
""""""
pass
def Prepend(self):
""""""
pass
def PrependCheckItem(self):
""""""
pass
def PrependItem(self):
""""""
pass
def PrependMenu(self):
""""""
pass
def PrependRadioItem(self):
""""""
pass
def PrependSeparator(self):
""""""
pass
def Remove(self):
""""""
pass
def RemoveItem(self):
""""""
pass
def SetEventHandler(self):
""""""
pass
def SetHelpString(self):
""""""
pass
def SetInvokingWindow(self):
""""""
pass
def SetLabel(self):
""""""
pass
def SetParent(self):
""""""
pass
def SetTitle(self):
""""""
pass
def UpdateUI(self):
""""""
pass
def __init__(self):
""""""
pass
class MenuBar(Window):
""""""
def Append(self):
""""""
pass
def Check(self):
""""""
pass
def Enable(self):
""""""
pass
def EnableTop(self):
""""""
pass
def FindItemById(self):
""""""
pass
def FindMenu(self):
""""""
pass
def FindMenuItem(self):
""""""
pass
def GetHelpString(self):
""""""
pass
def GetLabel(self):
""""""
pass
def GetLabelTop(self):
""""""
pass
def GetMenu(self):
""""""
pass
def GetMenuCount(self):
""""""
pass
def Insert(self):
""""""
pass
def IsChecked(self):
""""""
pass
def IsEnabled(self):
""""""
pass
def IsEnabledTop(self):
""""""
pass
def Remove(self):
""""""
pass
def Replace(self):
""""""
pass
def SetHelpString(self):
""""""
pass
def SetLabel(self):
""""""
pass
def SetLabelTop(self):
""""""
pass
def __init__(self):
""""""
pass
class MenuItem(Object):
""""""
def Check(self):
""""""
pass
def Enable(self):
""""""
pass
def GetAccel(self):
""""""
pass
def GetBitmap(self):
""""""
pass
def GetHelp(self):
""""""
pass
def GetId(self):
""""""
pass
def GetKind(self):
""""""
pass
def GetLabel(self):
""""""
pass
def GetMenu(self):
""""""
pass
def GetSubMenu(self):
""""""
pass
def GetText(self):
""""""
pass
def IsCheckable(self):
""""""
pass
def IsChecked(self):
""""""
pass
def IsEnabled(self):
""""""
pass
def IsSeparator(self):
""""""
pass
def IsSubMenu(self):
""""""
pass
def SetAccel(self):
""""""
pass
def SetBitmap(self):
""""""
pass
def SetCheckable(self):
""""""
pass
def SetHelp(self):
""""""
pass
def SetId(self):
""""""
pass
def SetSubMenu(self):
""""""
pass
def SetText(self):
""""""
pass
def Toggle(self):
""""""
pass
def __init__(self):
""""""
pass
@@ -0,0 +1,185 @@
"""Decorator classes for documentation and shell scripting.
"""
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
__cvsid__ = "$Id$"
__revision__ = "$Revision$"[11:-2]
# These are not the real wxPython classes. These are Python versions
# for documentation purposes. They are also used to apply docstrings
# to the real wxPython classes, which are SWIG-generated wrappers for
# C-language classes.
import Parameters as wx
class FileType:
""""""
def GetAllCommands(self):
""""""
pass
def GetDescription(self):
""""""
pass
def GetExtensions(self):
""""""
pass
def GetIcon(self):
""""""
pass
def GetIconInfo(self):
""""""
pass
def GetMimeType(self):
""""""
pass
def GetMimeTypes(self):
""""""
pass
def GetOpenCommand(self):
""""""
pass
def GetPrintCommand(self):
""""""
pass
def SetCommand(self):
""""""
pass
def SetDefaultIcon(self):
""""""
pass
def Unassociate(self):
""""""
pass
def __del__(self):
""""""
pass
def __init__(self):
""""""
pass
class FileTypeInfo:
""""""
def GetDescription(self):
""""""
pass
def GetExtensions(self):
""""""
pass
def GetExtensionsCount(self):
""""""
pass
def GetIconFile(self):
""""""
pass
def GetIconIndex(self):
""""""
pass
def GetMimeType(self):
""""""
pass
def GetOpenCommand(self):
""""""
pass
def GetPrintCommand(self):
""""""
pass
def GetShortDesc(self):
""""""
pass
def IsValid(self):
""""""
pass
def SetIcon(self):
""""""
pass
def SetShortDesc(self):
""""""
pass
def __init__(self):
""""""
pass
class MimeTypesManager:
""""""
def AddFallback(self):
""""""
pass
def Associate(self):
""""""
pass
def ClearData(self):
""""""
pass
def EnumAllFileTypes(self):
""""""
pass
def GetFileTypeFromExtension(self):
""""""
pass
def GetFileTypeFromMimeType(self):
""""""
pass
def Initialize(self):
""""""
pass
def ReadMailcap(self):
""""""
pass
def ReadMimeTypes(self):
""""""
pass
def Unassociate(self):
""""""
pass
def __del__(self):
""""""
pass
def __init__(self):
""""""
pass
File diff suppressed because it is too large Load Diff
+240
View File
@@ -0,0 +1,240 @@
"""Decorator classes for documentation and shell scripting.
"""
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
__cvsid__ = "$Id$"
__revision__ = "$Revision$"[11:-2]
# These are not the real wxPython classes. These are Python versions
# for documentation purposes. They are also used to apply docstrings
# to the real wxPython classes, which are SWIG-generated wrappers for
# C-language classes.
import Parameters as wx
from Window import Window
try:
True
except NameError:
True = 1==1
False = 1==0
class Panel(Window):
""""""
def __init__(self, parent, id, pos=wx.DefaultPosition,
size=wx.DefaultSize, style=wx.TAB_TRAVERSAL,
name=wx.PyPanelNameStr):
""""""
pass
def Create(self, parent, id, pos=wx.DefaultPosition,
size=wx.DefaultSize, style=wx.TAB_TRAVERSAL,
name=wx.PyPanelNameStr):
""""""
pass
def InitDialog(self):
""""""
pass
class PyPanel(Panel):
""""""
def __init__(self):
""""""
pass
def _setCallbackInfo(self):
""""""
pass
def base_AcceptsFocus(self):
""""""
pass
def base_AcceptsFocusFromKeyboard(self):
""""""
pass
def base_AddChild(self):
""""""
pass
def base_DoGetBestSize(self):
""""""
pass
def base_DoGetClientSize(self):
""""""
pass
def base_DoGetPosition(self):
""""""
pass
def base_DoGetSize(self):
""""""
pass
def base_DoGetVirtualSize(self):
""""""
pass
def base_DoMoveWindow(self):
""""""
pass
def base_DoSetClientSize(self):
""""""
pass
def base_DoSetSize(self):
""""""
pass
def base_DoSetVirtualSize(self):
""""""
pass
def base_GetMaxSize(self):
""""""
pass
def base_InitDialog(self):
""""""
pass
def base_RemoveChild(self):
""""""
pass
def base_TransferDataFromWindow(self):
""""""
pass
def base_TransferDataToWindow(self):
""""""
pass
def base_Validate(self):
""""""
pass
class ScrolledWindow(Panel):
""""""
def __init__(self, parent, id=-1, pos=wx.DefaultPosition,
size=wx.DefaultSize, style=wx.HSCROLL|wx.VSCROLL,
name=wx.PyPanelNameStr):
""""""
pass
def Create(self, parent, id=-1, pos=wx.DefaultPosition,
size=wx.DefaultSize, style=wx.HSCROLL|wx.VSCROLL,
name=wx.PyPanelNameStr):
""""""
pass
def AdjustScrollbars(self):
""""""
pass
def CalcScrolledPosition(self, *args):
"""*args can be a point or (x, y) tuple"""
pass
def CalcScrolledPosition1(self, pt):
""""""
pass
def CalcScrolledPosition2(self, x, y):
""""""
pass
def CalcUnscrolledPosition(self, *args):
"""*args can be a point or (x, y) tuple"""
pass
def CalcUnscrolledPosition1(self, pt):
""""""
pass
def CalcUnscrolledPosition2(self, x, y):
""""""
pass
def EnableScrolling(self, xScrolling, yScrolling):
""""""
pass
def GetScaleX(self):
""""""
pass
def GetScaleY(self):
""""""
pass
def GetScrollPageSize(self, orient):
""""""
pass
def GetScrollPixelsPerUnit(self):
""""""
pass
def GetTargetWindow(self):
""""""
pass
def GetViewStart(self):
""""""
pass
def IsRetained(self):
""""""
pass
def Layout(self):
""""""
pass
def PrepareDC(self, dc):
""""""
pass
def Scroll(self, x, y):
""""""
pass
def SetScale(self, xs, ys):
""""""
pass
def SetScrollPageSize(self, orient, pageSize):
""""""
pass
def SetScrollRate(self, xstep, ystep):
"""Set the x, y scrolling increments."""
pass
def SetScrollbars(self, pixelsPerUnitX, pixelsPerUnitY,
noUnitsX, noUnitsY, xPos=0, yPos=0, noRefresh=False):
""""""
pass
def SetTargetWindow(self, window):
""""""
pass
def ViewStart(self):
""""""
pass
@@ -0,0 +1,68 @@
"""Decorator classes for documentation and shell scripting.
"""
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
__cvsid__ = "$Id$"
__revision__ = "$Revision$"[11:-2]
# These are not the real wxPython classes. These are Python versions
# for documentation purposes. They are also used to apply docstrings
# to the real wxPython classes, which are SWIG-generated wrappers for
# C-language classes.
class _Param:
"""Used by this module to represent default wxPython parameter values,
including parameter representations like style=wx.HSCROLL|wx.VSCROLL."""
def __init__(self, value=None):
if value is None:
value = 'wx.' + self.__class__.__name__
self.value = value
def __repr__(self):
return self.value
def __or__(self, other):
value = '%s|%s' % (self, other)
return self.__class__(value)
_params = (
'BOTH',
'DEFAULT_FRAME_STYLE',
'DefaultPosition',
'DefaultSize',
'DefaultValidator',
'EmptyString',
'EVT_NULL',
'HSCROLL',
'NO_BORDER',
'NULL',
'NullColour',
'PyFrameNameStr',
'PyNOTEBOOK_NAME',
'PyPanelNameStr',
'PyStatusLineNameStr',
'PySTCNameStr',
'PyToolBarNameStr',
'SIZE_AUTO',
'SIZE_USE_EXISTING',
'ST_SIZEGRIP',
'TAB_TRAVERSAL',
'TB_HORIZONTAL',
'VSCROLL',
)
## Create classes, then instances, like this:
## class BOTH(Param): pass
## BOTH = BOTH()
for _param in _params:
exec 'class %s(_Param): pass' % _param
exec '%s = %s()' % (_param, _param)
del _param
del _params
del _Param
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,77 @@
"""Decorator classes for documentation and shell scripting.
"""
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
__cvsid__ = "$Id$"
__revision__ = "$Revision$"[11:-2]
# These are not the real wxPython classes. These are Python versions
# for documentation purposes. They are also used to apply docstrings
# to the real wxPython classes, which are SWIG-generated wrappers for
# C-language classes.
from Base import EvtHandler
class Process(EvtHandler):
""""""
def CloseOutput(self):
""""""
pass
def Destroy(self):
""""""
pass
def Detach(self):
""""""
pass
def GetErrorStream(self):
""""""
pass
def GetInputStream(self):
""""""
pass
def GetOutputStream(self):
""""""
pass
def IsErrorAvailable(self):
""""""
pass
def IsInputAvailable(self):
""""""
pass
def IsInputOpened(self):
""""""
pass
def IsRedirected(self):
""""""
pass
def Redirect(self):
""""""
pass
def __init__(self):
""""""
pass
def _setCallbackInfo(self):
""""""
pass
def base_OnTerminate(self):
""""""
pass
@@ -0,0 +1,226 @@
"""Decorator classes for documentation and shell scripting.
"""
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
__cvsid__ = "$Id$"
__revision__ = "$Revision$"[11:-2]
# These are not the real wxPython classes. These are Python versions
# for documentation purposes. They are also used to apply docstrings
# to the real wxPython classes, which are SWIG-generated wrappers for
# C-language classes.
import Parameters as wx
from Window import Window
class SashWindow(Window):
""""""
def Create(self):
""""""
pass
def GetDefaultBorderSize(self):
""""""
pass
def GetEdgeMargin(self):
""""""
pass
def GetExtraBorderSize(self):
""""""
pass
def GetMaximumSizeX(self):
""""""
pass
def GetMaximumSizeY(self):
""""""
pass
def GetMinimumSizeX(self):
""""""
pass
def GetMinimumSizeY(self):
""""""
pass
def GetSashVisible(self):
""""""
pass
def HasBorder(self):
""""""
pass
def SetDefaultBorderSize(self):
""""""
pass
def SetExtraBorderSize(self):
""""""
pass
def SetMaximumSizeX(self):
""""""
pass
def SetMaximumSizeY(self):
""""""
pass
def SetMinimumSizeX(self):
""""""
pass
def SetMinimumSizeY(self):
""""""
pass
def SetSashBorder(self):
""""""
pass
def SetSashVisible(self):
""""""
pass
def __init__(self):
""""""
pass
class SashLayoutWindow(SashWindow):
""""""
def Create(self):
""""""
pass
def GetAlignment(self):
""""""
pass
def GetOrientation(self):
""""""
pass
def SetAlignment(self):
""""""
pass
def SetDefaultSize(self):
""""""
pass
def SetOrientation(self):
""""""
pass
def __init__(self):
""""""
pass
class SplitterWindow(Window):
""""""
def Create(self):
""""""
pass
def GetBorderSize(self):
""""""
pass
def GetMinimumPaneSize(self):
""""""
pass
def GetNeedUpdating(self):
""""""
pass
def GetSashPosition(self):
""""""
pass
def GetSashSize(self):
""""""
pass
def GetSplitMode(self):
""""""
pass
def GetWindow1(self):
""""""
pass
def GetWindow2(self):
""""""
pass
def Initialize(self):
""""""
pass
def IsSplit(self):
""""""
pass
def ReplaceWindow(self):
""""""
pass
def SetBorderSize(self):
""""""
pass
def SetMinimumPaneSize(self):
""""""
pass
def SetNeedUpdating(self):
""""""
pass
def SetSashPosition(self):
""""""
pass
def SetSashSize(self):
""""""
pass
def SetSplitMode(self):
""""""
pass
def SizeWindows(self):
""""""
pass
def SplitHorizontally(self):
""""""
pass
def SplitVertically(self):
""""""
pass
def Unsplit(self):
""""""
pass
def __init__(self):
""""""
pass
+488
View File
@@ -0,0 +1,488 @@
"""Decorator classes for documentation and shell scripting.
"""
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
__cvsid__ = "$Id$"
__revision__ = "$Revision$"[11:-2]
# These are not the real wxPython classes. These are Python versions
# for documentation purposes. They are also used to apply docstrings
# to the real wxPython classes, which are SWIG-generated wrappers for
# C-language classes.
from Base import Object
import Parameters as wx
class Sizer(Object):
""""""
def Add(self):
""""""
pass
def AddMany(self):
""""""
pass
def AddSizer(self):
""""""
pass
def AddSpacer(self):
""""""
pass
def AddWindow(self):
""""""
pass
def Clear(self):
""""""
pass
def DeleteWindows(self):
""""""
pass
def Destroy(self):
""""""
pass
def Fit(self):
""""""
pass
def FitInside(self):
""""""
pass
def GetChildren(self):
""""""
pass
def GetMinSize(self):
""""""
pass
def GetMinSizeTuple(self):
""""""
pass
def GetPosition(self):
""""""
pass
def GetPositionTuple(self):
""""""
pass
def GetSize(self):
""""""
pass
def GetSizeTuple(self):
""""""
pass
def Hide(self):
""""""
pass
def HideSizer(self):
""""""
pass
def HideWindow(self):
""""""
pass
def Insert(self):
""""""
pass
def InsertSizer(self):
""""""
pass
def InsertSpacer(self):
""""""
pass
def InsertWindow(self):
""""""
pass
def IsShown(self):
""""""
pass
def IsShownSizer(self):
""""""
pass
def IsShownWindow(self):
""""""
pass
def Layout(self):
""""""
pass
def Prepend(self):
""""""
pass
def PrependSizer(self):
""""""
pass
def PrependSpacer(self):
""""""
pass
def PrependWindow(self):
""""""
pass
def Remove(self):
""""""
pass
def RemovePos(self):
""""""
pass
def RemoveSizer(self):
""""""
pass
def RemoveWindow(self):
""""""
pass
def SetDimension(self):
""""""
pass
def SetItemMinSize(self):
""""""
pass
def SetItemMinSizePos(self):
""""""
pass
def SetItemMinSizeSizer(self):
""""""
pass
def SetItemMinSizeWindow(self):
""""""
pass
def SetMinSize(self):
""""""
pass
def SetSizeHints(self):
""""""
pass
def SetVirtualSizeHints(self):
""""""
pass
def Show(self):
""""""
pass
def ShowItems(self):
""""""
pass
def ShowSizer(self):
""""""
pass
def ShowWindow(self):
""""""
pass
def __init__(self):
""""""
pass
def _setOORInfo(self):
""""""
pass
class SizerItem(Object):
""""""
def CalcMin(self):
""""""
pass
def DeleteWindows(self):
""""""
pass
def GetBorder(self):
""""""
pass
def GetFlag(self):
""""""
pass
def GetOption(self):
""""""
pass
def GetPosition(self):
""""""
pass
def GetRatio(self):
""""""
pass
def GetSize(self):
""""""
pass
def GetSizer(self):
""""""
pass
def GetUserData(self):
""""""
pass
def GetWindow(self):
""""""
pass
def IsShown(self):
""""""
pass
def IsSizer(self):
""""""
pass
def IsSpacer(self):
""""""
pass
def IsWindow(self):
""""""
pass
def SetBorder(self):
""""""
pass
def SetDimension(self):
""""""
pass
def SetFlag(self):
""""""
pass
def SetInitSize(self):
""""""
pass
def SetOption(self):
""""""
pass
def SetRatio(self):
""""""
pass
def SetRatioSize(self):
""""""
pass
def SetRatioWH(self):
""""""
pass
def SetSizer(self):
""""""
pass
def SetWindow(self):
""""""
pass
def Show(self):
""""""
pass
def __init__(self):
""""""
pass
class BoxSizer(Sizer):
""""""
def CalcMin(self):
""""""
pass
def GetOrientation(self):
""""""
pass
def RecalcSizes(self):
""""""
pass
def SetOrientation(self):
""""""
pass
def __init__(self):
""""""
pass
class GridSizer(Sizer):
""""""
def CalcMin(self):
""""""
pass
def GetCols(self):
""""""
pass
def GetHGap(self):
""""""
pass
def GetRows(self):
""""""
pass
def GetVGap(self):
""""""
pass
def RecalcSizes(self):
""""""
pass
def SetCols(self):
""""""
pass
def SetHGap(self):
""""""
pass
def SetRows(self):
""""""
pass
def SetVGap(self):
""""""
pass
def __init__(self):
""""""
pass
class FlexGridSizer(GridSizer):
""""""
def AddGrowableCol(self):
""""""
pass
def AddGrowableRow(self):
""""""
pass
def CalcMin(self):
""""""
pass
def RecalcSizes(self):
""""""
pass
def RemoveGrowableCol(self):
""""""
pass
def RemoveGrowableRow(self):
""""""
pass
def __init__(self):
""""""
pass
class NotebookSizer(Sizer):
""""""
def CalcMin(self):
""""""
pass
def GetNotebook(self):
""""""
pass
def RecalcSizes(self):
""""""
pass
def __init__(self):
""""""
pass
class PySizer(Sizer):
""""""
def __init__(self):
""""""
pass
def _setCallbackInfo(self):
""""""
pass
class StaticBoxSizer(BoxSizer):
""""""
def CalcMin(self):
""""""
pass
def GetStaticBox(self):
""""""
pass
def RecalcSizes(self):
""""""
pass
def __init__(self):
""""""
pass
@@ -0,0 +1,96 @@
"""Decorator classes for documentation and shell scripting.
"""
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
__cvsid__ = "$Id$"
__revision__ = "$Revision$"[11:-2]
# These are not the real wxPython classes. These are Python versions
# for documentation purposes. They are also used to apply docstrings
# to the real wxPython classes, which are SWIG-generated wrappers for
# C-language classes.
class InputStream:
""""""
def CanRead(self):
""""""
pass
def Eof(self):
""""""
pass
def GetC(self):
""""""
pass
def LastRead(self):
""""""
pass
def Peek(self):
""""""
pass
def SeekI(self):
""""""
pass
def TellI(self):
""""""
pass
def Ungetch(self):
""""""
pass
def __init__(self):
""""""
pass
def close(self):
""""""
pass
def eof(self):
""""""
pass
def flush(self):
""""""
pass
def read(self):
""""""
pass
def readline(self):
""""""
pass
def readlines(self):
""""""
pass
def seek(self):
""""""
pass
def tell(self):
""""""
pass
class OutputStream:
""""""
def __init__(self):
""""""
pass
def write(self):
""""""
pass
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,26 @@
"""Decorator classes for documentation and shell scripting.
"""
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
__cvsid__ = "$Id$"
__revision__ = "$Revision$"[11:-2]
# These are not the real wxPython classes. These are Python versions
# for documentation purposes. They are also used to apply docstrings
# to the real wxPython classes, which are SWIG-generated wrappers for
# C-language classes.
class MutexGuiLocker:
""""""
def __del__(self):
""""""
pass
def __init__(self):
""""""
pass

Some files were not shown because too many files have changed in this diff Show More