##// END OF EJS Templates
Tweak the debug mode....
gvaroquaux -
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