Show More
@@ -66,7 +66,7 b' class LineFrontEndBase(FrontEndBase):' | |||||
66 | # FrontEndBase interface |
|
66 | # FrontEndBase interface | |
67 | #-------------------------------------------------------------------------- |
|
67 | #-------------------------------------------------------------------------- | |
68 |
|
68 | |||
69 | def __init__(self, shell=None, history=None): |
|
69 | def __init__(self, shell=None, history=None, *args, **kwargs): | |
70 | if shell is None: |
|
70 | if shell is None: | |
71 | shell = Interpreter() |
|
71 | shell = Interpreter() | |
72 | FrontEndBase.__init__(self, shell=shell, history=history) |
|
72 | FrontEndBase.__init__(self, shell=shell, history=history) |
@@ -66,10 +66,10 b' class IPythonX(wx.Frame):' | |||||
66 | """ Main frame of the IPythonX app. |
|
66 | """ Main frame of the IPythonX app. | |
67 | """ |
|
67 | """ | |
68 |
|
68 | |||
69 | def __init__(self, parent, id, title): |
|
69 | def __init__(self, parent, id, title, debug=False): | |
70 | wx.Frame.__init__(self, parent, id, title, size=(300,250)) |
|
70 | wx.Frame.__init__(self, parent, id, title, size=(300,250)) | |
71 | self._sizer = wx.BoxSizer(wx.VERTICAL) |
|
71 | self._sizer = wx.BoxSizer(wx.VERTICAL) | |
72 | self.shell = IPythonXController(self) |
|
72 | self.shell = IPythonXController(self, debug=debug) | |
73 | self._sizer.Add(self.shell, 1, wx.EXPAND) |
|
73 | self._sizer.Add(self.shell, 1, wx.EXPAND) | |
74 | self.SetSizer(self._sizer) |
|
74 | self.SetSizer(self._sizer) | |
75 | self.SetAutoLayout(1) |
|
75 | self.SetAutoLayout(1) | |
@@ -93,8 +93,7 b' Simple graphical frontend to IPython, using WxWidgets."""' | |||||
93 | sys.argv = sys.argv[:1] |
|
93 | sys.argv = sys.argv[:1] | |
94 |
|
94 | |||
95 | app = wx.PySimpleApp() |
|
95 | app = wx.PySimpleApp() | |
96 | frame = IPythonX(None, wx.ID_ANY, 'IPythonX') |
|
96 | frame = IPythonX(None, wx.ID_ANY, 'IPythonX', debug=options.debug) | |
97 | frame.shell.debug = options.debug |
|
|||
98 | frame.shell.SetFocus() |
|
97 | frame.shell.SetFocus() | |
99 | frame.shell.app = app |
|
98 | frame.shell.app = app | |
100 | frame.SetSize((680, 460)) |
|
99 | frame.SetSize((680, 460)) |
@@ -140,7 +140,7 b' class WxController(ConsoleWidget, PrefilterFrontEnd):' | |||||
140 | """ Create Shell instance. |
|
140 | """ Create Shell instance. | |
141 | """ |
|
141 | """ | |
142 | ConsoleWidget.__init__(self, parent, id, pos, size, style) |
|
142 | ConsoleWidget.__init__(self, parent, id, pos, size, style) | |
143 | PrefilterFrontEnd.__init__(self) |
|
143 | PrefilterFrontEnd.__init__(self, **kwds) | |
144 |
|
144 | |||
145 | # Marker for complete buffer. |
|
145 | # Marker for complete buffer. | |
146 | self.MarkerDefine(_COMPLETE_BUFFER_MARKER, stc.STC_MARK_BACKGROUND, |
|
146 | self.MarkerDefine(_COMPLETE_BUFFER_MARKER, stc.STC_MARK_BACKGROUND, | |
@@ -157,6 +157,10 b' class WxController(ConsoleWidget, PrefilterFrontEnd):' | |||||
157 | self._buffer_flush_timer = wx.Timer(self, BUFFER_FLUSH_TIMER_ID) |
|
157 | self._buffer_flush_timer = wx.Timer(self, BUFFER_FLUSH_TIMER_ID) | |
158 | wx.EVT_TIMER(self, BUFFER_FLUSH_TIMER_ID, self._buffer_flush) |
|
158 | wx.EVT_TIMER(self, BUFFER_FLUSH_TIMER_ID, self._buffer_flush) | |
159 |
|
159 | |||
|
160 | if 'debug' in kwds: | |||
|
161 | self.debug = kwds['debug'] | |||
|
162 | kwds.pop('debug') | |||
|
163 | ||||
160 | # Inject self in namespace, for debug |
|
164 | # Inject self in namespace, for debug | |
161 | if self.debug: |
|
165 | if self.debug: | |
162 | self.shell.user_ns['self'] = self |
|
166 | self.shell.user_ns['self'] = self | |
@@ -167,6 +171,8 b' class WxController(ConsoleWidget, PrefilterFrontEnd):' | |||||
167 | """ |
|
171 | """ | |
168 | self.new_prompt(prompt) |
|
172 | self.new_prompt(prompt) | |
169 | self._input_state = 'raw_input' |
|
173 | self._input_state = 'raw_input' | |
|
174 | del self._cursor | |||
|
175 | self.SetCursor(wx.StockCursor(wx.CURSOR_CROSS)) | |||
170 | self.waiting = True |
|
176 | self.waiting = True | |
171 | self.__old_on_enter = self._on_enter |
|
177 | self.__old_on_enter = self._on_enter | |
172 | def my_on_enter(): |
|
178 | def my_on_enter(): | |
@@ -178,6 +184,7 b' class WxController(ConsoleWidget, PrefilterFrontEnd):' | |||||
178 | sleep(0.1) |
|
184 | sleep(0.1) | |
179 | self._on_enter = self.__old_on_enter |
|
185 | self._on_enter = self.__old_on_enter | |
180 | self._input_state = 'buffering' |
|
186 | self._input_state = 'buffering' | |
|
187 | self._cursor = wx.BusyCursor() | |||
181 | return self.input_buffer.rstrip('\n') |
|
188 | return self.input_buffer.rstrip('\n') | |
182 |
|
189 | |||
183 |
|
190 | |||
@@ -214,9 +221,9 b' class WxController(ConsoleWidget, PrefilterFrontEnd):' | |||||
214 | symbol = __builtin__.__dict__[base_symbol_string] |
|
221 | symbol = __builtin__.__dict__[base_symbol_string] | |
215 | else: |
|
222 | else: | |
216 | return False |
|
223 | return False | |
217 | for name in symbol_string.split('.')[1:] + ['__doc__']: |
|
|||
218 | symbol = getattr(symbol, name) |
|
|||
219 | try: |
|
224 | try: | |
|
225 | for name in symbol_string.split('.')[1:] + ['__doc__']: | |||
|
226 | symbol = getattr(symbol, name) | |||
220 | self.AutoCompCancel() |
|
227 | self.AutoCompCancel() | |
221 | wx.Yield() |
|
228 | wx.Yield() | |
222 | self.CallTipShow(self.GetCurrentPos(), symbol) |
|
229 | self.CallTipShow(self.GetCurrentPos(), symbol) | |
@@ -299,6 +306,7 b' class WxController(ConsoleWidget, PrefilterFrontEnd):' | |||||
299 | # Clear the wait cursor |
|
306 | # Clear the wait cursor | |
300 | if hasattr(self, '_cursor'): |
|
307 | if hasattr(self, '_cursor'): | |
301 | del self._cursor |
|
308 | del self._cursor | |
|
309 | self.SetCursor(wx.StockCursor(wx.CURSOR_CHAR)) | |||
302 |
|
310 | |||
303 |
|
311 | |||
304 | def show_traceback(self): |
|
312 | def show_traceback(self): |
General Comments 0
You need to be logged in to leave comments.
Login now