source: sasview/_modules/sas/perspectives/calculator/pyconsole.html @ a462c6a

gh-pages
Last change on this file since a462c6a was a462c6a, checked in by ajj, 9 years ago

Rebuild to fix index and modules docs

  • Property mode set to 100644
File size: 53.8 KB
Line 
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
4
5<html xmlns="http://www.w3.org/1999/xhtml">
6  <head>
7    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8   
9    <title>sas.perspectives.calculator.pyconsole &mdash; SasView 3.0.0 documentation</title>
10   
11    <link rel="stylesheet" href="../../../../_static/default.css" type="text/css" />
12    <link rel="stylesheet" href="../../../../_static/pygments.css" type="text/css" />
13   
14    <script type="text/javascript">
15      var DOCUMENTATION_OPTIONS = {
16        URL_ROOT:    '../../../../',
17        VERSION:     '3.0.0',
18        COLLAPSE_INDEX: false,
19        FILE_SUFFIX: '.html',
20        HAS_SOURCE:  true
21      };
22    </script>
23    <script type="text/javascript" src="../../../../_static/jquery.js"></script>
24    <script type="text/javascript" src="../../../../_static/underscore.js"></script>
25    <script type="text/javascript" src="../../../../_static/doctools.js"></script>
26    <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
27    <link rel="top" title="SasView 3.0.0 documentation" href="../../../../index.html" />
28    <link rel="up" title="sas.perspectives.calculator" href="../calculator.html" /> 
29  </head>
30  <body>
31    <div class="related">
32      <h3>Navigation</h3>
33      <ul>
34        <li class="right" style="margin-right: 10px">
35          <a href="../../../../genindex.html" title="General Index"
36             accesskey="I">index</a></li>
37        <li class="right" >
38          <a href="../../../../py-modindex.html" title="Python Module Index"
39             >modules</a> |</li>
40        <li><a href="../../../../index.html">SasView 3.0.0 documentation</a> &raquo;</li>
41          <li><a href="../../../index.html" >Module code</a> &raquo;</li>
42          <li><a href="../calculator.html" accesskey="U">sas.perspectives.calculator</a> &raquo;</li> 
43      </ul>
44    </div> 
45
46    <div class="document">
47      <div class="documentwrapper">
48        <div class="bodywrapper">
49          <div class="body">
50           
51  <h1>Source code for sas.perspectives.calculator.pyconsole</h1><div class="highlight"><pre>
52<span class="sd">&quot;&quot;&quot;</span>
53<span class="sd">Console Module display Python console</span>
54<span class="sd">&quot;&quot;&quot;</span>
55<span class="kn">import</span> <span class="nn">sys</span>
56<span class="kn">import</span> <span class="nn">os</span>
57<span class="kn">import</span> <span class="nn">wx</span>
58<span class="kn">import</span> <span class="nn">wx.lib.dialogs</span>
59<span class="kn">import</span> <span class="nn">wx.py.editor</span> <span class="kn">as</span> <span class="nn">editor</span>
60<span class="kn">import</span> <span class="nn">wx.py.frame</span> <span class="kn">as</span> <span class="nn">frame</span>
61<span class="kn">import</span> <span class="nn">py_compile</span>
62
63<span class="k">if</span> <span class="n">sys</span><span class="o">.</span><span class="n">platform</span><span class="o">.</span><span class="n">count</span><span class="p">(</span><span class="s">&quot;win32&quot;</span><span class="p">)</span><span class="o">&gt;</span><span class="mi">0</span><span class="p">:</span>
64    <span class="n">PANEL_WIDTH</span> <span class="o">=</span> <span class="mi">800</span>
65    <span class="n">PANEL_HEIGHT</span> <span class="o">=</span> <span class="mi">700</span>
66    <span class="n">FONT_VARIANT</span> <span class="o">=</span> <span class="mi">0</span>
67<span class="k">else</span><span class="p">:</span>
68    <span class="n">PANEL_WIDTH</span> <span class="o">=</span> <span class="mi">830</span>
69    <span class="n">PANEL_HEIGHT</span> <span class="o">=</span> <span class="mi">730</span>
70    <span class="n">FONT_VARIANT</span> <span class="o">=</span> <span class="mi">1</span>
71<span class="n">ID_COMPILE</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">NewId</span><span class="p">()</span> 
72<span class="n">ID_RUN</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">NewId</span><span class="p">()</span> 
73
74<div class="viewcode-block" id="compile_file"><a class="viewcode-back" href="../../../../dev/api/sas.perspectives.calculator.html#sas.perspectives.calculator.pyconsole.compile_file">[docs]</a><span class="k">def</span> <span class="nf">compile_file</span><span class="p">(</span><span class="n">path</span><span class="p">):</span>
75    <span class="sd">&quot;&quot;&quot;</span>
76<span class="sd">    Compile a python file</span>
77<span class="sd">    &quot;&quot;&quot;</span>
78    <span class="k">try</span><span class="p">:</span>
79        <span class="kn">import</span> <span class="nn">py_compile</span>
80        <span class="n">py_compile</span><span class="o">.</span><span class="n">compile</span><span class="p">(</span><span class="nb">file</span><span class="o">=</span><span class="n">path</span><span class="p">,</span> <span class="n">doraise</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
81    <span class="k">except</span><span class="p">:</span>
82        <span class="nb">type</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span> <span class="n">traceback</span> <span class="o">=</span> <span class="n">sys</span><span class="o">.</span><span class="n">exc_info</span><span class="p">()</span>
83        <span class="k">return</span> <span class="n">value</span>
84    <span class="k">return</span> <span class="bp">None</span> 
85</div>
86<div class="viewcode-block" id="PyConsole"><a class="viewcode-back" href="../../../../dev/api/sas.perspectives.calculator.html#sas.perspectives.calculator.pyconsole.PyConsole">[docs]</a><span class="k">class</span> <span class="nc">PyConsole</span><span class="p">(</span><span class="n">editor</span><span class="o">.</span><span class="n">EditorNotebookFrame</span><span class="p">):</span>
87    <span class="c">## Internal nickname for the window, used by the AUI manager</span>
88    <span class="n">window_name</span> <span class="o">=</span> <span class="s">&quot;Custom Model Editor&quot;</span>
89    <span class="c">## Name to appear on the window title bar</span>
90    <span class="n">window_caption</span> <span class="o">=</span> <span class="s">&quot;Custom Model Editor&quot;</span>
91    <span class="c">## Flag to tell the AUI manager to put this panel in the center pane</span>
92    <span class="n">CENTER_PANE</span> <span class="o">=</span> <span class="bp">False</span>
93    <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">parent</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">base</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">manager</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">panel</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
94                    <span class="n">title</span><span class="o">=</span><span class="s">&#39;Python Shell/Editor&#39;</span><span class="p">,</span> <span class="n">filename</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
95                    <span class="n">size</span><span class="o">=</span><span class="p">(</span><span class="n">PANEL_WIDTH</span><span class="p">,</span> <span class="n">PANEL_HEIGHT</span><span class="p">)):</span>
96        <span class="bp">self</span><span class="o">.</span><span class="n">config</span> <span class="o">=</span> <span class="bp">None</span>
97        <span class="n">editor</span><span class="o">.</span><span class="n">EditorNotebookFrame</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">parent</span><span class="o">=</span><span class="n">parent</span><span class="p">,</span> 
98                                        <span class="n">title</span><span class="o">=</span><span class="n">title</span><span class="p">,</span> <span class="n">size</span><span class="o">=</span><span class="n">size</span><span class="p">,</span>
99                                        <span class="n">filename</span><span class="o">=</span><span class="n">filename</span><span class="p">)</span>
100        <span class="bp">self</span><span class="o">.</span><span class="n">parent</span> <span class="o">=</span> <span class="n">parent</span>
101        <span class="bp">self</span><span class="o">.</span><span class="n">_manager</span> <span class="o">=</span> <span class="n">manager</span>
102        <span class="bp">self</span><span class="o">.</span><span class="n">base</span> <span class="o">=</span> <span class="n">base</span>
103        <span class="bp">self</span><span class="o">.</span><span class="n">panel</span> <span class="o">=</span> <span class="n">panel</span>
104        <span class="bp">self</span><span class="o">.</span><span class="n">_add_menu</span><span class="p">()</span>
105        <span class="k">if</span> <span class="n">filename</span> <span class="o">!=</span> <span class="bp">None</span><span class="p">:</span>
106            <span class="n">dataDir</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">dirname</span><span class="p">(</span><span class="n">filename</span><span class="p">)</span>
107        <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">parent</span> <span class="o">!=</span> <span class="bp">None</span><span class="p">:</span>
108            <span class="n">dataDir</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">parent</span><span class="o">.</span><span class="n">_default_save_location</span>
109        <span class="k">else</span><span class="p">:</span>
110             <span class="n">dataDir</span> <span class="o">=</span> <span class="bp">None</span>
111        <span class="bp">self</span><span class="o">.</span><span class="n">dataDir</span> <span class="o">=</span> <span class="n">dataDir</span>
112        <span class="bp">self</span><span class="o">.</span><span class="n">Centre</span><span class="p">()</span>
113       
114        <span class="bp">self</span><span class="o">.</span><span class="n">Bind</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">EVT_MENU</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">OnNewFile</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">ID_NEW</span><span class="p">)</span>
115        <span class="bp">self</span><span class="o">.</span><span class="n">Bind</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">EVT_MENU</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">OnOpenFile</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">ID_OPEN</span><span class="p">)</span>
116        <span class="bp">self</span><span class="o">.</span><span class="n">Bind</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">EVT_MENU</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">OnSaveFile</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">ID_SAVE</span><span class="p">)</span>
117        <span class="bp">self</span><span class="o">.</span><span class="n">Bind</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">EVT_MENU</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">OnSaveAsFile</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">ID_SAVEAS</span><span class="p">)</span>
118        <span class="bp">self</span><span class="o">.</span><span class="n">Bind</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">EVT_MENU</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">OnCompile</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">ID_COMPILE</span><span class="p">)</span>
119        <span class="bp">self</span><span class="o">.</span><span class="n">Bind</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">EVT_MENU</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">OnRun</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">ID_RUN</span><span class="p">)</span>
120        <span class="bp">self</span><span class="o">.</span><span class="n">Bind</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">EVT_UPDATE_UI</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">OnUpdateCompileMenu</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">ID_COMPILE</span><span class="p">)</span>
121        <span class="bp">self</span><span class="o">.</span><span class="n">Bind</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">EVT_UPDATE_UI</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">OnUpdateCompileMenu</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">ID_RUN</span><span class="p">)</span>
122        <span class="bp">self</span><span class="o">.</span><span class="n">Bind</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">EVT_CLOSE</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">on_close</span><span class="p">)</span>
123        <span class="k">if</span> <span class="ow">not</span> <span class="n">title</span><span class="o">.</span><span class="n">count</span><span class="p">(</span><span class="s">&#39;Python Shell&#39;</span><span class="p">):</span>
124            <span class="c"># Delete menu item (open and new) if not python shell</span>
125            <span class="c">#self.fileMenu.Delete(wx.ID_NEW)</span>
126            <span class="bp">self</span><span class="o">.</span><span class="n">fileMenu</span><span class="o">.</span><span class="n">Delete</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">ID_OPEN</span><span class="p">)</span>
127       
128   
129    <span class="k">def</span> <span class="nf">_add_menu</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
130        <span class="sd">&quot;&quot;&quot;</span>
131<span class="sd">        Add menu</span>
132<span class="sd">        &quot;&quot;&quot;</span>
133        <span class="bp">self</span><span class="o">.</span><span class="n">compileMenu</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">Menu</span><span class="p">()</span>
134        <span class="bp">self</span><span class="o">.</span><span class="n">compileMenu</span><span class="o">.</span><span class="n">Append</span><span class="p">(</span><span class="n">ID_COMPILE</span><span class="p">,</span> <span class="s">&#39;Compile&#39;</span><span class="p">,</span>
135                 <span class="s">&#39;Compile the file&#39;</span><span class="p">)</span>
136        <span class="bp">self</span><span class="o">.</span><span class="n">compileMenu</span><span class="o">.</span><span class="n">AppendSeparator</span><span class="p">()</span>
137        <span class="bp">self</span><span class="o">.</span><span class="n">compileMenu</span><span class="o">.</span><span class="n">Append</span><span class="p">(</span><span class="n">ID_RUN</span><span class="p">,</span> <span class="s">&#39;Run in Shell&#39;</span><span class="p">,</span>
138                 <span class="s">&#39;Run the file in the Python Shell&#39;</span><span class="p">)</span>
139        <span class="bp">self</span><span class="o">.</span><span class="n">MenuBar</span><span class="o">.</span><span class="n">Insert</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">compileMenu</span><span class="p">,</span> <span class="s">&#39;&amp;Run&#39;</span><span class="p">)</span>
140   
141<div class="viewcode-block" id="PyConsole.OnHelp"><a class="viewcode-back" href="../../../../dev/api/sas.perspectives.calculator.html#sas.perspectives.calculator.pyconsole.PyConsole.OnHelp">[docs]</a>    <span class="k">def</span> <span class="nf">OnHelp</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">event</span><span class="p">):</span>
142        <span class="sd">&quot;&quot;&quot;</span>
143<span class="sd">        Show a help dialog.</span>
144<span class="sd">        &quot;&quot;&quot;</span>
145        <span class="kn">import</span>  <span class="nn">wx.lib.dialogs</span>
146        <span class="n">title</span> <span class="o">=</span> <span class="s">&#39;Help on key bindings&#39;</span>
147        <span class="n">text</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">py</span><span class="o">.</span><span class="n">shell</span><span class="o">.</span><span class="n">HELP_TEXT</span>
148        <span class="n">dlg</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">lib</span><span class="o">.</span><span class="n">dialogs</span><span class="o">.</span><span class="n">ScrolledMessageDialog</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">text</span><span class="p">,</span> <span class="n">title</span><span class="p">,</span>
149                                                   <span class="n">size</span> <span class="o">=</span> <span class="p">((</span><span class="mi">700</span><span class="p">,</span> <span class="mi">540</span><span class="p">)))</span>
150        <span class="n">fnt</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">Font</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="n">wx</span><span class="o">.</span><span class="n">TELETYPE</span><span class="p">,</span> <span class="n">wx</span><span class="o">.</span><span class="n">NORMAL</span><span class="p">,</span> <span class="n">wx</span><span class="o">.</span><span class="n">NORMAL</span><span class="p">)</span>
151        <span class="n">dlg</span><span class="o">.</span><span class="n">GetChildren</span><span class="p">()[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">SetFont</span><span class="p">(</span><span class="n">fnt</span><span class="p">)</span>
152        <span class="n">dlg</span><span class="o">.</span><span class="n">GetChildren</span><span class="p">()[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">SetInsertionPoint</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
153        <span class="n">dlg</span><span class="o">.</span><span class="n">ShowModal</span><span class="p">()</span>
154        <span class="n">dlg</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span>
155</div>
156<div class="viewcode-block" id="PyConsole.set_manager"><a class="viewcode-back" href="../../../../dev/api/sas.perspectives.calculator.html#sas.perspectives.calculator.pyconsole.PyConsole.set_manager">[docs]</a>    <span class="k">def</span> <span class="nf">set_manager</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">manager</span><span class="p">):</span>
157        <span class="sd">&quot;&quot;&quot;</span>
158<span class="sd">        Set the manager of this window</span>
159<span class="sd">        &quot;&quot;&quot;</span>
160        <span class="bp">self</span><span class="o">.</span><span class="n">_manager</span> <span class="o">=</span> <span class="n">manager</span>
161        </div>
162<div class="viewcode-block" id="PyConsole.OnAbout"><a class="viewcode-back" href="../../../../dev/api/sas.perspectives.calculator.html#sas.perspectives.calculator.pyconsole.PyConsole.OnAbout">[docs]</a>    <span class="k">def</span> <span class="nf">OnAbout</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">event</span><span class="p">):</span>
163        <span class="sd">&quot;&quot;&quot;</span>
164<span class="sd">        On About</span>
165<span class="sd">        &quot;&quot;&quot;</span>
166        <span class="n">message</span> <span class="o">=</span> <span class="n">ABOUT</span>
167        <span class="n">dial</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">MessageDialog</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">message</span><span class="p">,</span> <span class="s">&#39;About&#39;</span><span class="p">,</span>
168                           <span class="n">wx</span><span class="o">.</span><span class="n">OK</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">ICON_INFORMATION</span><span class="p">)</span> 
169        <span class="n">dial</span><span class="o">.</span><span class="n">ShowModal</span><span class="p">()</span>
170        </div>
171<div class="viewcode-block" id="PyConsole.OnNewFile"><a class="viewcode-back" href="../../../../dev/api/sas.perspectives.calculator.html#sas.perspectives.calculator.pyconsole.PyConsole.OnNewFile">[docs]</a>    <span class="k">def</span> <span class="nf">OnNewFile</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">event</span><span class="p">):</span>
172        <span class="sd">&quot;&quot;&quot;</span>
173<span class="sd">        OnFileOpen  </span>
174<span class="sd">        &quot;&quot;&quot;</span>
175        <span class="bp">self</span><span class="o">.</span><span class="n">OnFileNew</span><span class="p">(</span><span class="n">event</span><span class="p">)</span>
176</div>
177<div class="viewcode-block" id="PyConsole.OnOpenFile"><a class="viewcode-back" href="../../../../dev/api/sas.perspectives.calculator.html#sas.perspectives.calculator.pyconsole.PyConsole.OnOpenFile">[docs]</a>    <span class="k">def</span> <span class="nf">OnOpenFile</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">event</span><span class="p">):</span>
178        <span class="sd">&quot;&quot;&quot;</span>
179<span class="sd">        OnFileOpen  </span>
180<span class="sd">        &quot;&quot;&quot;</span>
181        <span class="bp">self</span><span class="o">.</span><span class="n">OnFileOpen</span><span class="p">(</span><span class="n">event</span><span class="p">)</span>
182        <span class="bp">self</span><span class="o">.</span><span class="n">Show</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span>
183        <span class="bp">self</span><span class="o">.</span><span class="n">Show</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span>
184        </div>
185<div class="viewcode-block" id="PyConsole.OnSaveFile"><a class="viewcode-back" href="../../../../dev/api/sas.perspectives.calculator.html#sas.perspectives.calculator.pyconsole.PyConsole.OnSaveFile">[docs]</a>    <span class="k">def</span> <span class="nf">OnSaveFile</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">event</span><span class="p">):</span>
186        <span class="sd">&quot;&quot;&quot;</span>
187<span class="sd">        OnFileSave overwrite   </span>
188<span class="sd">        &quot;&quot;&quot;</span>
189        <span class="bp">self</span><span class="o">.</span><span class="n">OnFileSave</span><span class="p">(</span><span class="n">event</span><span class="p">)</span>
190        <span class="bp">self</span><span class="o">.</span><span class="n">Show</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span>
191        <span class="bp">self</span><span class="o">.</span><span class="n">Show</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span>
192        </div>
193<div class="viewcode-block" id="PyConsole.OnSaveAsFile"><a class="viewcode-back" href="../../../../dev/api/sas.perspectives.calculator.html#sas.perspectives.calculator.pyconsole.PyConsole.OnSaveAsFile">[docs]</a>    <span class="k">def</span> <span class="nf">OnSaveAsFile</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">event</span><span class="p">):</span>
194        <span class="sd">&quot;&quot;&quot;</span>
195<span class="sd">        OnFileSaveAs overwrite   </span>
196<span class="sd">        &quot;&quot;&quot;</span>
197        <span class="bp">self</span><span class="o">.</span><span class="n">OnFileSaveAs</span><span class="p">(</span><span class="n">event</span><span class="p">)</span>
198        <span class="bp">self</span><span class="o">.</span><span class="n">Show</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span>
199        <span class="bp">self</span><span class="o">.</span><span class="n">Show</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span>
200</div>
201<div class="viewcode-block" id="PyConsole.bufferOpen"><a class="viewcode-back" href="../../../../dev/api/sas.perspectives.calculator.html#sas.perspectives.calculator.pyconsole.PyConsole.bufferOpen">[docs]</a>    <span class="k">def</span> <span class="nf">bufferOpen</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
202        <span class="sd">&quot;&quot;&quot;</span>
203<span class="sd">        Open file in buffer, bypassing editor bufferOpen</span>
204<span class="sd">        &quot;&quot;&quot;</span>
205        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">bufferHasChanged</span><span class="p">():</span>
206            <span class="n">cancel</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">bufferSuggestSave</span><span class="p">()</span>
207            <span class="k">if</span> <span class="n">cancel</span><span class="p">:</span>
208                <span class="k">return</span> <span class="n">cancel</span>
209        <span class="n">filedir</span> <span class="o">=</span> <span class="s">&#39;&#39;</span>
210        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">buffer</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">buffer</span><span class="o">.</span><span class="n">doc</span><span class="o">.</span><span class="n">filedir</span><span class="p">:</span>
211            <span class="n">filedir</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">buffer</span><span class="o">.</span><span class="n">doc</span><span class="o">.</span><span class="n">filedir</span>
212        <span class="k">if</span> <span class="ow">not</span> <span class="n">filedir</span><span class="p">:</span>
213            <span class="n">filedir</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">dataDir</span>
214        <span class="n">result</span> <span class="o">=</span> <span class="n">editor</span><span class="o">.</span><span class="n">openSingle</span><span class="p">(</span><span class="n">directory</span><span class="o">=</span><span class="n">filedir</span><span class="p">,</span> 
215                            <span class="n">wildcard</span><span class="o">=</span><span class="s">&#39;Python Files (*.py)|*.py&#39;</span><span class="p">)</span>
216        <span class="k">if</span> <span class="n">result</span><span class="o">.</span><span class="n">path</span><span class="p">:</span>
217            <span class="bp">self</span><span class="o">.</span><span class="n">bufferCreate</span><span class="p">(</span><span class="n">result</span><span class="o">.</span><span class="n">path</span><span class="p">)</span>
218        <span class="n">cancel</span> <span class="o">=</span> <span class="bp">False</span>
219        <span class="k">return</span> <span class="n">cancel</span>
220    </div>
221<div class="viewcode-block" id="PyConsole.bufferSaveAs"><a class="viewcode-back" href="../../../../dev/api/sas.perspectives.calculator.html#sas.perspectives.calculator.pyconsole.PyConsole.bufferSaveAs">[docs]</a>    <span class="k">def</span> <span class="nf">bufferSaveAs</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
222        <span class="sd">&quot;&quot;&quot;</span>
223<span class="sd">        Save buffer to a new filename: Bypassing editor bufferSaveAs</span>
224<span class="sd">        &quot;&quot;&quot;</span>
225        <span class="n">filedir</span> <span class="o">=</span> <span class="s">&#39;&#39;</span>
226        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">buffer</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">buffer</span><span class="o">.</span><span class="n">doc</span><span class="o">.</span><span class="n">filedir</span><span class="p">:</span>
227            <span class="n">filedir</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">buffer</span><span class="o">.</span><span class="n">doc</span><span class="o">.</span><span class="n">filedir</span>
228        <span class="k">if</span> <span class="ow">not</span> <span class="n">filedir</span><span class="p">:</span>
229            <span class="n">filedir</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">dataDir</span>
230        <span class="n">result</span> <span class="o">=</span> <span class="n">editor</span><span class="o">.</span><span class="n">saveSingle</span><span class="p">(</span><span class="n">directory</span><span class="o">=</span><span class="n">filedir</span><span class="p">,</span> 
231                                   <span class="n">filename</span><span class="o">=</span><span class="s">&#39;untitled.py&#39;</span><span class="p">,</span>
232                                   <span class="n">wildcard</span><span class="o">=</span><span class="s">&#39;Python Files (*.py)|*.py&#39;</span><span class="p">)</span>
233        <span class="k">if</span> <span class="n">result</span><span class="o">.</span><span class="n">path</span><span class="p">:</span>
234            <span class="bp">self</span><span class="o">.</span><span class="n">buffer</span><span class="o">.</span><span class="n">confirmed</span> <span class="o">=</span> <span class="bp">True</span>
235            <span class="bp">self</span><span class="o">.</span><span class="n">buffer</span><span class="o">.</span><span class="n">saveAs</span><span class="p">(</span><span class="n">result</span><span class="o">.</span><span class="n">path</span><span class="p">)</span>
236            <span class="n">cancel</span> <span class="o">=</span> <span class="bp">False</span>
237        <span class="k">else</span><span class="p">:</span>
238            <span class="n">cancel</span> <span class="o">=</span> <span class="bp">True</span>
239        <span class="k">return</span> <span class="n">cancel</span>
240        </div>
241<div class="viewcode-block" id="PyConsole.OnRun"><a class="viewcode-back" href="../../../../dev/api/sas.perspectives.calculator.html#sas.perspectives.calculator.pyconsole.PyConsole.OnRun">[docs]</a>    <span class="k">def</span> <span class="nf">OnRun</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">event</span><span class="p">):</span>
242        <span class="sd">&quot;&quot;&quot;</span>
243<span class="sd">        Run</span>
244<span class="sd">        &quot;&quot;&quot;</span>
245        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_check_changed</span><span class="p">():</span>
246            <span class="k">return</span> <span class="bp">True</span>
247        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">buffer</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">buffer</span><span class="o">.</span><span class="n">doc</span><span class="o">.</span><span class="n">filepath</span><span class="p">:</span>
248            <span class="bp">self</span><span class="o">.</span><span class="n">editor</span><span class="o">.</span><span class="n">setFocus</span><span class="p">()</span>
249            <span class="c"># Why we have to do this (Otherwise problems on Windows)?</span>
250            <span class="n">forward_path</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">buffer</span><span class="o">.</span><span class="n">doc</span><span class="o">.</span><span class="n">filepath</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s">&#39;</span><span class="se">\\</span><span class="s">&#39;</span><span class="p">,</span> <span class="s">&#39;/&#39;</span><span class="p">)</span>
251            <span class="bp">self</span><span class="o">.</span><span class="n">shell</span><span class="o">.</span><span class="n">Execute</span><span class="p">(</span><span class="s">&quot;execfile(&#39;</span><span class="si">%s</span><span class="s">&#39;)&quot;</span><span class="o">%</span> <span class="n">forward_path</span><span class="p">)</span> 
252            <span class="bp">self</span><span class="o">.</span><span class="n">shell</span><span class="o">.</span><span class="n">Hide</span><span class="p">()</span>
253            <span class="bp">self</span><span class="o">.</span><span class="n">shell</span><span class="o">.</span><span class="n">Show</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span>
254            <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">shell</span><span class="o">.</span><span class="n">GetText</span><span class="p">()</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">&quot;&gt;&gt;&gt;&quot;</span><span class="p">)[</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span>
255        <span class="k">else</span><span class="p">:</span>
256            <span class="n">mssg</span> <span class="o">=</span> <span class="s">&quot;</span><span class="se">\n</span><span class="s"> This is not a python file.&quot;</span>
257            <span class="n">title</span> <span class="o">=</span> <span class="s">&#39;Error&#39;</span>
258            <span class="n">icon</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">ICON_ERROR</span>
259            <span class="n">wx</span><span class="o">.</span><span class="n">MessageBox</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">mssg</span><span class="p">),</span> <span class="n">title</span><span class="p">,</span> <span class="n">style</span><span class="o">=</span><span class="n">icon</span><span class="p">)</span>
260            <span class="k">return</span> <span class="mi">0</span>
261        </div>
262<div class="viewcode-block" id="PyConsole.OnCompile"><a class="viewcode-back" href="../../../../dev/api/sas.perspectives.calculator.html#sas.perspectives.calculator.pyconsole.PyConsole.OnCompile">[docs]</a>    <span class="k">def</span> <span class="nf">OnCompile</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">event</span><span class="p">):</span>
263        <span class="sd">&quot;&quot;&quot;</span>
264<span class="sd">        Compile</span>
265<span class="sd">        &quot;&quot;&quot;</span>
266        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_check_changed</span><span class="p">():</span>
267            <span class="k">return</span> <span class="bp">True</span>
268        <span class="n">run_out</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">OnRun</span><span class="p">(</span><span class="bp">None</span><span class="p">)</span>
269        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_get_err_msg</span><span class="p">(</span><span class="n">run_out</span><span class="p">):</span>
270            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">_manager</span> <span class="o">!=</span> <span class="bp">None</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">panel</span> <span class="o">!=</span> <span class="bp">None</span><span class="p">:</span>
271                <span class="bp">self</span><span class="o">.</span><span class="n">_manager</span><span class="o">.</span><span class="n">set_edit_menu_helper</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">parent</span><span class="p">)</span>
272                <span class="c"># Update custom model list in fitpage combobox</span>
273                <span class="n">wx</span><span class="o">.</span><span class="n">CallAfter</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_manager</span><span class="o">.</span><span class="n">update_custom_combo</span><span class="p">)</span>
274    </div>
275    <span class="k">def</span> <span class="nf">_check_changed</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>   
276        <span class="sd">&quot;&quot;&quot;</span>
277<span class="sd">        If content was changed, suggest to save it first</span>
278<span class="sd">        &quot;&quot;&quot;</span>
279        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">bufferHasChanged</span><span class="p">()</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">buffer</span><span class="o">.</span><span class="n">doc</span><span class="o">.</span><span class="n">filepath</span><span class="p">:</span>
280            <span class="n">cancel</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">bufferSuggestSave</span><span class="p">()</span>
281            <span class="k">if</span> <span class="n">cancel</span><span class="p">:</span>
282                <span class="k">return</span> <span class="n">cancel</span>
283             
284    <span class="k">def</span> <span class="nf">_get_err_msg</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">text</span><span class="o">=</span><span class="s">&#39;&#39;</span><span class="p">):</span>
285        <span class="sd">&quot;&quot;&quot;</span>
286<span class="sd">        Get err_msg</span>
287<span class="sd">        &quot;&quot;&quot;</span>
288        <span class="n">name</span> <span class="o">=</span> <span class="bp">None</span>
289        <span class="n">mssg</span> <span class="o">=</span> <span class="s">&quot;</span><span class="se">\n</span><span class="s"> This is not a python file.&quot;</span>
290        <span class="n">title</span> <span class="o">=</span> <span class="s">&#39;Error&#39;</span>
291        <span class="n">icon</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">ICON_ERROR</span>
292        <span class="k">try</span><span class="p">:</span>
293            <span class="n">fname</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">editor</span><span class="o">.</span><span class="n">getStatus</span><span class="p">()[</span><span class="mi">0</span><span class="p">]</span>
294            <span class="n">name</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">basename</span><span class="p">(</span><span class="n">fname</span><span class="p">)</span>
295            <span class="k">if</span> <span class="n">name</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">&#39;.&#39;</span><span class="p">)[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">!=</span> <span class="s">&#39;py&#39;</span><span class="p">:</span>
296                <span class="n">wx</span><span class="o">.</span><span class="n">MessageBox</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">mssg</span><span class="p">),</span> <span class="n">title</span><span class="p">,</span> <span class="n">style</span><span class="o">=</span><span class="n">icon</span><span class="p">)</span>
297                <span class="k">return</span> <span class="bp">False</span>
298            <span class="n">msg</span> <span class="o">=</span> <span class="n">compile_file</span><span class="p">(</span><span class="n">fname</span><span class="p">)</span>
299        <span class="k">except</span><span class="p">:</span>
300            <span class="n">msg</span> <span class="o">=</span> <span class="bp">None</span>
301        <span class="k">if</span> <span class="n">name</span> <span class="o">==</span> <span class="bp">None</span><span class="p">:</span>
302            <span class="n">wx</span><span class="o">.</span><span class="n">MessageBox</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">mssg</span><span class="p">),</span> <span class="n">title</span><span class="p">,</span> <span class="n">style</span><span class="o">=</span><span class="n">icon</span><span class="p">)</span>
303            <span class="k">return</span> <span class="bp">False</span>
304        <span class="n">mssg</span> <span class="o">=</span> <span class="s">&quot;Compiling &#39;</span><span class="si">%s</span><span class="s">&#39;...</span><span class="se">\n</span><span class="s">&quot;</span><span class="o">%</span> <span class="n">name</span>
305        <span class="k">if</span> <span class="n">msg</span> <span class="o">!=</span> <span class="bp">None</span><span class="p">:</span>
306            <span class="n">mssg</span> <span class="o">+=</span> <span class="s">&quot;Error occurred:</span><span class="se">\n</span><span class="s">&quot;</span>
307            <span class="n">mssg</span> <span class="o">+=</span> <span class="nb">str</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span> <span class="o">+</span> <span class="s">&quot;</span><span class="se">\n\n</span><span class="s">&quot;</span>
308            <span class="k">if</span> <span class="n">text</span><span class="p">:</span>
309                <span class="n">mssg</span> <span class="o">+=</span> <span class="s">&quot;Run-Test results:</span><span class="se">\n</span><span class="s">&quot;</span>
310                <span class="n">mssg</span> <span class="o">+=</span> <span class="nb">str</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
311                <span class="n">title</span> <span class="o">=</span> <span class="s">&#39;Warning&#39;</span>
312                <span class="n">icon</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">ICON_WARNING</span>
313        <span class="k">else</span><span class="p">:</span>
314            <span class="n">mssg</span> <span class="o">+=</span> <span class="s">&quot;Successful.</span><span class="se">\n\n</span><span class="s">&quot;</span>
315            <span class="k">if</span> <span class="n">text</span><span class="p">:</span>
316                <span class="k">if</span> <span class="n">text</span><span class="o">.</span><span class="n">count</span><span class="p">(</span><span class="s">&#39;Failed&#39;</span><span class="p">)</span> <span class="ow">or</span> <span class="n">text</span><span class="o">.</span><span class="n">count</span><span class="p">(</span><span class="s">&#39;Error:&#39;</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">:</span>
317                    <span class="n">mssg</span> <span class="o">+=</span> <span class="s">&quot;But Simple Test FAILED: Please check your code.</span><span class="se">\n</span><span class="s">&quot;</span>
318                <span class="n">mssg</span> <span class="o">+=</span> <span class="s">&quot;Run-Test results:</span><span class="se">\n</span><span class="s">&quot;</span>
319                <span class="n">mssg</span> <span class="o">+=</span> <span class="nb">str</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
320            <span class="n">title</span> <span class="o">=</span> <span class="s">&#39;Info&#39;</span>
321            <span class="n">icon</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">ICON_INFORMATION</span>
322        <span class="n">dlg</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">lib</span><span class="o">.</span><span class="n">dialogs</span><span class="o">.</span><span class="n">ScrolledMessageDialog</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">mssg</span><span class="p">,</span> <span class="n">title</span><span class="p">,</span> 
323                                                   <span class="n">size</span> <span class="o">=</span> <span class="p">((</span><span class="mi">550</span><span class="p">,</span> <span class="mi">250</span><span class="p">)))</span>
324        <span class="n">fnt</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">Font</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="n">wx</span><span class="o">.</span><span class="n">TELETYPE</span><span class="p">,</span> <span class="n">wx</span><span class="o">.</span><span class="n">NORMAL</span><span class="p">,</span> <span class="n">wx</span><span class="o">.</span><span class="n">NORMAL</span><span class="p">)</span>
325        <span class="n">dlg</span><span class="o">.</span><span class="n">GetChildren</span><span class="p">()[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">SetFont</span><span class="p">(</span><span class="n">fnt</span><span class="p">)</span>
326        <span class="n">dlg</span><span class="o">.</span><span class="n">GetChildren</span><span class="p">()[</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">SetInsertionPoint</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
327        <span class="n">dlg</span><span class="o">.</span><span class="n">ShowModal</span><span class="p">()</span>
328        <span class="n">dlg</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span>
329        <span class="k">return</span> <span class="bp">True</span>
330   
331<div class="viewcode-block" id="PyConsole.OnUpdateCompileMenu"><a class="viewcode-back" href="../../../../dev/api/sas.perspectives.calculator.html#sas.perspectives.calculator.pyconsole.PyConsole.OnUpdateCompileMenu">[docs]</a>    <span class="k">def</span> <span class="nf">OnUpdateCompileMenu</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">event</span><span class="p">):</span>
332        <span class="sd">&quot;&quot;&quot;</span>
333<span class="sd">        Update Compile menu items based on current tap.</span>
334<span class="sd">        &quot;&quot;&quot;</span>
335        <span class="n">win</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">Window</span><span class="o">.</span><span class="n">FindFocus</span><span class="p">()</span>
336        <span class="nb">id</span> <span class="o">=</span> <span class="n">event</span><span class="o">.</span><span class="n">GetId</span><span class="p">()</span>
337        <span class="n">event</span><span class="o">.</span><span class="n">Enable</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span>
338        <span class="k">try</span><span class="p">:</span>
339            <span class="k">if</span> <span class="nb">id</span> <span class="o">==</span> <span class="n">ID_COMPILE</span> <span class="ow">or</span> <span class="nb">id</span> <span class="o">==</span> <span class="n">ID_RUN</span><span class="p">:</span>
340                <span class="n">menu_on</span> <span class="o">=</span> <span class="bp">False</span>
341                <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">buffer</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">buffer</span><span class="o">.</span><span class="n">doc</span><span class="o">.</span><span class="n">filepath</span><span class="p">:</span>
342                    <span class="n">menu_on</span> <span class="o">=</span> <span class="bp">True</span>
343                <span class="n">event</span><span class="o">.</span><span class="n">Enable</span><span class="p">(</span><span class="n">menu_on</span><span class="p">)</span>
344        <span class="k">except</span> <span class="ne">AttributeError</span><span class="p">:</span>
345            <span class="c"># This menu option is not supported in the current context.</span>
346            <span class="n">event</span><span class="o">.</span><span class="n">Enable</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span>
347            </div>
348<div class="viewcode-block" id="PyConsole.on_close"><a class="viewcode-back" href="../../../../dev/api/sas.perspectives.calculator.html#sas.perspectives.calculator.pyconsole.PyConsole.on_close">[docs]</a>    <span class="k">def</span> <span class="nf">on_close</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">event</span><span class="p">):</span>
349        <span class="sd">&quot;&quot;&quot;</span>
350<span class="sd">        Close event</span>
351<span class="sd">        &quot;&quot;&quot;</span>
352        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">base</span> <span class="o">!=</span> <span class="bp">None</span><span class="p">:</span>
353            <span class="bp">self</span><span class="o">.</span><span class="n">base</span><span class="o">.</span><span class="n">py_frame</span> <span class="o">=</span> <span class="bp">None</span>
354        <span class="bp">self</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span>
355                    </div></div>
356<span class="n">ABOUT</span> <span class="o">=</span>  <span class="s">&quot;Welcome to Python </span><span class="si">%s</span><span class="s">! </span><span class="se">\n\n</span><span class="s">&quot;</span><span class="o">%</span> <span class="n">sys</span><span class="o">.</span><span class="n">version</span><span class="o">.</span><span class="n">split</span><span class="p">()[</span><span class="mi">0</span><span class="p">]</span>
357<span class="n">ABOUT</span> <span class="o">+=</span> <span class="s">&quot;This uses Py Shell/Editor in wx (developed by Patrick K. O&#39;Brien).</span><span class="se">\n</span><span class="s">&quot;</span>
358<span class="n">ABOUT</span> <span class="o">+=</span> <span class="s">&quot;If this is your first time using Python, </span><span class="se">\n</span><span class="s">&quot;</span>
359<span class="n">ABOUT</span> <span class="o">+=</span> <span class="s">&quot;you should definitely check out the tutorial &quot;</span>
360<span class="n">ABOUT</span> <span class="o">+=</span> <span class="s">&quot;on the Internet at http://www.python.org/doc/tut/.&quot;</span>
361 
362       
363<span class="k">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">&quot;__main__&quot;</span><span class="p">:</span>
364   
365    <span class="n">app</span>  <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">App</span><span class="p">()</span>
366    <span class="n">dlg</span> <span class="o">=</span> <span class="n">PyConsole</span><span class="p">()</span>
367    <span class="n">dlg</span><span class="o">.</span><span class="n">Show</span><span class="p">()</span>
368    <span class="n">app</span><span class="o">.</span><span class="n">MainLoop</span><span class="p">()</span>
369</pre></div>
370
371          </div>
372        </div>
373      </div>
374      <div class="sphinxsidebar">
375        <div class="sphinxsidebarwrapper">
376<div id="searchbox" style="display: none">
377  <h3>Quick search</h3>
378    <form class="search" action="../../../../search.html" method="get">
379      <input type="text" name="q" />
380      <input type="submit" value="Go" />
381      <input type="hidden" name="check_keywords" value="yes" />
382      <input type="hidden" name="area" value="default" />
383    </form>
384    <p class="searchtip" style="font-size: 90%">
385    Enter search terms or a module, class or function name.
386    </p>
387</div>
388<script type="text/javascript">$('#searchbox').show(0);</script>
389        </div>
390      </div>
391      <div class="clearer"></div>
392    </div>
393    <div class="related">
394      <h3>Navigation</h3>
395      <ul>
396        <li class="right" style="margin-right: 10px">
397          <a href="../../../../genindex.html" title="General Index"
398             >index</a></li>
399        <li class="right" >
400          <a href="../../../../py-modindex.html" title="Python Module Index"
401             >modules</a> |</li>
402        <li><a href="../../../../index.html">SasView 3.0.0 documentation</a> &raquo;</li>
403          <li><a href="../../../index.html" >Module code</a> &raquo;</li>
404          <li><a href="../calculator.html" >sas.perspectives.calculator</a> &raquo;</li> 
405      </ul>
406    </div>
407    <div class="footer">
408        &copy; Copyright 2013, The SasView Project.
409      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
410    </div>
411  </body>
412</html>
Note: See TracBrowser for help on using the repository browser.