]>
git.saurik.com Git - wxWidgets.git/blob - wxPython/wxPython/lib/PyCrust/crust.py
d45941a05a3666b8a08d9eb676e456932f9e331c
1 """PyCrust Crust combines the shell and filling into one control."""
3 __author__
= "Patrick K. O'Brien <pobrien@orbtech.com>"
5 __date__
= "July 1, 2001"
6 __version__
= "$Revision$"[11:-2]
8 from wxPython
.wx
import *
9 from shell
import Shell
10 from filling
import Filling
11 from version
import VERSION
14 class Crust(wxSplitterWindow
):
15 """PyCrust Crust based on wxSplitterWindow."""
17 name
= 'PyCrust Crust'
18 revision
= __version__
20 def __init__(self
, parent
, id=-1, pos
=wxDefaultPosition
, \
21 size
=wxDefaultSize
, style
=wxSP_3D
, name
='Crust Window', \
22 ingredients
=None, rootLabel
=None, intro
='', locals=None, \
23 InterpClass
=None, *args
, **kwds
):
24 """Create a PyCrust Crust instance."""
25 wxSplitterWindow
.__init
__(self
, parent
, id, pos
, size
, style
, name
)
26 self
.shell
= Shell(parent
=self
, introText
=intro
, \
27 locals=locals, InterpClass
=InterpClass
, \
29 self
.filling
= Filling(parent
=self
, \
30 ingredients
=self
.shell
.interp
.locals, \
32 """Add 'filling' to the interpreter's locals."""
33 self
.shell
.interp
.locals['filling'] = self
.filling
34 self
.SplitHorizontally(self
.shell
, self
.filling
, 300)
35 # Set focus to the shell editor. Doesn't always work as intended.
39 class CrustFrame(wxFrame
):
40 """Frame containing all the PyCrust components."""
42 name
= 'PyCrust Frame'
43 revision
= __version__
45 def __init__(self
, parent
=None, id=-1, title
='PyCrust', \
46 ingredients
=None, rootLabel
=None, locals=None, \
47 InterpClass
=None, *args
, **kwds
):
48 """Create a PyCrust CrustFrame instance."""
49 wxFrame
.__init
__(self
, parent
, id, title
)
50 intro
= 'Welcome To PyCrust %s - The Flakiest Python Shell' % VERSION
51 self
.CreateStatusBar()
52 self
.SetStatusText(intro
)
53 if wxPlatform
== '__WXMSW__':
54 icon
= wxIcon('PyCrust.ico', wxBITMAP_TYPE_ICO
)
56 self
.crust
= Crust(parent
=self
, intro
=intro
, \
57 ingredients
=ingredients
, \
58 rootLabel
=rootLabel
, locals=locals, \
59 InterpClass
=InterpClass
, *args
, **kwds
)
60 # Override the filling so that status messages go to the status bar.
61 self
.crust
.filling
.fillingTree
.setStatusText
= self
.SetStatusText
62 # Override the shell so that status messages go to the status bar.
63 self
.crust
.shell
.setStatusText
= self
.SetStatusText
64 # Set focus to the shell editor. Doesn't always work as intended.
65 self
.crust
.shell
.SetFocus()