source: sasview/_modules/sas/perspectives/calculator/slit_length_calculator_panel.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: 52.2 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.slit_length_calculator_panel &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.slit_length_calculator_panel</h1><div class="highlight"><pre>
52<span class="sd">&quot;&quot;&quot;</span>
53<span class="sd">This software was developed by the University of Tennessee as part of the</span>
54<span class="sd">Distributed Data Analysis of Neutron Scattering Experiments (DANSE)</span>
55<span class="sd">project funded by the US National Science Foundation. </span>
56
57<span class="sd">See the license text in license.txt</span>
58
59<span class="sd">copyright 2008, 2009, University of Tennessee</span>
60<span class="sd">&quot;&quot;&quot;</span>
61
62<span class="kn">import</span> <span class="nn">wx</span>
63<span class="kn">import</span> <span class="nn">sys</span>
64<span class="kn">import</span> <span class="nn">os</span>
65
66<span class="kn">from</span> <span class="nn">sas.guiframe.panel_base</span> <span class="kn">import</span> <span class="n">PanelBase</span>
67
68<span class="kn">from</span> <span class="nn">sas.guiframe.events</span> <span class="kn">import</span> <span class="n">StatusEvent</span> 
69<span class="kn">from</span> <span class="nn">sas.calculator.slit_length_calculator</span> <span class="kn">import</span> <span class="n">SlitlengthCalculator</span> 
70<span class="kn">from</span> <span class="nn">calculator_widgets</span> <span class="kn">import</span> <span class="n">OutputTextCtrl</span>
71<span class="kn">from</span> <span class="nn">calculator_widgets</span> <span class="kn">import</span> <span class="n">InterActiveOutputTextCtrl</span>
72<span class="kn">from</span> <span class="nn">sas.perspectives.calculator</span> <span class="kn">import</span> <span class="n">calculator_widgets</span> <span class="k">as</span> <span class="n">widget</span>   
73
74<span class="n">_BOX_WIDTH</span> <span class="o">=</span> <span class="mi">76</span>
75<span class="c">#Slit length panel size </span>
76<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>
77    <span class="n">PANEL_WIDTH</span> <span class="o">=</span> <span class="mi">500</span>
78    <span class="n">PANEL_HEIGHT</span> <span class="o">=</span> <span class="mi">200</span>
79    <span class="n">FONT_VARIANT</span> <span class="o">=</span> <span class="mi">0</span>
80<span class="k">else</span><span class="p">:</span>
81    <span class="n">PANEL_WIDTH</span> <span class="o">=</span> <span class="mi">530</span>
82    <span class="n">PANEL_HEIGHT</span> <span class="o">=</span> <span class="mi">210</span>
83    <span class="n">FONT_VARIANT</span> <span class="o">=</span> <span class="mi">1</span>
84 
85<div class="viewcode-block" id="SlitLengthCalculatorPanel"><a class="viewcode-back" href="../../../../dev/api/sas.perspectives.calculator.html#sas.perspectives.calculator.slit_length_calculator_panel.SlitLengthCalculatorPanel">[docs]</a><span class="k">class</span> <span class="nc">SlitLengthCalculatorPanel</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">Panel</span><span class="p">,</span> <span class="n">PanelBase</span><span class="p">):</span>
86    <span class="sd">&quot;&quot;&quot;</span>
87<span class="sd">        Provides the slit length calculator GUI.</span>
88<span class="sd">    &quot;&quot;&quot;</span>
89    <span class="c">## Internal nickname for the window, used by the AUI manager</span>
90    <span class="n">window_name</span> <span class="o">=</span> <span class="s">&quot;Slit Size Calculator&quot;</span>
91    <span class="c">## Name to appear on the window title bar</span>
92    <span class="n">window_caption</span> <span class="o">=</span> <span class="s">&quot;Slit Size Calculator&quot;</span>
93    <span class="c">## Flag to tell the AUI manager to put this panel in the center pane</span>
94    <span class="n">CENTER_PANE</span> <span class="o">=</span> <span class="bp">True</span>
95   
96    <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="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwds</span><span class="p">):</span>
97        <span class="n">wx</span><span class="o">.</span><span class="n">Panel</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="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwds</span><span class="p">)</span>
98        <span class="n">PanelBase</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
99        <span class="c">#Font size </span>
100        <span class="bp">self</span><span class="o">.</span><span class="n">SetWindowVariant</span><span class="p">(</span><span class="n">variant</span><span class="o">=</span><span class="n">FONT_VARIANT</span><span class="p">)</span>
101        <span class="c">#thread to read data </span>
102        <span class="bp">self</span><span class="o">.</span><span class="n">reader</span> <span class="o">=</span> <span class="bp">None</span>
103        <span class="c"># Default location</span>
104        <span class="bp">self</span><span class="o">.</span><span class="n">_default_save_location</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">getcwd</span><span class="p">()</span> 
105        <span class="c"># Object that receive status event</span>
106        <span class="bp">self</span><span class="o">.</span><span class="n">parent</span> <span class="o">=</span> <span class="n">parent</span>
107        <span class="bp">self</span><span class="o">.</span><span class="n">_do_layout</span><span class="p">()</span>
108       
109    <span class="k">def</span> <span class="nf">_define_structure</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
110        <span class="sd">&quot;&quot;&quot;</span>
111<span class="sd">            Define the main sizers building to build this application.</span>
112<span class="sd">        &quot;&quot;&quot;</span>
113        <span class="bp">self</span><span class="o">.</span><span class="n">main_sizer</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">BoxSizer</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">VERTICAL</span><span class="p">)</span>
114        <span class="bp">self</span><span class="o">.</span><span class="n">box_source</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">StaticBox</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="nb">str</span><span class="p">(</span><span class="s">&quot;Slit Size Calculator&quot;</span><span class="p">))</span>
115        <span class="bp">self</span><span class="o">.</span><span class="n">boxsizer_source</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">StaticBoxSizer</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">box_source</span><span class="p">,</span>
116                                                    <span class="n">wx</span><span class="o">.</span><span class="n">VERTICAL</span><span class="p">)</span>
117        <span class="bp">self</span><span class="o">.</span><span class="n">data_name_sizer</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">BoxSizer</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">HORIZONTAL</span><span class="p">)</span>
118        <span class="bp">self</span><span class="o">.</span><span class="n">slit_size_sizer</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">BoxSizer</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">HORIZONTAL</span><span class="p">)</span>
119        <span class="bp">self</span><span class="o">.</span><span class="n">hint_sizer</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">BoxSizer</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">HORIZONTAL</span><span class="p">)</span>
120        <span class="bp">self</span><span class="o">.</span><span class="n">button_sizer</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">BoxSizer</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">HORIZONTAL</span><span class="p">)</span>
121       
122    <span class="k">def</span> <span class="nf">_layout_data_name</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
123        <span class="sd">&quot;&quot;&quot;</span>
124<span class="sd">            Fill the sizer containing data&#39;s name</span>
125<span class="sd">        &quot;&quot;&quot;</span>
126        <span class="n">data_name_txt</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="s">&#39;Data: &#39;</span><span class="p">)</span>
127        <span class="bp">self</span><span class="o">.</span><span class="n">data_name_tcl</span> <span class="o">=</span> <span class="n">OutputTextCtrl</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> 
128                                            <span class="n">size</span><span class="o">=</span><span class="p">(</span><span class="n">_BOX_WIDTH</span><span class="o">*</span><span class="mi">4</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">))</span>
129        <span class="n">data_hint</span> <span class="o">=</span> <span class="s">&quot;Loaded data&quot;</span>
130        <span class="bp">self</span><span class="o">.</span><span class="n">data_name_tcl</span><span class="o">.</span><span class="n">SetToolTipString</span><span class="p">(</span><span class="n">data_hint</span><span class="p">)</span>
131        <span class="c">#control that triggers importing data</span>
132        <span class="nb">id</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">NewId</span><span class="p">()</span>
133        <span class="bp">self</span><span class="o">.</span><span class="n">browse_button</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">Button</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="nb">id</span><span class="p">,</span> <span class="s">&quot;Browse&quot;</span><span class="p">)</span>
134        <span class="n">hint_on_browse</span> <span class="o">=</span> <span class="s">&quot;Click on this button to import data in this panel.&quot;</span>
135        <span class="bp">self</span><span class="o">.</span><span class="n">browse_button</span><span class="o">.</span><span class="n">SetToolTipString</span><span class="p">(</span><span class="n">hint_on_browse</span><span class="p">)</span>
136        <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_BUTTON</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">on_load_data</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="nb">id</span><span class="p">)</span>
137        <span class="bp">self</span><span class="o">.</span><span class="n">data_name_sizer</span><span class="o">.</span><span class="n">AddMany</span><span class="p">([(</span><span class="n">data_name_txt</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">wx</span><span class="o">.</span><span class="n">LEFT</span><span class="p">,</span> <span class="mi">15</span><span class="p">),</span>
138                                      <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">data_name_tcl</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">wx</span><span class="o">.</span><span class="n">LEFT</span><span class="p">,</span> <span class="mi">10</span><span class="p">),</span>
139                                      <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">browse_button</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">wx</span><span class="o">.</span><span class="n">LEFT</span><span class="p">,</span> <span class="mi">10</span><span class="p">)])</span>
140    <span class="k">def</span> <span class="nf">_layout_slit_size</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
141        <span class="sd">&quot;&quot;&quot;</span>
142<span class="sd">            Fill the sizer containing slit size information</span>
143<span class="sd">        &quot;&quot;&quot;</span>
144        <span class="n">slit_size_txt</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="s">&#39;Slit Size (FWHM/2): &#39;</span><span class="p">)</span>
145        <span class="bp">self</span><span class="o">.</span><span class="n">slit_size_tcl</span> <span class="o">=</span> <span class="n">InterActiveOutputTextCtrl</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span>
146                                                       <span class="n">size</span><span class="o">=</span><span class="p">(</span><span class="n">_BOX_WIDTH</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">))</span>
147        <span class="n">slit_size_hint</span> <span class="o">=</span> <span class="s">&quot; Estimated full slit size&quot;</span>
148        <span class="bp">self</span><span class="o">.</span><span class="n">slit_size_tcl</span><span class="o">.</span><span class="n">SetToolTipString</span><span class="p">(</span><span class="n">slit_size_hint</span><span class="p">)</span>
149        <span class="n">slit_size_unit_txt</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="s">&#39;Unit: &#39;</span><span class="p">)</span>
150        <span class="bp">self</span><span class="o">.</span><span class="n">slit_size_unit_tcl</span> <span class="o">=</span> <span class="n">OutputTextCtrl</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> 
151                                                 <span class="n">size</span><span class="o">=</span><span class="p">(</span><span class="n">_BOX_WIDTH</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">))</span> 
152        <span class="n">slit_size_unit_hint</span> <span class="o">=</span> <span class="s">&quot;Full slit size&#39;s unit&quot;</span>
153        <span class="bp">self</span><span class="o">.</span><span class="n">slit_size_unit_tcl</span><span class="o">.</span><span class="n">SetToolTipString</span><span class="p">(</span><span class="n">slit_size_unit_hint</span><span class="p">)</span>
154        <span class="bp">self</span><span class="o">.</span><span class="n">slit_size_sizer</span><span class="o">.</span><span class="n">AddMany</span><span class="p">([(</span><span class="n">slit_size_txt</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">wx</span><span class="o">.</span><span class="n">LEFT</span><span class="p">,</span> <span class="mi">15</span><span class="p">),</span>
155                                      <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">slit_size_tcl</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">wx</span><span class="o">.</span><span class="n">LEFT</span><span class="p">,</span> <span class="mi">10</span><span class="p">),</span>
156                                      <span class="p">(</span><span class="n">slit_size_unit_txt</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">wx</span><span class="o">.</span><span class="n">LEFT</span><span class="p">,</span> <span class="mi">10</span><span class="p">),</span>
157                                    <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">slit_size_unit_tcl</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">wx</span><span class="o">.</span><span class="n">LEFT</span><span class="p">,</span> <span class="mi">10</span><span class="p">)])</span>
158   
159    <span class="k">def</span> <span class="nf">_layout_hint</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
160        <span class="sd">&quot;&quot;&quot;</span>
161<span class="sd">            Fill the sizer containing hint </span>
162<span class="sd">        &quot;&quot;&quot;</span>
163        <span class="n">hint_msg</span> <span class="o">=</span> <span class="s">&quot;This calculation works only for  SAXSess beam profile data.&quot;</span>
164        <span class="bp">self</span><span class="o">.</span><span class="n">hint_txt</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="n">hint_msg</span><span class="p">)</span>
165        <span class="bp">self</span><span class="o">.</span><span class="n">hint_sizer</span><span class="o">.</span><span class="n">AddMany</span><span class="p">([(</span><span class="bp">self</span><span class="o">.</span><span class="n">hint_txt</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">wx</span><span class="o">.</span><span class="n">LEFT</span><span class="p">,</span> <span class="mi">15</span><span class="p">)])</span>
166   
167    <span class="k">def</span> <span class="nf">_layout_button</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span> 
168        <span class="sd">&quot;&quot;&quot;</span>
169<span class="sd">            Do the layout for the button widgets</span>
170<span class="sd">        &quot;&quot;&quot;</span> 
171        <span class="bp">self</span><span class="o">.</span><span class="n">bt_close</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">Button</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">wx</span><span class="o">.</span><span class="n">ID_CANCEL</span><span class="p">,</span><span class="s">&#39;Close&#39;</span><span class="p">)</span>
172        <span class="bp">self</span><span class="o">.</span><span class="n">bt_close</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_BUTTON</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">on_close</span><span class="p">)</span>
173        <span class="bp">self</span><span class="o">.</span><span class="n">bt_close</span><span class="o">.</span><span class="n">SetToolTipString</span><span class="p">(</span><span class="s">&quot;Close this window.&quot;</span><span class="p">)</span>
174        <span class="bp">self</span><span class="o">.</span><span class="n">button_sizer</span><span class="o">.</span><span class="n">AddMany</span><span class="p">([(</span><span class="bp">self</span><span class="o">.</span><span class="n">bt_close</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">wx</span><span class="o">.</span><span class="n">LEFT</span><span class="p">,</span> <span class="mi">390</span><span class="p">)])</span>
175       
176    <span class="k">def</span> <span class="nf">_do_layout</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
177        <span class="sd">&quot;&quot;&quot;</span>
178<span class="sd">            Draw window content</span>
179<span class="sd">        &quot;&quot;&quot;</span>
180        <span class="bp">self</span><span class="o">.</span><span class="n">_define_structure</span><span class="p">()</span>
181        <span class="bp">self</span><span class="o">.</span><span class="n">_layout_data_name</span><span class="p">()</span>
182        <span class="bp">self</span><span class="o">.</span><span class="n">_layout_slit_size</span><span class="p">()</span>
183        <span class="bp">self</span><span class="o">.</span><span class="n">_layout_hint</span><span class="p">()</span>
184        <span class="bp">self</span><span class="o">.</span><span class="n">_layout_button</span><span class="p">()</span>
185        <span class="bp">self</span><span class="o">.</span><span class="n">boxsizer_source</span><span class="o">.</span><span class="n">AddMany</span><span class="p">([(</span><span class="bp">self</span><span class="o">.</span><span class="n">data_name_sizer</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span>
186                                          <span class="n">wx</span><span class="o">.</span><span class="n">EXPAND</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">TOP</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">BOTTOM</span><span class="p">,</span> <span class="mi">5</span><span class="p">),</span>
187                                   <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">slit_size_sizer</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span>
188                                     <span class="n">wx</span><span class="o">.</span><span class="n">EXPAND</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">TOP</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">BOTTOM</span><span class="p">,</span> <span class="mi">5</span><span class="p">),</span>
189                                     <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">hint_sizer</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span>
190                                     <span class="n">wx</span><span class="o">.</span><span class="n">EXPAND</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">TOP</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">BOTTOM</span><span class="p">,</span> <span class="mi">5</span><span class="p">)])</span>
191        <span class="bp">self</span><span class="o">.</span><span class="n">main_sizer</span><span class="o">.</span><span class="n">AddMany</span><span class="p">([(</span><span class="bp">self</span><span class="o">.</span><span class="n">boxsizer_source</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="n">wx</span><span class="o">.</span><span class="n">ALL</span><span class="p">,</span> <span class="mi">10</span><span class="p">),</span>
192                                  <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">button_sizer</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span>
193                                    <span class="n">wx</span><span class="o">.</span><span class="n">EXPAND</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">TOP</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">BOTTOM</span><span class="p">,</span> <span class="mi">5</span><span class="p">)])</span>
194        <span class="bp">self</span><span class="o">.</span><span class="n">SetSizer</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">main_sizer</span><span class="p">)</span>
195        <span class="bp">self</span><span class="o">.</span><span class="n">SetAutoLayout</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span>
196       
197<div class="viewcode-block" id="SlitLengthCalculatorPanel.choose_data_file"><a class="viewcode-back" href="../../../../dev/api/sas.perspectives.calculator.html#sas.perspectives.calculator.slit_length_calculator_panel.SlitLengthCalculatorPanel.choose_data_file">[docs]</a>    <span class="k">def</span> <span class="nf">choose_data_file</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">location</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
198        <span class="n">path</span> <span class="o">=</span> <span class="bp">None</span>
199        <span class="n">filename</span> <span class="o">=</span> <span class="s">&#39;&#39;</span>
200        <span class="k">if</span> <span class="n">location</span> <span class="o">==</span> <span class="bp">None</span><span class="p">:</span>
201            <span class="n">location</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">getcwd</span><span class="p">()</span>
202       
203        <span class="n">wildcard</span> <span class="o">=</span> <span class="s">&quot;SAXSess Data 1D (*.DAT, *.dat)|*.DAT&quot;</span> 
204       
205        <span class="n">dlg</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">FileDialog</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s">&quot;Choose a file&quot;</span><span class="p">,</span> <span class="n">location</span><span class="p">,</span>
206                            <span class="s">&quot;&quot;</span><span class="p">,</span> <span class="n">wildcard</span><span class="p">,</span> <span class="n">wx</span><span class="o">.</span><span class="n">OPEN</span><span class="p">)</span>
207        <span class="k">if</span> <span class="n">dlg</span><span class="o">.</span><span class="n">ShowModal</span><span class="p">()</span> <span class="o">==</span> <span class="n">wx</span><span class="o">.</span><span class="n">ID_OK</span><span class="p">:</span>
208            <span class="n">path</span> <span class="o">=</span> <span class="n">dlg</span><span class="o">.</span><span class="n">GetPath</span><span class="p">()</span>
209            <span class="n">filename</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">path</span><span class="p">)</span>
210        <span class="n">dlg</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span>
211       
212        <span class="k">return</span> <span class="n">path</span>
213</div>
214<div class="viewcode-block" id="SlitLengthCalculatorPanel.on_close"><a class="viewcode-back" href="../../../../dev/api/sas.perspectives.calculator.html#sas.perspectives.calculator.slit_length_calculator_panel.SlitLengthCalculatorPanel.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>
215        <span class="sd">&quot;&quot;&quot;</span>
216<span class="sd">            close the window containing this panel</span>
217<span class="sd">        &quot;&quot;&quot;</span>
218        <span class="bp">self</span><span class="o">.</span><span class="n">parent</span><span class="o">.</span><span class="n">Close</span><span class="p">()</span>
219        </div>
220<div class="viewcode-block" id="SlitLengthCalculatorPanel.on_load_data"><a class="viewcode-back" href="../../../../dev/api/sas.perspectives.calculator.html#sas.perspectives.calculator.slit_length_calculator_panel.SlitLengthCalculatorPanel.on_load_data">[docs]</a>    <span class="k">def</span> <span class="nf">on_load_data</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">event</span><span class="p">):</span>
221        <span class="sd">&quot;&quot;&quot;</span>
222<span class="sd">            Open a file dialog to allow the user to select a given file.</span>
223<span class="sd">            The user is only allow to load file with extension .DAT or .dat.</span>
224<span class="sd">            Display the slit size corresponding to the loaded data.</span>
225<span class="sd">        &quot;&quot;&quot;</span>
226        <span class="n">path</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">choose_data_file</span><span class="p">(</span><span class="n">location</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">_default_save_location</span><span class="p">)</span>
227       
228        <span class="k">if</span> <span class="n">path</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
229            <span class="k">return</span> 
230        <span class="bp">self</span><span class="o">.</span><span class="n">_default_save_location</span> <span class="o">=</span> <span class="n">path</span>
231        <span class="k">try</span><span class="p">:</span>
232            <span class="c">#Load data</span>
233            <span class="kn">from</span> <span class="nn">load_thread</span> <span class="kn">import</span> <span class="n">DataReader</span>
234            <span class="c">## If a thread is already started, stop it</span>
235            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">reader</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">reader</span><span class="o">.</span><span class="n">isrunning</span><span class="p">():</span>
236                <span class="bp">self</span><span class="o">.</span><span class="n">reader</span><span class="o">.</span><span class="n">stop</span><span class="p">()</span>
237            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">parent</span><span class="o">.</span><span class="n">parent</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
238                <span class="n">wx</span><span class="o">.</span><span class="n">PostEvent</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">parent</span><span class="o">.</span><span class="n">parent</span><span class="p">,</span> 
239                                <span class="n">StatusEvent</span><span class="p">(</span><span class="n">status</span><span class="o">=</span><span class="s">&quot;Loading...&quot;</span><span class="p">,</span>
240                                <span class="nb">type</span><span class="o">=</span><span class="s">&quot;progress&quot;</span><span class="p">))</span>
241            <span class="bp">self</span><span class="o">.</span><span class="n">reader</span> <span class="o">=</span> <span class="n">DataReader</span><span class="p">(</span><span class="n">path</span><span class="o">=</span><span class="n">path</span><span class="p">,</span>
242                                    <span class="n">completefn</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">complete_loading</span><span class="p">,</span>
243                                    <span class="n">updatefn</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">load_update</span><span class="p">)</span>
244            <span class="bp">self</span><span class="o">.</span><span class="n">reader</span><span class="o">.</span><span class="n">queue</span><span class="p">()</span>
245            <span class="bp">self</span><span class="o">.</span><span class="n">load_update</span><span class="p">()</span>
246        <span class="k">except</span><span class="p">:</span>
247            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">parent</span><span class="o">.</span><span class="n">parent</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
248                <span class="k">return</span> 
249            <span class="n">msg</span> <span class="o">=</span> <span class="s">&quot;Slit Length Calculator: </span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">exc_value</span><span class="p">)</span>
250            <span class="n">wx</span><span class="o">.</span><span class="n">PostEvent</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">parent</span><span class="o">.</span><span class="n">parent</span><span class="p">,</span>
251                          <span class="n">StatusEvent</span><span class="p">(</span><span class="n">status</span><span class="o">=</span><span class="n">msg</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s">&#39;stop&#39;</span><span class="p">))</span>
252            <span class="k">return</span> 
253        </div>
254<div class="viewcode-block" id="SlitLengthCalculatorPanel.load_update"><a class="viewcode-back" href="../../../../dev/api/sas.perspectives.calculator.html#sas.perspectives.calculator.slit_length_calculator_panel.SlitLengthCalculatorPanel.load_update">[docs]</a>    <span class="k">def</span> <span class="nf">load_update</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
255        <span class="sd">&quot;&quot;&quot;</span>
256<span class="sd">        print update on the status bar</span>
257<span class="sd">        &quot;&quot;&quot;</span>
258        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">parent</span><span class="o">.</span><span class="n">parent</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
259                <span class="k">return</span> 
260        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">reader</span><span class="o">.</span><span class="n">isrunning</span><span class="p">():</span>
261            <span class="nb">type</span> <span class="o">=</span> <span class="s">&quot;progress&quot;</span>
262        <span class="k">else</span><span class="p">:</span>
263            <span class="nb">type</span> <span class="o">=</span> <span class="s">&quot;stop&quot;</span>
264        <span class="n">wx</span><span class="o">.</span><span class="n">PostEvent</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">parent</span><span class="o">.</span><span class="n">parent</span><span class="p">,</span> <span class="n">StatusEvent</span><span class="p">(</span><span class="n">status</span><span class="o">=</span><span class="s">&quot;&quot;</span><span class="p">,</span>
265                                                  <span class="nb">type</span><span class="o">=</span><span class="nb">type</span><span class="p">))</span>
266            </div>
267<div class="viewcode-block" id="SlitLengthCalculatorPanel.complete_loading"><a class="viewcode-back" href="../../../../dev/api/sas.perspectives.calculator.html#sas.perspectives.calculator.slit_length_calculator_panel.SlitLengthCalculatorPanel.complete_loading">[docs]</a>    <span class="k">def</span> <span class="nf">complete_loading</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">filename</span><span class="o">=</span><span class="s">&#39;&#39;</span><span class="p">):</span>
268        <span class="sd">&quot;&quot;&quot;</span>
269<span class="sd">            Complete the loading and compute the slit size</span>
270<span class="sd">        &quot;&quot;&quot;</span>
271        <span class="k">if</span> <span class="n">data</span> <span class="ow">is</span> <span class="bp">None</span> <span class="ow">or</span> <span class="n">data</span><span class="o">.</span><span class="n">__class__</span><span class="o">.</span><span class="n">__name__</span> <span class="o">==</span> <span class="s">&#39;Data2D&#39;</span><span class="p">:</span>
272            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">parent</span><span class="o">.</span><span class="n">parent</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
273                <span class="k">return</span> 
274            <span class="n">msg</span> <span class="o">=</span> <span class="s">&quot;Slit Length cannot be computed for 2D Data&quot;</span>
275            <span class="n">wx</span><span class="o">.</span><span class="n">PostEvent</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">parent</span><span class="o">.</span><span class="n">parent</span><span class="p">,</span> 
276                         <span class="n">StatusEvent</span><span class="p">(</span><span class="n">status</span><span class="o">=</span><span class="n">msg</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s">&#39;stop&#39;</span><span class="p">))</span>
277            <span class="k">return</span> 
278        <span class="bp">self</span><span class="o">.</span><span class="n">data_name_tcl</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">data</span><span class="o">.</span><span class="n">filename</span><span class="p">))</span>
279        <span class="c">#compute the slit size</span>
280        <span class="k">try</span><span class="p">:</span>
281            <span class="n">x</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">x</span>
282            <span class="n">y</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">y</span>
283            <span class="k">if</span> <span class="n">x</span> <span class="o">==</span> <span class="p">[]</span> <span class="ow">or</span>  <span class="n">x</span> <span class="ow">is</span> <span class="bp">None</span> <span class="ow">or</span> <span class="n">y</span> <span class="o">==</span> <span class="p">[]</span> <span class="ow">or</span> <span class="n">y</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
284                <span class="n">msg</span> <span class="o">=</span> <span class="s">&quot;The current data is empty please check x and y&quot;</span>
285                <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">,</span> <span class="n">msg</span>
286            <span class="n">slit_length_calculator</span> <span class="o">=</span> <span class="n">SlitlengthCalculator</span><span class="p">()</span>
287            <span class="n">slit_length_calculator</span><span class="o">.</span><span class="n">set_data</span><span class="p">(</span><span class="n">x</span><span class="o">=</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="o">=</span><span class="n">y</span><span class="p">)</span>
288            <span class="n">slit_length</span> <span class="o">=</span> <span class="n">slit_length_calculator</span><span class="o">.</span><span class="n">calculate_slit_length</span><span class="p">()</span>
289        <span class="k">except</span><span class="p">:</span>
290            <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">parent</span><span class="o">.</span><span class="n">parent</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
291                <span class="k">return</span> 
292            <span class="n">msg</span> <span class="o">=</span> <span class="s">&quot;Slit Size Calculator: </span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">exc_value</span><span class="p">)</span>
293            <span class="n">wx</span><span class="o">.</span><span class="n">PostEvent</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">parent</span><span class="o">.</span><span class="n">parent</span><span class="p">,</span>
294                          <span class="n">StatusEvent</span><span class="p">(</span><span class="n">status</span><span class="o">=</span><span class="n">msg</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s">&#39;stop&#39;</span><span class="p">))</span>
295            <span class="k">return</span> 
296        <span class="bp">self</span><span class="o">.</span><span class="n">slit_size_tcl</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">slit_length</span><span class="p">))</span>
297        <span class="c">#Display unit</span>
298        <span class="bp">self</span><span class="o">.</span><span class="n">slit_size_unit_tcl</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="s">&#39;[Unknown]&#39;</span><span class="p">)</span>
299        <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">parent</span><span class="o">.</span><span class="n">parent</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
300            <span class="k">return</span> 
301        <span class="n">msg</span> <span class="o">=</span> <span class="s">&quot;Load Complete&quot;</span>
302        <span class="n">wx</span><span class="o">.</span><span class="n">PostEvent</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">parent</span><span class="o">.</span><span class="n">parent</span><span class="p">,</span> <span class="n">StatusEvent</span><span class="p">(</span><span class="n">status</span><span class="o">=</span><span class="n">msg</span><span class="p">,</span> <span class="nb">type</span><span class="o">=</span><span class="s">&#39;stop&#39;</span><span class="p">))</span>
303   
304    </div></div>
305<div class="viewcode-block" id="SlitLengthCalculatorWindow"><a class="viewcode-back" href="../../../../dev/api/sas.perspectives.calculator.html#sas.perspectives.calculator.slit_length_calculator_panel.SlitLengthCalculatorWindow">[docs]</a><span class="k">class</span> <span class="nc">SlitLengthCalculatorWindow</span><span class="p">(</span><span class="n">widget</span><span class="o">.</span><span class="n">CHILD_FRAME</span><span class="p">):</span>
306    <span class="sd">&quot;&quot;&quot;</span>
307<span class="sd">    &quot;&quot;&quot;</span>
308    <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">manager</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">title</span><span class="o">=</span><span class="s">&quot;Slit Size Calculator&quot;</span><span class="p">,</span>
309                <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> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwds</span><span class="p">):</span>
310        <span class="sd">&quot;&quot;&quot;</span>
311<span class="sd">        &quot;&quot;&quot;</span>
312        <span class="n">kwds</span><span class="p">[</span><span class="s">&#39;size&#39;</span><span class="p">]</span><span class="o">=</span> <span class="n">size</span>
313        <span class="n">kwds</span><span class="p">[</span><span class="s">&#39;title&#39;</span><span class="p">]</span><span class="o">=</span> <span class="n">title</span>
314        <span class="n">widget</span><span class="o">.</span><span class="n">CHILD_FRAME</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="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="o">**</span><span class="n">kwds</span><span class="p">)</span>
315        <span class="bp">self</span><span class="o">.</span><span class="n">parent</span> <span class="o">=</span> <span class="n">parent</span>
316        <span class="bp">self</span><span class="o">.</span><span class="n">manager</span> <span class="o">=</span> <span class="n">manager</span>
317        <span class="bp">self</span><span class="o">.</span><span class="n">panel</span> <span class="o">=</span> <span class="n">SlitLengthCalculatorPanel</span><span class="p">(</span><span class="n">parent</span><span class="o">=</span><span class="bp">self</span><span class="p">)</span>
318        <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>
319        <span class="bp">self</span><span class="o">.</span><span class="n">SetPosition</span><span class="p">((</span><span class="mi">25</span><span class="p">,</span> <span class="mi">150</span><span class="p">))</span>
320        <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>
321
322<div class="viewcode-block" id="SlitLengthCalculatorWindow.on_close"><a class="viewcode-back" href="../../../../dev/api/sas.perspectives.calculator.html#sas.perspectives.calculator.slit_length_calculator_panel.SlitLengthCalculatorWindow.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>
323        <span class="sd">&quot;&quot;&quot;</span>
324<span class="sd">        Close event</span>
325<span class="sd">        &quot;&quot;&quot;</span>
326        <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="p">:</span>
327            <span class="bp">self</span><span class="o">.</span><span class="n">manager</span><span class="o">.</span><span class="n">cal_slit_frame</span> <span class="o">=</span> <span class="bp">None</span>
328        <span class="bp">self</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span>
329        </div></div>
330<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> 
331    <span class="n">app</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">PySimpleApp</span><span class="p">()</span>
332    <span class="n">widget</span><span class="o">.</span><span class="n">CHILD_FRAME</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">Frame</span>
333    <span class="n">frame</span> <span class="o">=</span> <span class="n">SlitLengthCalculatorWindow</span><span class="p">()</span>   
334    <span class="n">frame</span><span class="o">.</span><span class="n">Show</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span>
335    <span class="n">app</span><span class="o">.</span><span class="n">MainLoop</span><span class="p">()</span>     
336</pre></div>
337
338          </div>
339        </div>
340      </div>
341      <div class="sphinxsidebar">
342        <div class="sphinxsidebarwrapper">
343<div id="searchbox" style="display: none">
344  <h3>Quick search</h3>
345    <form class="search" action="../../../../search.html" method="get">
346      <input type="text" name="q" />
347      <input type="submit" value="Go" />
348      <input type="hidden" name="check_keywords" value="yes" />
349      <input type="hidden" name="area" value="default" />
350    </form>
351    <p class="searchtip" style="font-size: 90%">
352    Enter search terms or a module, class or function name.
353    </p>
354</div>
355<script type="text/javascript">$('#searchbox').show(0);</script>
356        </div>
357      </div>
358      <div class="clearer"></div>
359    </div>
360    <div class="related">
361      <h3>Navigation</h3>
362      <ul>
363        <li class="right" style="margin-right: 10px">
364          <a href="../../../../genindex.html" title="General Index"
365             >index</a></li>
366        <li class="right" >
367          <a href="../../../../py-modindex.html" title="Python Module Index"
368             >modules</a> |</li>
369        <li><a href="../../../../index.html">SasView 3.0.0 documentation</a> &raquo;</li>
370          <li><a href="../../../index.html" >Module code</a> &raquo;</li>
371          <li><a href="../calculator.html" >sas.perspectives.calculator</a> &raquo;</li> 
372      </ul>
373    </div>
374    <div class="footer">
375        &copy; Copyright 2013, The SasView Project.
376      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
377    </div>
378  </body>
379</html>
Note: See TracBrowser for help on using the repository browser.