;ò
ÎÑAHc           @   sZ  d  Z  d Z d Z d Z d Z d k Z d k i Z d k Z d k	 Z	 d k
 Z
 d k l Z y d k Z Wn% e j
 o Z d e e ƒ ‚ n Xd k l Z d	 e f d
 „  ƒ  YZ d e i f d „  ƒ  YZ d e i f d „  ƒ  YZ e d j od d e i f d „  ƒ  YZ e i ƒ  Z e e e i d ƒ Z e i d d f ƒ e i  Z  e i! ƒ  n d S(   s9  
Provides IPython WX console widgets.

@author: Laurent Dufrechou
laurent.dufrechou _at_ gmail.com
This WX widget is based on the original work of Eitan Isaacson
that provided the console for the GTK toolkit.

Original work from:
@author: Eitan Isaacson
@organization: IBM Corporation
@copyright: Copyright (c) 2007 IBM Corporation
@license: BSD

All rights reserved. This program and the accompanying materials are made
available under the terms of the BSD which accompanies this distribution, and
is available at U{http://www.opensource.org/licenses/bsd-license.php}
f0.80000000000000004s   Laurent Dufrechous    laurent.dufrechou _at_ gmail.coms   BSDN(   s   StringIOs   Error importing IPython (%s)(   s   NonBlockingIPShells   WxNonBlockingIPShellc           B   sG   t  Z d  Z g  h  e e e e e d „ Z d „  Z d „  Z d „  Z RS(   s<   
    An NonBlockingIPShell Thread that is WX dependent.
    c	   	   	   C   sG   t  i |  | | | | | | | ƒ | |  _
 | |  _ |  i |  i _ d  S(   N(   s   NonBlockingIPShells   __init__s   selfs   argvs   user_nss   user_global_nss   cins   couts   cerrs   ask_exit_handlers   parents   ask_exit_callbacks   _askExits   _IPs   exit(	   s   selfs   parents   argvs   user_nss   user_global_nss   cins   couts   cerrs   ask_exit_handler(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   __init__-   s    			c         C   s;   t  i |  i i d h  d | <d |  i i | ƒ <ƒd  S(   Ns   button_infos   texts   func(   s   wxs	   CallAfters   selfs   parents   add_button_handlers   texts   doExecuteLines   func(   s   selfs   texts   func(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   addGUIShortcut;   s    c         C   s   t  i |  i f  ƒ d  S(   N(   s   wxs	   CallAfters   selfs   ask_exit_callback(   s   self(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   _askExit@   s    c         C   s   t  i |  i i f  ƒ d  S(   N(   s   wxs	   CallAfters   selfs   parents   evtStateExecuteDone(   s   self(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   _afterExecuteC   s    (   s   __name__s
   __module__s   __doc__s   Nones   __init__s   addGUIShortcuts   _askExits   _afterExecute(    (    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   WxNonBlockingIPShell)   s
    		s   WxConsoleViewc           B   s  t  Z d  Z h  d d d g <d d d g <d d d	 g <d
 d d g <d d d g <d d d g <d d d g <d d d g <d d d g <d d d g <d d d  g <d! d" d# g <d$ d% d& g <d' d( d) g <d* d+ d, g <d- d. d# g <Z h  d d d/ g <d d d g <d d d	 g <d
 d d g <d d d g <d d d g <d d d g <d d d g <d d d g <d d d g <d d d  g <d! d" d# g <d$ d% d& g <d' d( d) g <d* d+ d, g <d- d. d# g <Z d0 d/ e i d1 e i d d2 d3 „ Z d4 „  Z	 d5 „  Z
 d6 „  Z d7 „  Z d8 „  Z d9 „  Z d: „  Z d; „  Z d< „  Z d= „  Z d> „  Z d? „  Z d@ „  Z dA „  Z dB „  Z dC „  Z dD „  Z dE „  Z dF „  Z dG „  Z dH „  Z dI „  Z dJ „  Z dK „  Z  dL „  Z! e" dM „ Z# dN „  Z$ RS(O   sN  
    Specialized styled text control view for console-like workflow.
    We use here a scintilla frontend thus it can be reused in any GUI that 
    supports scintilla with less work.

    @cvar ANSI_COLORS_BLACK: Mapping of terminal colors to X11 names.
                    (with Black background)
    @type ANSI_COLORS_BLACK: dictionary

    @cvar ANSI_COLORS_WHITE: Mapping of terminal colors to X11 names.
                    (with White background)
    @type ANSI_COLORS_WHITE: dictionary

    @ivar color_pat: Regex of terminal color pattern
    @type color_pat: _sre.SRE_Pattern
    s   0;30i    s   WHITEs   0;31i   s   REDs   0;32i   s   GREENs   0;33i   s   BROWNs   0;34i   s   BLUEs   0;35i   s   PURPLEs   0;36i   s   CYANs   0;37i   s
   LIGHT GREYs   1;30i   s	   DARK GREYs   1;31i	   s   1;32i
   s	   SEA GREENs   1;33i   s   YELLOWs   1;34i   s
   LIGHT BLUEs   1;35i   s   MEDIUM VIOLET REDs   1;36i   s   LIGHT STEEL BLUEs   1;37i   s   BLACKs    iÿÿÿÿs   IPYTHONc
   
      C   sŒ  t  i i |  | | | | | ƒ |  i	 t
 d ƒ t  i t  i ƒ |  i	 t
 d ƒ t  i t  i ƒ |  i t  i ƒ |  i d ƒ |  i t i ƒ |  i t  i ƒ |  i t ƒ |  i t  i ƒ |  i t ƒ |  i ƒ  |  i d d ƒ |  i d d ƒ |  i d d ƒ |  i d d ƒ | |  _ |  i  ƒ  d |  _! d |  _" t# i$ d ƒ |  _% |  i& | ƒ |  i( | ƒ |  i* ƒ  |	 |  _+ |  i, t i- |  i. ƒ d	 S(
   sI  
        Initialize console view.

        @param parent: Parent widget
        @param prompt: User specified prompt
        @type intro: string
        @param intro: User specified startup introduction string
        @type intro: string
        @param background_color: Can be BLACK or WHITE
        @type background_color: string
        @param other: init param of styledTextControl (can be used as-is)
        @param autocomplete_mode: Can be 'IPYTHON' or 'STC'
            'IPYTHON' show autocompletion the ipython way
            'STC" show it scintilla text control way
        s   Bs   NiP   i   i    i   i   s   ?\[(.*?)m?N(/   s   stcs   StyledTextCtrls   __init__s   selfs   parents   IDs   poss   sizes   styles   CmdKeyAssigns   ords   STC_SCMOD_CTRLs   STC_CMD_ZOOMINs   STC_CMD_ZOOMOUTs   SetEdgeModes   STC_EDGE_LINEs   SetEdgeColumns   SetEdgeColours   wxs
   LIGHT_GREYs
   SetEOLModes   STC_EOL_CRLFs   SetBufferedDraws   Trues   SetLayoutCaches   STC_CACHE_PAGEs   SetUndoCollections   Falses   EnsureCaretVisibles
   SetMarginss   SetMarginWidths   background_colors   buildStyless   indents   prompt_counts   res   compiles	   color_pats   writes   intros	   setPrompts   prompts
   showPrompts   autocomplete_modes   Binds   EVT_KEY_DOWNs   _onKeypress(
   s   selfs   parents   prompts   intros   background_colors   poss   IDs   sizes   styles   autocomplete_mode(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   __init__l   s4     
	
		
	c         C   sÎ  t  i d j o@ h  d d <d d <d d <d d	 <d
 d <d d <} n t  i d j o@ h  d d <d d <d d <d d	 <d
 d <d d <} n= h  d d <d d <d d <d d <d
 d <d d <} |  i d j o& d |  _ |  i d ƒ |  i |  _ n |  i d ƒ |  i |  _ |  i	 t
 i d |  i d d |  i | d
 | d f ƒ |  i ƒ  |  i	 t
 i d ƒ |  i	 t
 i d ƒ x3 |  i i ƒ  D]" } |  i	 | d d | d ƒ q¤Wd  S(   Ns	   __WXMSW__s   timess   Times New Romans   monos   Courier News   helvs   Arials   others   Comic Sans MSs   sizei
   s   size2i   s	   __WXMAC__s   Monacos   Timess   Couriers	   Helveticas   new century schoolbooks   BLACKs   WHITEs   fore:%s,back:%s,size:%d,face:%ss   0;30i   s   fore:#FF0000,back:#0000FF,bolds   fore:#000000,back:#FF0000,boldi    s   bold,fore:%s(   s   wxs   Platforms   facess   selfs   background_colors   SetCaretForegrounds   ANSI_STYLES_WHITEs   ANSI_STYLESs   ANSI_STYLES_BLACKs   StyleSetSpecs   stcs   STC_STYLE_DEFAULTs   StyleClearAlls   STC_STYLE_BRACELIGHTs   STC_STYLE_BRACEBADs   valuess   style(   s   selfs   facess   style(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   buildStyles­   s*    @@<		-
 c         C   s   | |  _ |  i ƒ  d  S(   N(   s   colors   selfs   background_colors   buildStyles(   s   selfs   color(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   setBackgroundColorá   s    	c         C   s   |  i Sd  S(   N(   s   selfs   background_color(   s   selfs   color(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   getBackgroundColorå   s    c         C   sO   y t  i ƒ  |  i | ƒ Wn# t j
 o t  i ƒ  t ‚ n Xt  i ƒ  d S(   sÈ   
        Write given text to buffer in an asynchroneous way.
        It is used from another thread to be able to acces the GUI.
        @param text: Text to append
        @type text: string
        N(   s   wxs   MutexGuiEnters   selfs   writes   texts   KeyboardInterrupts   MutexGuiLeave(   s   selfs   text(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys
   asyncWriteè   s     

c         C   s
  |  i i | ƒ } | i d ƒ } |  i |  i ƒ  d ƒ |  i	 | ƒ | o¨ |  i i
 | ƒ } x“ | D]‡ } | i | ƒ } |  i |  i ƒ  d ƒ |  i	 | | d ƒ | d j o- |  i t | | d ƒ |  i | d ƒ n | i | ƒ qd Wn |  i |  i ƒ  ƒ d S(   sn   
        Write given text to buffer.

        @param text: Text to append.
        @type text: string
        i    iÿ   i   s   0N(   s   selfs	   color_pats   splits   texts   segmentss   pops   segments   StartStylings   getCurrentLineEnds
   AppendTexts   findalls	   ansi_tagss   tags   indexs   is
   SetStylings   lens   ANSI_STYLESs
   moveCursor(   s   selfs   texts   is   tags	   ansi_tagss   segments   segments(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   write  s       -c         C   s   t  t |  i ƒ ƒ d Sd S(   s5   
        Return the length of current prompt
        i   N(   s   lens   strs   selfs   prompt_count(   s   self(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   getPromptLen  s     c         C   s   | |  _  d  S(   N(   s   prompts   self(   s   selfs   prompt(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys	   setPrompt#  s    c         C   s   | |  _ d  S(   N(   s   indentations   selfs   indent(   s   selfs   indentation(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   setIndentation&  s    c         C   s   | |  _ d  S(   N(   s   counts   selfs   prompt_count(   s   selfs   count(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   setPromptCount)  s    c         C   sO   |  i |  i ƒ |  i ƒ  |  _ |  i d } | i d d ƒ } |  i | ƒ d S(   sw   
        Prints prompt at start of line.

        @param prompt: Prompt to print.
        @type prompt: string
        s    s       s   	N(   s   selfs   writes   prompts   getCurrentLineEnds   current_starts   indents
   autoindents   replace(   s   selfs
   autoindent(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys
   showPrompt,  s     c         C   s@   |  i |  i ƒ  |  i ƒ  ƒ |  i | ƒ |  i |  i ƒ  ƒ d S(   s–   
        Replace currently entered command line with given text.

        @param text: Text to use as replacement.
        @type text: string
        N(   s   selfs   SetSelections   getCurrentPromptStarts   getCurrentLineEnds   ReplaceSelections   texts
   moveCursor(   s   selfs   text(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys
   changeLine;  s     c         C   s   |  i Sd  S(   N(   s   selfs   current_start(   s   self(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   getCurrentPromptStartF  s    c         C   s    |  i |  i |  i ƒ  ƒ ƒ Sd  S(   N(   s   selfs   GotoLines   LineFromPositions   GetCurrentPos(   s   self(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   getCurrentLineStartI  s    c         C   s   |  i ƒ  Sd  S(   N(   s   selfs	   GetLength(   s   self(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   getCurrentLineEndL  s    c         C   s    |  i |  i ƒ  |  i ƒ  ƒ Sd S(   sz   
        Get text in current command line.

        @return: Text of current command line.
        @rtype: string
        N(   s   selfs   GetTextRanges   getCurrentPromptStarts   getCurrentLineEnd(   s   self(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   getCurrentLineO  s     c         C   s4   |  i ƒ  |  i ƒ  j  o |  i |  i ƒ  ƒ n d  S(   N(   s   selfs   GetCurrentPoss   getCurrentPromptStarts   GotoPos(   s   self(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   moveCursorOnNewValidKeyY  s    c         C   s/   | | j  o |  i | | ƒ |  i ƒ  n d  S(   N(   s   from_poss   to_poss   selfs   SetSelections
   DeleteBack(   s   selfs   from_poss   to_pos(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   removeFromTo^  s    c         C   s   |  i ƒ  d  S(   N(   s   selfs
   LineDelete(   s   self(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   removeCurrentLinec  s    c         C   s   |  i | ƒ d  S(   N(   s   selfs   GotoPoss   position(   s   selfs   position(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys
   moveCursorf  s    c         C   s   |  i ƒ  Sd  S(   N(   s   selfs   GetCurrentPos(   s   self(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   getCursorPosi  s    c         C   s   |  i | ƒ |  i | ƒ d  S(   N(   s   selfs   SetSelectionStarts   from_poss   SetSelectionEnds   to_pos(   s   selfs   from_poss   to_pos(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   selectFromTol  s    c         C   s-   |  i |  i ƒ  |  i ƒ  ƒ |  i | ƒ d  S(   N(   s   selfs   removeFromTos   getCurrentPromptStarts   getCurrentLineEnds
   changeLines   history(   s   selfs   history(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   writeHistoryp  s    c         C   s*   | d d g j o | |  _ n t ‚ d  S(   Ns   IPYTHONs   STC(   s
   completions   selfs   autocomplete_modes   AttributeError(   s   selfs
   completion(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   setCompletionMethodt  s    c         C   s   |  i Sd  S(   N(   s   selfs   autocomplete_mode(   s   selfs
   completion(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   getCompletionMethodz  s    c         C   s‹  |  i d j oò t t | d t ƒƒ } d | } |  i ƒ  }
 | d d } |  i
 ƒ  } d t | ƒ }	 |	 d j o
 d }	 n d } d } xc | D][ } | |	 j  o4 | t | ƒ d } | | d | 7} | d 7} q’ | | d	 7} d } q’ W|  i | ƒ n† | i ƒ  |  i t ƒ |  i t ƒ d d
 d d g } |  i ƒ  } x! | D] } | i | ƒ d } qKW|  i t | ƒ d i | ƒ ƒ d  S(   Ns   IPYTHONs   keys    i   iP   i    i   s    s   
s   (s   [s   {iÿÿÿÿ(   s   selfs   autocomplete_modes   lens   maxs   possibilitiess   max_lens
   max_symbols   getCursorPoss
   cursor_poss   test_buffers   GetLineCounts   current_liness   allowed_symbolss   poss   bufs   symbols   spacess   writes   sorts   AutoCompSetIgnoreCases   Falses   AutoCompSetAutoHides   splitters   getCurrentLines	   last_words   breakers   splits   AutoCompShows   join(   s   selfs   possibilitiess   splitters	   last_words   test_buffers
   max_symbols   poss   max_lens   spacess   allowed_symbolss
   cursor_poss   current_liness   breakers   bufs   symbol(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   writeCompletion}  s:    

 

 c         C   sé  |  i ƒ  oÍ| i ƒ  t i j o | i t i j o% |  i ƒ  |  i	 |  i
 ƒ  ƒ t Sqz| i t i j o. |  i ƒ  |  i |  i
 ƒ  |  i ƒ  ƒ t Sqzt SnÖ | i ƒ  t i j op | i t i j oY |  i ƒ  |  i	 |  i ƒ  d ƒ |  i ƒ  |  i
 ƒ  j  o |  i	 |  i
 ƒ  ƒ n t SqznP | i ƒ  t i j o9 |  i ƒ  |  i ƒ  |  i
 ƒ  j o | i ƒ  n t Sn | oR | i ƒ  t i t i g j o | i t i j o |  i ƒ  n | i ƒ  t Sn t Sn | i ƒ  d S(   s   
        Key press callback used for correcting behavior for console-like
        interfaces. For example 'home' should go to prompt, not to begining of
        line.

        @param widget: Widget that key press accored in.
        @type widget: gtk.Widget
        @param event: Event object
        @type event: gtk.gdk.Event

        @return: Return True if event as been catched.
        @rtype: boolean
        i   N(   s   selfs   AutoCompActives   events
   GetKeyCodes   wxs   WXK_HOMEs	   Modifierss   MOD_NONEs   moveCursorOnNewValidKeys
   moveCursors   getCurrentPromptStarts   Trues	   MOD_SHIFTs   selectFromTos   getCursorPoss   Falses   WXK_LEFTs   WXK_BACKs   Skips   skips
   WXK_PAGEUPs   WXK_PAGEDOWN(   s   selfs   events   skip(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   _onKeypress¢  s>     



2
c   	      C   sO  d } d } t } |  i ƒ  } | d j o* |  i | d ƒ } |  i | d ƒ } n | o  t
 | ƒ d j o | t i j o | d } n | d j  oV |  i | ƒ } |  i | ƒ } | o  t
 | ƒ d j o | t i j o
 | } qð n | d j o |  i | ƒ } n | d j o
 | d j o |  i | ƒ n |  i | | ƒ d  S(   Niÿÿÿÿi    i   s   []{}()(   s   braceAtCarets   braceOpposites   Nones
   charBefores   selfs   GetCurrentPoss   caretPoss	   GetCharAts
   GetStyleAts   styleBefores   chrs   stcs   STC_P_OPERATORs	   charAfters
   styleAfters
   BraceMatchs   BraceBadLights   BraceHighlight(	   s   selfs   evts   styleBefores	   charAfters   braceAtCarets   braceOpposites   caretPoss
   charBefores
   styleAfter(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys
   OnUpdateUI×  s&    **(%   s   __name__s
   __module__s   __doc__s   ANSI_STYLES_BLACKs   ANSI_STYLES_WHITEs   wxs   DefaultPositions   DefaultSizes   __init__s   buildStyless   setBackgroundColors   getBackgroundColors
   asyncWrites   writes   getPromptLens	   setPrompts   setIndentations   setPromptCounts
   showPrompts
   changeLines   getCurrentPromptStarts   getCurrentLineStarts   getCurrentLineEnds   getCurrentLines   moveCursorOnNewValidKeys   removeFromTos   removeCurrentLines
   moveCursors   getCursorPoss   selectFromTos   writeHistorys   setCompletionMethods   getCompletionMethods   writeCompletions   Trues   _onKeypresss
   OnUpdateUI(    (    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   WxConsoleViewG   s>    ö
ö
$A	4														
										%5s   IPShellWidgetc           B   sÔ   t  Z d  Z e d e e h  e d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   s•  
    This is wx.Panel that embbed the IPython Thread and the wx.StyledTextControl
    If you want to port this to any other GUI toolkit, just replace the 
    WxConsoleView by YOURGUIConsoleView and make YOURGUIIPythonView derivate 
    from whatever container you want. I've choosed to derivate from a wx.Panel 
    because it seems to be more useful
    Any idea to make it more 'generic' welcomed.
    s   BLACKc      	   C   s(  t  i i |  | t  i ƒ | |  _ t ƒ  |  _ | |  _ | t
 j	 o | |  _ n+ t |  d |  i d |  i d |  i ƒ|  _ | t
 j o1 d } | |  i i ƒ  7} | d 7} | d 7} n | } t |  |  i i ƒ  d | d | ƒ|  _ |  i i |  i _ t  i |  d	 d
 ƒ }
 t  i |  d	 d ƒ |  _ t  i |  d	 d ƒ |  _ h  d h  d d <d |  i <d t <d t <d |  i i <<d h  d d <d |  i <d t <d t <d |  i i <<|  _  |  i! |  i  ƒ |  i i" t  i# |  i$ ƒ |  i i" t  i% |  i& ƒ |  i i" t  i% |  i' ƒ t  i( t  i) ƒ } | i+ |  i d t  i, ƒ t  i( t  i- ƒ }	 | i+ |	 d ƒ |	 i/ d d f |
 d t  i0 f d d f |  i d t  i0 f d d f |  i d t  i0 f g ƒ |  i1 t ƒ | i2 |  ƒ | i3 |  ƒ |  i4 | ƒ |  i5 ƒ  |  i6 d ƒ d |  _7 d |  _8 d S(   sŠ   
        Initialize.
        Instanciate an IPython thread.
        Instanciate a WxConsoleView.
        Redirect I/O to console.
        s   couts   cerrs   ask_exit_handlers   Welcome to WxIPython Shell.

s&   !command  -> Execute command in shell
s   TAB       -> Autocompletion
s   intros   background_coloriÿÿÿÿs   Options:s   Scintilla Completions   White Backgrounds
   completions   values   IPYTHONs   checkboxs   STCs   setfuncs   BLACKs   WHITEi   i    i
   i   i   i   s   IDLEs   DONEN(9   s   wxs   Panels   __init__s   selfs   parents   ID_ANYs   StringIOs   couts   add_button_handlers   wx_ip_shells   Nones   IPs   WxNonBlockingIPShells   askExitCallbacks   intros   welcome_texts	   getBanners   WxConsoleViews	   getPrompts   background_colors	   text_ctrls
   asyncWrites   writes
   StaticTexts   option_texts   CheckBoxs   completion_options   background_options   Trues   Falses   setCompletionMethods   setBackgroundColors   optionss   reloadOptionss   Binds   EVT_KEY_DOWNs   keyPresss   EVT_CHECKBOXs   evtCheckOptionCompletions   evtCheckOptionBackgroundColors   BoxSizers   VERTICALs   sizers   Adds   EXPANDs
   HORIZONTALs   option_sizers   AddManys   ALIGN_CENTER_VERTICALs   SetAutoLayouts   Fits   SetSizeHintss   SetSizers   SetFocuss   setCurrentStates   pager_states   raw_input_current_line(   s   selfs   parents   intros   background_colors   add_button_handlers   wx_ip_shells   user_nss   user_global_nss   sizers   option_sizers   option_texts   welcome_text(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   __init__  sT    	 		
‡[
	c         C   s   |  i | ƒ d  S(   N(   s   selfs   askExitHandlers   event(   s   selfs   event(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   askExitCallbackZ  s    c         C   s~   |  i i ƒ  } |  i i d ƒ | i d d d ƒ } | i d d ƒ } |  i i | i	 d ƒ ƒ |  i
 | ƒ |  i d ƒ d  S(	   Ns   
s   	s    i   s   s    s   cp1252s   WAIT_END_OF_EXECUTION(   s   selfs	   text_ctrls   getCurrentLines   liness   writes   replaces   lines_to_executes   IPs	   doExecutes   encodes   updateHistoryTrackers   setCurrentState(   s   selfs   liness   lines_to_execute(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   stateDoExecuteLine^  s    c         C   sÈ   |  i i ƒ  |  _ |  i i ƒ  |  _ |  i oC |  i d i d ƒ |  _ d |  _ |  i	 d ƒ |  i
 |  i ƒ nT |  i o? |  i i d ƒ |  _ d |  _ |  i	 d ƒ |  i
 |  i ƒ n |  i ƒ  d  S(   Ni   s   
s   INITs   SHOW_DOC(   s   selfs   IPs
   getDocTexts   docs   getHelpTexts   helps   splits   pager_liness   pager_states   setCurrentStates   pagers   stateShowPrompt(   s   selfs   evt(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   evtStateExecuteDoneg  s    
	
	c         C   sƒ   |  i d ƒ |  i i |  i i ƒ  ƒ |  i i |  i i ƒ  ƒ |  i i |  i i	 ƒ  ƒ |  i i
 ƒ  |  i i ƒ  |  i d ƒ d  S(   Ns   SHOW_PROMPTs   IDLE(   s   selfs   setCurrentStates	   text_ctrls	   setPrompts   IPs	   getPrompts   setIndentations   getIndentations   setPromptCounts   getPromptCounts
   showPrompts   initHistoryIndex(   s   self(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   stateShowPromptw  s    c         C   s   | |  _ |  i |  i ƒ d  S(   N(   s   states   selfs	   cur_states   updateStatusTracker(   s   selfs   state(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   setCurrentState€  s    	c         C   sq  |  i d j oA t |  i ƒ |  _ d |  _ t |  _ |  i i	 d ƒ d |  _ n |  i d j o|  i t
 j o |  i i ƒ  t |  _ n |  i d j oá |  i d j o& |  i i	 d |  i |  i d ƒ n# |  i i	 d |  i |  i d ƒ x> |  i |  i d |  i d	 !D] } |  i i	 d | d ƒ qW|  i d 7_ |  i d 8_ |  i i	 d
 ƒ t
 |  _ d |  _ d  Sqm|  i d j oz |  i d j o& |  i i	 d |  i |  i d ƒ n# |  i i	 d |  i |  i d ƒ |  i d 7_ |  i d 8_ n |  i d j o@ x= |  i |  i D]' } |  i i	 d | d ƒ d |  _ q'Wn d |  _ |  i ƒ  n d  S(   Ns   INITi    s   
s   PROCESS_LINESi
   s
   >[1;36ms
   [1;36m i   i	   s,   --- Push Enter to continue or 'Q' to quit---s   WAITINGs   DONE(   s   selfs   pager_states   lens   pager_liness   pager_nb_liness   pager_indexs   Falses   pager_do_removes	   text_ctrls   writes   Trues   removeCurrentLines   lines   stateShowPrompt(   s   selfs   texts   line(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   pager„  sH    		&" 		&" 	c         C   s½  | i ƒ  t d ƒ j oY | i t i j p | i t i j o/ |  i d j o |  i	 i
 i t ƒ d Sqn qr n |  i d j o, |  i i ƒ  o d |  _ q® | i ƒ  n | i t i j o¨ |  i d j o |  i d ƒ |  i ƒ  d Sn |  i d j o! d |  _ |  i |  i ƒ d Sn |  i d	 j o4 |  i i ƒ  } |  i i d
 ƒ |  i d ƒ d Sqin | i ƒ  t d ƒ t d ƒ g j o? |  i d j o+ d |  _ |  i i d
 ƒ |  i ƒ  d SqÍn |  i d	 j o | i ƒ  n |  i d j o¾| i t i j o' |  i	 i ƒ  } |  i i | ƒ d Sn | i t i j o' |  i	 i  ƒ  } |  i i | ƒ d Sn | i t i! j o)|  i i ƒ  i" ƒ  o |  i i d ƒ d Sn |  i	 i# |  i i ƒ  ƒ \ } } t& | ƒ d j o§ |  i i' d j ow |  i i ƒ  } |  i i d
 ƒ |  i i) | ƒ |  i i d
 ƒ |  i i* ƒ  |  i i | ƒ |  i i+ | p | ƒ q£d |  _ |  i i) | ƒ n |  i i+ | p | ƒ d Sn | i ƒ  n d S(   so   
        Key press callback with plenty of shell goodness, like history,
        autocompletions, etc.
        s   Cs   WAIT_END_OF_EXECUTIONNs
   COMPLETINGs   IDLEs   DO_EXECUTE_LINEs   WAITINGs   PROCESS_LINESs   WAITING_USER_INPUTs   
s   qs   Qs   DONEs   	i   s   IPYTHON(,   s   events
   GetKeyCodes   ords	   Modifierss   wxs   MOD_CONTROLs   MOD_ALTs   selfs	   cur_states   IPs   ces	   raise_excs   KeyboardInterrupts	   text_ctrls   AutoCompActives   Skips   KeyCodes
   WXK_RETURNs   setCurrentStates   stateDoExecuteLines   pager_states   pagers   docs   getCurrentLines   lines   writes   stateShowPrompts   WXK_UPs   historyBacks   historys   writeHistorys   WXK_DOWNs   historyForwards   WXK_TABs   strips   completes	   completeds   possibilitiess   lens   autocomplete_modes	   cur_slices   writeCompletions
   showPrompts
   changeLine(   s   selfs   events	   completeds   possibilitiess	   cur_slices   historys   line(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   keyPressµ  sx     &
	%	
!	c         C   sz   | i ƒ  o d |  i d d <n d |  i d d <|  i i |  i d d ƒ |  i d |  i d d ƒ |  i i ƒ  d  S(   Ns   STCs
   completions   values   IPYTHON(   s   events	   IsCheckeds   selfs   optionss	   text_ctrls   setCompletionMethods   updateOptionTrackers   SetFocus(   s   selfs   event(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   evtCheckOptionCompletion  s    	c         C   sz   | i ƒ  o d |  i d d <n d |  i d d <|  i i |  i d d ƒ |  i d |  i d d ƒ |  i i ƒ  d  S(   Ns   WHITEs   background_colors   values   BLACK(   s   events	   IsCheckeds   selfs   optionss	   text_ctrls   setBackgroundColors   updateOptionTrackers   SetFocus(   s   selfs   event(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   evtCheckOptionBackgroundColor  s    	c         C   s   |  i Sd  S(   N(   s   selfs   options(   s   self(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys
   getOptions  s    c         C   sp   | |  _  x` |  i  i ƒ  D]O } |  i  | d } |  i  | d i |  i  | | ƒ |  i  | d | ƒ q Wd  S(   Ns   values   checkboxs   setfunc(   s   optionss   selfs   keyss   keys   values   SetValue(   s   selfs   optionss   values   key(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   reloadOptions  s    	 #c         C   s   d S(   s8   
        Default history tracker (does nothing)
        N(    (   s   selfs   names   value(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   updateOptionTracker'  s     c         C   s   | |  _ d S(   s.   
        Define a new history tracker
        N(   s   funcs   selfs   updateOptionTracker(   s   selfs   func(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   setOptionTrackerHook-  s     c         C   s   d S(   s8   
        Default history tracker (does nothing)
        N(    (   s   selfs   command_line(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   updateHistoryTracker3  s     c         C   s   | |  _ d S(   s.   
        Define a new history tracker
        N(   s   funcs   selfs   updateHistoryTracker(   s   selfs   func(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   setHistoryTrackerHook9  s     c         C   s   d S(   s7   
        Default status tracker (does nothing)
        N(    (   s   selfs   status(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   updateStatusTracker?  s     c         C   s   | |  _ d S(   s-   
        Define a new status tracker
        N(   s   funcs   selfs   updateStatusTracker(   s   selfs   func(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   setStatusTrackerHookE  s     c         C   s   |  i i d ƒ d S(   s&   
        Default exit handler
        s    
Exit callback has not been set.N(   s   selfs	   text_ctrls   write(   s   selfs   event(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   askExitHandlerK  s     c         C   s   | |  _ d S(   s(   
        Define an exit handler
        N(   s   funcs   selfs   askExitHandler(   s   selfs   func(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   setAskExitHandlerQ  s     (   s   __name__s
   __module__s   __doc__s   Nones   __init__s   askExitCallbacks   stateDoExecuteLines   evtStateExecuteDones   stateShowPrompts   setCurrentStates   pagers   keyPresss   evtCheckOptionCompletions   evtCheckOptionBackgroundColors
   getOptionss   reloadOptionss   updateOptionTrackers   setOptionTrackerHooks   updateHistoryTrackers   setHistoryTrackerHooks   updateStatusTrackers   setStatusTrackerHooks   askExitHandlers   setAskExitHandler(    (    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   IPShellWidgetú  s*    V								1	R	
	
										s   __main__s
   MainWindowc           B   s   t  Z d „  Z RS(   Nc         C   s“   t  i i |  | | | d d d f ƒt  i t  i ƒ |  _	 t
 |  ƒ |  _ |  i	 i |  i d t  i ƒ |  i |  i	 ƒ |  i d ƒ |  i t ƒ d  S(   Ns   sizei,  iú   i   (   s   wxs   Frames   __init__s   selfs   parents   ids   titles   BoxSizers   VERTICALs   _sizers   IPShellWidgets   shells   Adds   EXPANDs   SetSizers   SetAutoLayouts   Shows   True(   s   selfs   parents   ids   title(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   __init__Z  s    %(   s   __name__s
   __module__s   __init__(    (    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys
   MainWindowY  s   s   Ipythoni  iÌ  ("   s   __doc__s   __version__s
   __author__s	   __email__s   __license__s   wxs   wx.stcs   stcs   res   syss   locales   StringIOs   IPythons	   Exceptions   es   strs   ipshell_nonblockings   NonBlockingIPShells   WxNonBlockingIPShells   StyledTextCtrls   WxConsoleViews   Panels   IPShellWidgets   __name__s   Frames
   MainWindows   PySimpleApps   apps   Nones   ID_ANYs   frames   SetSizes   shells   MainLoop(   s   IPShellWidgets   locales   frames	   __email__s   IPythons
   MainWindows   res   __version__s   apps   shells   __license__s
   __author__s   syss   NonBlockingIPShells   wxs   es   stcs   WxConsoleViews   StringIOs   WxNonBlockingIPShell(    (    sL   /u/d/b/dbachman/=/lib/python2.3/site-packages/IPython/gui/wx/ipython_view.pys   ?   s6   				ÿ ´ÿ ^
	