Ignore:
Timestamp:
Mar 14, 2015 5:35:03 PM (8 years ago)
Author:
toby
Message:

change sphinx docs links; rebuild & fixing minor formatting

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sphinxdocs/build/html/_modules/GSASIIphsGUI.html

    r1513 r1709  
    5252<span class="c">#GSASII - phase data display routines</span>
    5353<span class="c">########### SVN repository information ###################</span>
    54 <span class="c"># $Date: 2014-09-26 09:41:33 -0500 (Fri, 26 Sep 2014) $</span>
     54<span class="c"># $Date: 2015-03-13 15:46:05 -0500 (Fri, 13 Mar 2015) $</span>
    5555<span class="c"># $Author: vondreele $</span>
    56 <span class="c"># $Revision: 1506 $</span>
     56<span class="c"># $Revision: 1699 $</span>
    5757<span class="c"># $URL: https://subversion.xray.aps.anl.gov/pyGSAS/trunk/GSASIIphsGUI.py $</span>
    58 <span class="c"># $Id: GSASIIphsGUI.py 1506 2014-09-26 14:41:33Z vondreele $</span>
     58<span class="c"># $Id: GSASIIphsGUI.py 1699 2015-03-13 20:46:05Z vondreele $</span>
    5959<span class="c">########### SVN repository information ###################</span>
    6060<span class="sd">&#39;&#39;&#39;</span>
     
    8585<span class="kn">import</span> <span class="nn">cPickle</span>
    8686<span class="kn">import</span> <span class="nn">GSASIIpath</span>
    87 <span class="n">GSASIIpath</span><span class="o">.</span><span class="n">SetVersionNumber</span><span class="p">(</span><span class="s">&quot;$Revision: 1506 $&quot;</span><span class="p">)</span>
     87<span class="n">GSASIIpath</span><span class="o">.</span><span class="n">SetVersionNumber</span><span class="p">(</span><span class="s">&quot;$Revision: 1699 $&quot;</span><span class="p">)</span>
    8888<span class="kn">import</span> <span class="nn">GSASIIlattice</span> <span class="kn">as</span> <span class="nn">G2lat</span>
    8989<span class="kn">import</span> <span class="nn">GSASIIspc</span> <span class="kn">as</span> <span class="nn">G2spc</span>
     
    9999<span class="kn">import</span> <span class="nn">GSASIIpy3</span> <span class="kn">as</span> <span class="nn">G2py3</span>
    100100<span class="kn">import</span> <span class="nn">GSASIIobj</span> <span class="kn">as</span> <span class="nn">G2obj</span>
     101<span class="kn">import</span> <span class="nn">GSASIIctrls</span> <span class="kn">as</span> <span class="nn">G2G</span>
    101102<span class="kn">import</span> <span class="nn">numpy</span> <span class="kn">as</span> <span class="nn">np</span>
    102103<span class="kn">import</span> <span class="nn">numpy.linalg</span> <span class="kn">as</span> <span class="nn">nl</span>
     
    109110<span class="n">mapDefault</span> <span class="o">=</span> <span class="p">{</span><span class="s">&#39;MapType&#39;</span><span class="p">:</span><span class="s">&#39;&#39;</span><span class="p">,</span><span class="s">&#39;RefList&#39;</span><span class="p">:</span><span class="s">&#39;&#39;</span><span class="p">,</span><span class="s">&#39;Resolution&#39;</span><span class="p">:</span><span class="mf">0.5</span><span class="p">,</span><span class="s">&#39;Show bonds&#39;</span><span class="p">:</span><span class="bp">True</span><span class="p">,</span>
    110111                <span class="s">&#39;rho&#39;</span><span class="p">:[],</span><span class="s">&#39;rhoMax&#39;</span><span class="p">:</span><span class="mf">0.</span><span class="p">,</span><span class="s">&#39;mapSize&#39;</span><span class="p">:</span><span class="mf">10.0</span><span class="p">,</span><span class="s">&#39;cutOff&#39;</span><span class="p">:</span><span class="mf">50.</span><span class="p">,</span><span class="s">&#39;Flip&#39;</span><span class="p">:</span><span class="bp">False</span><span class="p">}</span>
     112<span class="n">TabSelectionIdDict</span> <span class="o">=</span> <span class="p">{}</span>
    111113<span class="c"># trig functions in degrees</span>
    112114<span class="n">sind</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">np</span><span class="o">.</span><span class="n">sin</span><span class="p">(</span><span class="n">x</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="o">/</span><span class="mf">180.</span><span class="p">)</span>
     
    120122    <span class="n">Size</span> <span class="o">=</span> <span class="n">mainSizer</span><span class="o">.</span><span class="n">GetMinSize</span><span class="p">()</span>
    121123    <span class="n">Size</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">+=</span> <span class="mi">40</span>
    122 <span class="c">#    Size[1] = 500</span>
    123124    <span class="n">Size</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="n">Size</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">+</span> <span class="mi">150</span><span class="p">,</span><span class="mi">500</span><span class="p">)</span>
    124125    <span class="n">phasePage</span><span class="o">.</span><span class="n">SetSize</span><span class="p">(</span><span class="n">Size</span><span class="p">)</span>
    125126    <span class="n">phasePage</span><span class="o">.</span><span class="n">SetScrollbars</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">10</span><span class="p">,</span><span class="n">Size</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">/</span><span class="mi">10</span><span class="o">-</span><span class="mi">4</span><span class="p">,</span><span class="n">Size</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">/</span><span class="mi">10</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span>
    126127    <span class="n">mainFrame</span><span class="o">.</span><span class="n">setSizePosLeft</span><span class="p">(</span><span class="n">Size</span><span class="p">)</span>
     128    <span class="n">mainFrame</span><span class="o">.</span><span class="n">SendSizeEvent</span><span class="p">()</span>
    127129   
    128130<div class="viewcode-block" id="UpdatePhaseData"><a class="viewcode-back" href="../GSASIIGUI.html#GSASIIphsGUI.UpdatePhaseData">[docs]</a><span class="k">def</span> <span class="nf">UpdatePhaseData</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">Item</span><span class="p">,</span><span class="n">data</span><span class="p">,</span><span class="n">oldPage</span><span class="p">):</span>
     
    143145
    144146<span class="sd">    &#39;&#39;&#39;</span>
     147   
     148    <span class="k">def</span> <span class="nf">GetReflData</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">phaseName</span><span class="p">,</span><span class="n">reflNames</span><span class="p">):</span>
     149        <span class="n">ReflData</span> <span class="o">=</span> <span class="p">{</span><span class="s">&#39;RefList&#39;</span><span class="p">:[],</span><span class="s">&#39;Type&#39;</span><span class="p">:</span><span class="s">&#39;&#39;</span><span class="p">}</span>
     150        <span class="k">for</span> <span class="n">reflName</span> <span class="ow">in</span> <span class="n">reflNames</span><span class="p">:</span>
     151            <span class="k">if</span> <span class="s">&#39;PWDR&#39;</span> <span class="ow">in</span> <span class="n">reflName</span><span class="p">:</span>
     152                <span class="n">PatternId</span> <span class="o">=</span> <span class="n">G2gd</span><span class="o">.</span><span class="n">GetPatternTreeItemId</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">G2frame</span><span class="o">.</span><span class="n">root</span><span class="p">,</span> <span class="n">reflName</span><span class="p">)</span>
     153                <span class="n">reflSets</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemPyData</span><span class="p">(</span><span class="n">G2gd</span><span class="o">.</span><span class="n">GetPatternTreeItemId</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">PatternId</span><span class="p">,</span><span class="s">&#39;Reflection Lists&#39;</span><span class="p">))</span>
     154                <span class="n">reflData</span> <span class="o">=</span> <span class="n">reflSets</span><span class="p">[</span><span class="n">phaseName</span><span class="p">]</span>
     155                <span class="k">if</span> <span class="s">&#39;list&#39;</span> <span class="ow">in</span> <span class="nb">str</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">reflData</span><span class="p">)):</span>       <span class="c">#patch for old reflection data</span>
     156                    <span class="n">RefData</span> <span class="o">=</span> <span class="p">{</span><span class="s">&#39;RefList&#39;</span><span class="p">:[],</span><span class="s">&#39;FF&#39;</span><span class="p">:[]}</span>
     157                    <span class="k">for</span> <span class="n">ref</span> <span class="ow">in</span> <span class="n">reflDict</span><span class="p">:</span>
     158                        <span class="n">RefData</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">ref</span><span class="p">[:</span><span class="mi">11</span><span class="p">]</span><span class="o">+</span><span class="p">[</span><span class="n">ref</span><span class="p">[</span><span class="mi">13</span><span class="p">],])</span>
     159                        <span class="n">RefData</span><span class="p">[</span><span class="s">&#39;FF&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">ref</span><span class="p">[</span><span class="mi">14</span><span class="p">])</span>
     160                    <span class="n">RefData</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">RefData</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">])</span>
     161                    <span class="n">reflData</span> <span class="o">=</span> <span class="n">RefData</span>
     162            <span class="k">elif</span> <span class="s">&#39;HKLF&#39;</span> <span class="ow">in</span> <span class="n">reflName</span><span class="p">:</span>
     163                <span class="n">PatternId</span> <span class="o">=</span> <span class="n">G2gd</span><span class="o">.</span><span class="n">GetPatternTreeItemId</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">G2frame</span><span class="o">.</span><span class="n">root</span><span class="p">,</span> <span class="n">reflName</span><span class="p">)</span>
     164                <span class="n">reflData</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemPyData</span><span class="p">(</span><span class="n">PatternId</span><span class="p">)[</span><span class="mi">1</span><span class="p">]</span>
     165                <span class="k">if</span> <span class="s">&#39;Type&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">reflData</span><span class="p">:</span>
     166                    <span class="n">reflData</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s">&#39;SXC&#39;</span>
     167            <span class="k">if</span> <span class="n">ReflData</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]</span> <span class="ow">and</span> <span class="n">reflData</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]</span> <span class="o">!=</span> <span class="n">ReflData</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]:</span>
     168                <span class="n">G2frame</span><span class="o">.</span><span class="n">ErrorDialog</span><span class="p">(</span><span class="s">&#39;Data type conflict&#39;</span><span class="p">,</span>
     169                    <span class="n">reflName</span><span class="o">+</span><span class="s">&#39; conflicts with previous &#39;</span><span class="o">+</span><span class="n">ReflData</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">])</span>
     170                <span class="k">return</span> <span class="bp">None</span>
     171            <span class="n">ReflData</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">]</span> <span class="o">+=</span> <span class="nb">list</span><span class="p">(</span><span class="n">reflData</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">])</span>
     172            <span class="n">ReflData</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">reflData</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]</span>
     173        <span class="k">return</span> <span class="n">ReflData</span>
    145174
    146175    <span class="c"># UpdatePhaseData execution continues below</span>
     
    159188            <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;POhkl&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">1</span><span class="p">]</span>
    160189        <span class="k">if</span> <span class="s">&#39;Map&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">generalData</span><span class="p">:</span>
    161             <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Map&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">mapDefault</span>
     190            <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Map&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">mapDefault</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
    162191        <span class="k">if</span> <span class="s">&#39;Flip&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">generalData</span><span class="p">:</span>
    163192            <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Flip&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span><span class="s">&#39;RefList&#39;</span><span class="p">:</span><span class="s">&#39;&#39;</span><span class="p">,</span><span class="s">&#39;Resolution&#39;</span><span class="p">:</span><span class="mf">0.5</span><span class="p">,</span><span class="s">&#39;Norm element&#39;</span><span class="p">:</span><span class="s">&#39;None&#39;</span><span class="p">,</span>
     
    178207            <span class="k">if</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]</span> <span class="o">==</span><span class="s">&#39;macromolecular&#39;</span><span class="p">:</span>
    179208                <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;AtomPtrs&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="mi">6</span><span class="p">,</span><span class="mi">4</span><span class="p">,</span><span class="mi">10</span><span class="p">,</span><span class="mi">12</span><span class="p">]</span>
    180         <span class="k">if</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;modulated&#39;</span><span class="p">,</span><span class="s">&#39;magnetic&#39;</span><span class="p">,]</span> <span class="ow">and</span> <span class="s">&#39;Super&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">generalData</span><span class="p">:</span>
    181             <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SuperSg&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s">&#39;&#39;</span>
    182             <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Super&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="mi">0</span>
    183             <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SuperVec&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[[[</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="o">.</span><span class="mi">1</span><span class="p">],</span><span class="bp">False</span><span class="p">,</span><span class="mi">4</span><span class="p">],[[</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="o">.</span><span class="mi">1</span><span class="p">],</span><span class="bp">False</span><span class="p">,</span><span class="mi">4</span><span class="p">],[[</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="o">.</span><span class="mi">1</span><span class="p">],</span><span class="bp">False</span><span class="p">,</span><span class="mi">4</span><span class="p">]]</span>
     209        <span class="k">if</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;modulated&#39;</span><span class="p">,</span><span class="s">&#39;magnetic&#39;</span><span class="p">,]:</span>
     210            <span class="k">if</span> <span class="s">&#39;Super&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">generalData</span><span class="p">:</span>
     211                <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Super&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="mi">1</span>
     212                <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SuperVec&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[[</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="o">.</span><span class="mi">1</span><span class="p">],</span><span class="bp">False</span><span class="p">,</span><span class="mi">4</span><span class="p">]</span>
     213                <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SSGData&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span>
     214            <span class="k">if</span> <span class="s">&#39;4DmapData&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">generalData</span><span class="p">:</span>
     215                <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;4DmapData&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">mapDefault</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
     216                <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;4DmapData&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">update</span><span class="p">({</span><span class="s">&#39;MapType&#39;</span><span class="p">:</span><span class="s">&#39;Fobs&#39;</span><span class="p">})</span>
    184217<span class="c"># end of patches</span>
    185218        <span class="n">cx</span><span class="p">,</span><span class="n">ct</span><span class="p">,</span><span class="n">cs</span><span class="p">,</span><span class="n">cia</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;AtomPtrs&#39;</span><span class="p">]</span>
     
    191224        <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Color&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
    192225        <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Mydir&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">dirname</span>
     226        <span class="n">badList</span> <span class="o">=</span> <span class="p">{}</span>
    193227        <span class="k">for</span> <span class="n">atom</span> <span class="ow">in</span> <span class="n">atomData</span><span class="p">:</span>
    194228            <span class="n">atom</span><span class="p">[</span><span class="n">ct</span><span class="p">]</span> <span class="o">=</span> <span class="n">atom</span><span class="p">[</span><span class="n">ct</span><span class="p">]</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span><span class="o">.</span><span class="n">capitalize</span><span class="p">()</span>              <span class="c">#force to standard form</span>
     
    197231            <span class="k">elif</span> <span class="n">atom</span><span class="p">[</span><span class="n">ct</span><span class="p">]</span> <span class="o">!=</span> <span class="s">&#39;UNK&#39;</span><span class="p">:</span>
    198232                <span class="n">Info</span> <span class="o">=</span> <span class="n">G2elem</span><span class="o">.</span><span class="n">GetAtomInfo</span><span class="p">(</span><span class="n">atom</span><span class="p">[</span><span class="n">ct</span><span class="p">])</span>
     233                <span class="k">if</span> <span class="ow">not</span> <span class="n">Info</span><span class="p">:</span>
     234                    <span class="k">if</span> <span class="n">atom</span><span class="p">[</span><span class="n">ct</span><span class="p">]</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">badList</span><span class="p">:</span>
     235                        <span class="n">badList</span><span class="p">[</span><span class="n">atom</span><span class="p">[</span><span class="n">ct</span><span class="p">]]</span> <span class="o">=</span> <span class="mi">0</span>
     236                    <span class="n">badList</span><span class="p">[</span><span class="n">atom</span><span class="p">[</span><span class="n">ct</span><span class="p">]]</span> <span class="o">+=</span> <span class="mi">1</span>
     237                    <span class="n">atom</span><span class="p">[</span><span class="n">ct</span><span class="p">]</span> <span class="o">=</span> <span class="s">&#39;UNK&#39;</span>
     238                    <span class="k">continue</span>
     239                <span class="n">atom</span><span class="p">[</span><span class="n">ct</span><span class="p">]</span> <span class="o">=</span> <span class="n">Info</span><span class="p">[</span><span class="s">&#39;Symbol&#39;</span><span class="p">]</span> <span class="c"># N.B. symbol might be changed by GetAtomInfo</span>
    199240                <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;AtomTypes&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">atom</span><span class="p">[</span><span class="n">ct</span><span class="p">])</span>
    200241                <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Z&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">Info</span><span class="p">[</span><span class="s">&#39;Z&#39;</span><span class="p">]</span>
     
    210251                <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;NoAtoms&#39;</span><span class="p">][</span><span class="n">atom</span><span class="p">[</span><span class="n">ct</span><span class="p">]]</span> <span class="o">=</span> <span class="n">atom</span><span class="p">[</span><span class="n">cs</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span><span class="o">*</span><span class="nb">float</span><span class="p">(</span><span class="n">atom</span><span class="p">[</span><span class="n">cs</span><span class="o">+</span><span class="mi">1</span><span class="p">])</span>
    211252                <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Color&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">Info</span><span class="p">[</span><span class="s">&#39;Color&#39;</span><span class="p">])</span>
     253        <span class="k">if</span> <span class="n">badList</span><span class="p">:</span>
     254            <span class="n">msg</span> <span class="o">=</span> <span class="s">&#39;Warning: element symbol(s) not found:&#39;</span>
     255            <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">badList</span><span class="p">:</span>
     256                <span class="n">msg</span> <span class="o">+=</span> <span class="s">&#39;</span><span class="se">\n\t</span><span class="s">&#39;</span> <span class="o">+</span> <span class="n">key</span>
     257                <span class="k">if</span> <span class="n">badList</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">&gt;</span> <span class="mi">1</span><span class="p">:</span>
     258                    <span class="n">msg</span> <span class="o">+=</span> <span class="s">&#39; (&#39;</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">badList</span><span class="p">[</span><span class="n">key</span><span class="p">])</span> <span class="o">+</span> <span class="s">&#39; times)&#39;</span>
     259            <span class="n">wx</span><span class="o">.</span><span class="n">MessageBox</span><span class="p">(</span><span class="n">msg</span><span class="p">,</span><span class="n">caption</span><span class="o">=</span><span class="s">&#39;Element symbol error&#39;</span><span class="p">)</span>
    212260        <span class="n">F000X</span> <span class="o">=</span> <span class="mf">0.</span>
    213261        <span class="n">F000N</span> <span class="o">=</span> <span class="mf">0.</span>
     
    236284<span class="sd">            &#39;Cell&#39;:[False,10.,10.,10.,90.,90.,90,1000.]</span>
    237285<span class="sd">            &#39;AtomPtrs&#39;:[]</span>
    238 <span class="sd">            &#39;Histogram list&#39;:[&#39;&#39;,]</span>
    239286<span class="sd">            &#39;Pawley dmin&#39;:1.0,</span>
    240287<span class="sd">            &#39;Pawley neg wt&#39;:0.0}</span>
     
    252299        <span class="c"># UpdateGeneral execution continues below</span>
    253300       
    254         <span class="k">def</span> <span class="nf">NameSizer</span><span class="p">():</span>                   
     301        <span class="k">def</span> <span class="nf">NameSizer</span><span class="p">():</span>   
     302           
     303            <span class="k">def</span> <span class="nf">SetDefaultSSsymbol</span><span class="p">():</span>
     304                <span class="k">if</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SGData&#39;</span><span class="p">][</span><span class="s">&#39;SGLaue&#39;</span><span class="p">]</span> <span class="ow">in</span> <span class="s">&#39;-1&#39;</span><span class="p">:</span>
     305                    <span class="k">return</span> <span class="s">&#39;(abg)&#39;</span>
     306                <span class="k">elif</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SGData&#39;</span><span class="p">][</span><span class="s">&#39;SGLaue&#39;</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;2/m&#39;</span><span class="p">]:</span>
     307                    <span class="k">if</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SGData&#39;</span><span class="p">][</span><span class="s">&#39;SGUniq&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s">&#39;a&#39;</span><span class="p">:</span>
     308                        <span class="k">return</span> <span class="s">&#39;(a00)&#39;</span>
     309                    <span class="k">elif</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SGData&#39;</span><span class="p">][</span><span class="s">&#39;SGUniq&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s">&#39;b&#39;</span><span class="p">:</span>
     310                        <span class="k">return</span> <span class="s">&#39;(0b0)&#39;</span>
     311                    <span class="k">elif</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SGData&#39;</span><span class="p">][</span><span class="s">&#39;SGUniq&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s">&#39;c&#39;</span><span class="p">:</span>
     312                        <span class="k">return</span> <span class="s">&#39;(00g)&#39;</span>
     313                <span class="k">else</span><span class="p">:</span>
     314                    <span class="k">return</span> <span class="s">&#39;(00g)&#39;</span>
     315                               
    255316            <span class="k">def</span> <span class="nf">OnPhaseName</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
    256317                <span class="n">oldName</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Name&#39;</span><span class="p">]</span>
    257                 <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Name&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">NameTxt</span><span class="o">.</span><span class="n">GetValue</span><span class="p">()</span>
    258                 <span class="n">G2frame</span><span class="o">.</span><span class="n">G2plotNB</span><span class="o">.</span><span class="n">Rename</span><span class="p">(</span><span class="n">oldName</span><span class="p">,</span><span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Name&#39;</span><span class="p">])</span>
    259                 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">SetLabel</span><span class="p">(</span><span class="s">&#39;Phase Data for &#39;</span><span class="o">+</span><span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Name&#39;</span><span class="p">])</span>
    260                 <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">SetItemText</span><span class="p">(</span><span class="n">Item</span><span class="p">,</span><span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Name&#39;</span><span class="p">])</span>
    261                 <span class="c">#Hmm, need to change phase name key in Reflection Lists for each histogram</span>
    262                            
     318                <span class="n">phaseRIdList</span><span class="p">,</span><span class="n">usedHistograms</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">GetPhaseInfofromTree</span><span class="p">()</span>
     319                <span class="n">phaseNameList</span> <span class="o">=</span> <span class="n">usedHistograms</span><span class="o">.</span><span class="n">keys</span><span class="p">()</span> <span class="c"># phase names in use</span>
     320                <span class="n">newName</span> <span class="o">=</span> <span class="n">NameTxt</span><span class="o">.</span><span class="n">GetValue</span><span class="p">()</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
     321                <span class="k">if</span> <span class="n">newName</span> <span class="ow">and</span> <span class="n">newName</span> <span class="o">!=</span> <span class="n">oldName</span><span class="p">:</span>
     322                    <span class="n">newName</span> <span class="o">=</span> <span class="n">G2obj</span><span class="o">.</span><span class="n">MakeUniqueLabel</span><span class="p">(</span><span class="n">newName</span><span class="p">,</span><span class="n">phaseNameList</span><span class="p">)</span>             
     323                    <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Name&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">newName</span>
     324                    <span class="n">G2frame</span><span class="o">.</span><span class="n">G2plotNB</span><span class="o">.</span><span class="n">Rename</span><span class="p">(</span><span class="n">oldName</span><span class="p">,</span><span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Name&#39;</span><span class="p">])</span>
     325                    <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">SetLabel</span><span class="p">(</span><span class="s">&#39;Phase Data for &#39;</span><span class="o">+</span><span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Name&#39;</span><span class="p">])</span>
     326                    <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">SetItemText</span><span class="p">(</span><span class="n">Item</span><span class="p">,</span><span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Name&#39;</span><span class="p">])</span>
     327                    <span class="c"># change phase name key in Reflection Lists for each histogram</span>
     328                    <span class="k">for</span> <span class="n">hist</span> <span class="ow">in</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;Histograms&#39;</span><span class="p">]:</span>
     329                        <span class="n">ht</span> <span class="o">=</span> <span class="n">G2gd</span><span class="o">.</span><span class="n">GetPatternTreeItemId</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">G2frame</span><span class="o">.</span><span class="n">root</span><span class="p">,</span><span class="n">hist</span><span class="p">)</span>
     330                        <span class="n">rt</span> <span class="o">=</span> <span class="n">G2gd</span><span class="o">.</span><span class="n">GetPatternTreeItemId</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">ht</span><span class="p">,</span><span class="s">&#39;Reflection Lists&#39;</span><span class="p">)</span>
     331                        <span class="k">if</span> <span class="ow">not</span> <span class="n">rt</span><span class="p">:</span> <span class="k">continue</span>
     332                        <span class="n">RfList</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemPyData</span><span class="p">(</span><span class="n">rt</span><span class="p">)</span>
     333                        <span class="k">if</span> <span class="n">oldName</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">RfList</span><span class="p">:</span>
     334                            <span class="k">print</span><span class="p">(</span><span class="s">&#39;Warning: &#39;</span><span class="o">+</span><span class="n">oldName</span><span class="o">+</span><span class="s">&#39; not in Reflection List for &#39;</span><span class="o">+</span>
     335                                  <span class="n">hist</span><span class="p">)</span>
     336                            <span class="k">continue</span>
     337                        <span class="n">RfList</span><span class="p">[</span><span class="n">newName</span><span class="p">]</span> <span class="o">=</span> <span class="n">RfList</span><span class="p">[</span><span class="n">oldName</span><span class="p">]</span>
     338                        <span class="k">del</span> <span class="n">RfList</span><span class="p">[</span><span class="n">oldName</span><span class="p">]</span>                           
     339                <span class="n">NameTxt</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Name&#39;</span><span class="p">])</span>
     340                                               
    263341            <span class="k">def</span> <span class="nf">OnPhaseType</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
    264                 <span class="k">if</span> <span class="ow">not</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;AtomTypes&#39;</span><span class="p">]:</span>             <span class="c">#can change only if no atoms!</span>
     342                <span class="k">if</span> <span class="ow">not</span> <span class="nb">len</span><span class="p">(</span><span class="n">generalData</span><span class="p">[</span><span class="s">&#39;AtomTypes&#39;</span><span class="p">]):</span>             <span class="c">#can change only if no atoms!</span>
    265343                    <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">TypeTxt</span><span class="o">.</span><span class="n">GetValue</span><span class="p">()</span>
    266                     <span class="n">wx</span><span class="o">.</span><span class="n">CallAfter</span><span class="p">(</span><span class="n">UpdateGeneral</span><span class="p">)</span>
     344                    <span class="n">pages</span> <span class="o">=</span> <span class="p">[</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="o">.</span><span class="n">GetPageText</span><span class="p">(</span><span class="n">PageNum</span><span class="p">)</span> <span class="k">for</span> <span class="n">PageNum</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="o">.</span><span class="n">GetPageCount</span><span class="p">())]</span>
     345                    <span class="k">if</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;modulated&#39;</span><span class="p">,</span><span class="s">&#39;magnetic&#39;</span><span class="p">]:</span>
     346                        <span class="k">if</span> <span class="s">&#39;SuperSg&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">generalData</span><span class="p">:</span>
     347                            <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SuperSg&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">SetDefaultSSsymbol</span><span class="p">()</span>
     348                        <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SSGData&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">SSpcGroup</span><span class="p">(</span><span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SGData&#39;</span><span class="p">],</span><span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SuperSg&#39;</span><span class="p">])[</span><span class="mi">1</span><span class="p">]</span>
     349                        <span class="k">if</span> <span class="s">&#39;MC/SA&#39;</span> <span class="ow">in</span> <span class="n">pages</span><span class="p">:</span>
     350                            <span class="k">pass</span>
     351<span class="c">#                            G2frame.dataDisplay.DeletePage(pages.index(&#39;MC/SA&#39;))   #this crashes!!</span>
     352                        <span class="k">if</span> <span class="s">&#39;Wave Data&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">pages</span><span class="p">:</span>
     353                            <span class="n">G2frame</span><span class="o">.</span><span class="n">waveData</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">ScrolledWindow</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">)</span>
     354                            <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="o">.</span><span class="n">InsertPage</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="n">G2frame</span><span class="o">.</span><span class="n">waveData</span><span class="p">,</span><span class="s">&#39;Wave Data&#39;</span><span class="p">)</span>
     355                            <span class="n">Id</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">NewId</span><span class="p">()</span>
     356                            <span class="n">TabSelectionIdDict</span><span class="p">[</span><span class="n">Id</span><span class="p">]</span> <span class="o">=</span> <span class="s">&#39;Wave Data&#39;</span>
     357                        <span class="n">wx</span><span class="o">.</span><span class="n">CallAfter</span><span class="p">(</span><span class="n">UpdateGeneral</span><span class="p">)</span>
     358                    <span class="k">else</span><span class="p">:</span>
     359                        <span class="k">if</span> <span class="s">&#39;Wave Data&#39;</span> <span class="ow">in</span> <span class="n">pages</span><span class="p">:</span>
     360                            <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="o">.</span><span class="n">DeletePage</span><span class="p">(</span><span class="n">pages</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="s">&#39;Wave Data&#39;</span><span class="p">))</span>
     361                        <span class="k">if</span> <span class="s">&#39;MC/SA&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">pages</span><span class="p">:</span>
     362                            <span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">ScrolledWindow</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">)</span>
     363                            <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="o">.</span><span class="n">InsertPage</span><span class="p">(</span><span class="mi">7</span><span class="p">,</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="p">,</span><span class="s">&#39;MC/SA&#39;</span><span class="p">)</span>
     364                            <span class="n">Id</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">NewId</span><span class="p">()</span>
     365                            <span class="n">TabSelectionIdDict</span><span class="p">[</span><span class="n">Id</span><span class="p">]</span> <span class="o">=</span> <span class="s">&#39;MC/SA&#39;</span>
     366                        <span class="n">wx</span><span class="o">.</span><span class="n">CallAfter</span><span class="p">(</span><span class="n">UpdateGeneral</span><span class="p">)</span>
    267367                <span class="k">else</span><span class="p">:</span>
     368                    <span class="n">G2frame</span><span class="o">.</span><span class="n">ErrorDialog</span><span class="p">(</span><span class="s">&#39;Phase type change error&#39;</span><span class="p">,</span><span class="s">&#39;Can change phase type only if there are no atoms&#39;</span><span class="p">)</span>
    268369                    <span class="n">TypeTxt</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">])</span>               
    269370               
    270371            <span class="k">def</span> <span class="nf">OnSpaceGroup</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
    271                 <span class="n">SpcGp</span> <span class="o">=</span> <span class="n">SGTxt</span><span class="o">.</span><span class="n">GetValue</span><span class="p">()</span>
    272                 <span class="n">SGErr</span><span class="p">,</span><span class="n">SGData</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">SpcGroup</span><span class="p">(</span><span class="n">SpcGp</span><span class="p">)</span>
     372                <span class="n">Flds</span> <span class="o">=</span> <span class="n">SGTxt</span><span class="o">.</span><span class="n">GetValue</span><span class="p">()</span><span class="o">.</span><span class="n">split</span><span class="p">()</span>
     373                <span class="c">#get rid of extra spaces between fields first</span>
     374                <span class="k">for</span> <span class="n">fld</span> <span class="ow">in</span> <span class="n">Flds</span><span class="p">:</span> <span class="n">fld</span> <span class="o">=</span> <span class="n">fld</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
     375                <span class="n">SpcGp</span> <span class="o">=</span> <span class="s">&#39; &#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">Flds</span><span class="p">)</span>
    273376                <span class="c"># try a lookup on the user-supplied name</span>
    274                 <span class="k">if</span> <span class="n">SGErr</span><span class="p">:</span>
    275                     <span class="n">SpGrpNorm</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">StandardizeSpcName</span><span class="p">(</span><span class="n">SpcGp</span><span class="p">)</span>
    276                     <span class="k">if</span> <span class="n">SpGrpNorm</span><span class="p">:</span>
    277                         <span class="n">E</span><span class="p">,</span><span class="n">SGData</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">SpcGroup</span><span class="p">(</span><span class="n">SpGrpNorm</span><span class="p">)</span>
    278                         <span class="k">if</span> <span class="ow">not</span> <span class="n">E</span><span class="p">:</span> <span class="n">SGErr</span> <span class="o">=</span> <span class="bp">False</span>
     377                <span class="n">SpGrpNorm</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">StandardizeSpcName</span><span class="p">(</span><span class="n">SpcGp</span><span class="p">)</span>
     378                <span class="k">if</span> <span class="n">SpGrpNorm</span><span class="p">:</span>
     379                    <span class="n">SGErr</span><span class="p">,</span><span class="n">SGData</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">SpcGroup</span><span class="p">(</span><span class="n">SpGrpNorm</span><span class="p">)</span>
     380                <span class="k">else</span><span class="p">:</span>
     381                    <span class="n">SGErr</span><span class="p">,</span><span class="n">SGData</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">SpcGroup</span><span class="p">(</span><span class="n">SpcGp</span><span class="p">)</span>
    279382                <span class="k">if</span> <span class="n">SGErr</span><span class="p">:</span>
    280383                    <span class="n">text</span> <span class="o">=</span> <span class="p">[</span><span class="n">G2spc</span><span class="o">.</span><span class="n">SGErrors</span><span class="p">(</span><span class="n">SGErr</span><span class="p">)</span><span class="o">+</span><span class="s">&#39;</span><span class="se">\n</span><span class="s">Space Group set to previous&#39;</span><span class="p">]</span>
     
    282385                    <span class="n">msg</span> <span class="o">=</span> <span class="s">&#39;Space Group Error&#39;</span>
    283386                    <span class="n">Style</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">ICON_EXCLAMATION</span>
     387                    <span class="n">Text</span> <span class="o">=</span> <span class="s">&#39;</span><span class="se">\n</span><span class="s">&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
     388                    <span class="n">wx</span><span class="o">.</span><span class="n">MessageBox</span><span class="p">(</span><span class="n">Text</span><span class="p">,</span><span class="n">caption</span><span class="o">=</span><span class="n">msg</span><span class="p">,</span><span class="n">style</span><span class="o">=</span><span class="n">Style</span><span class="p">)</span>
    284389                <span class="k">else</span><span class="p">:</span>
    285                     <span class="n">text</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">SGPrint</span><span class="p">(</span><span class="n">SGData</span><span class="p">)</span>
     390                    <span class="n">text</span><span class="p">,</span><span class="n">table</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">SGPrint</span><span class="p">(</span><span class="n">SGData</span><span class="p">)</span>
    286391                    <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SGData&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">SGData</span>
     392                    <span class="n">SGTxt</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SGData&#39;</span><span class="p">][</span><span class="s">&#39;SpGrp&#39;</span><span class="p">])</span>
    287393                    <span class="n">msg</span> <span class="o">=</span> <span class="s">&#39;Space Group Information&#39;</span>
    288                     <span class="n">Style</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">ICON_INFORMATION</span>
    289                 <span class="n">Text</span> <span class="o">=</span> <span class="s">&#39;&#39;</span>
    290                 <span class="k">for</span> <span class="n">line</span> <span class="ow">in</span> <span class="n">text</span><span class="p">:</span>
    291                     <span class="n">Text</span> <span class="o">+=</span> <span class="n">line</span><span class="o">+</span><span class="s">&#39;</span><span class="se">\n</span><span class="s">&#39;</span>
    292                 <span class="n">wx</span><span class="o">.</span><span class="n">MessageBox</span><span class="p">(</span><span class="n">Text</span><span class="p">,</span><span class="n">caption</span><span class="o">=</span><span class="n">msg</span><span class="p">,</span><span class="n">style</span><span class="o">=</span><span class="n">Style</span><span class="p">)</span>
     394                    <span class="n">G2gd</span><span class="o">.</span><span class="n">SGMessageBox</span><span class="p">(</span><span class="n">General</span><span class="p">,</span><span class="n">msg</span><span class="p">,</span><span class="n">text</span><span class="p">,</span><span class="n">table</span><span class="p">)</span><span class="o">.</span><span class="n">Show</span><span class="p">()</span>
     395                <span class="k">if</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;modulated&#39;</span><span class="p">,]:</span>
     396                    <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SuperSg&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">SetDefaultSSsymbol</span><span class="p">()</span>
     397                    <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SSGData&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">SSpcGroup</span><span class="p">(</span><span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SGData&#39;</span><span class="p">],</span><span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SuperSg&#39;</span><span class="p">])[</span><span class="mi">1</span><span class="p">]</span>
    293398                <span class="n">wx</span><span class="o">.</span><span class="n">CallAfter</span><span class="p">(</span><span class="n">UpdateGeneral</span><span class="p">)</span>
    294399               
     
    313418           
    314419            <span class="n">cellGUIlist</span> <span class="o">=</span> <span class="p">[[[</span><span class="s">&#39;m3&#39;</span><span class="p">,</span><span class="s">&#39;m3m&#39;</span><span class="p">],</span><span class="mi">4</span><span class="p">,</span><span class="nb">zip</span><span class="p">([</span><span class="s">&quot; Unit cell: a = &quot;</span><span class="p">,</span><span class="s">&quot; Vol = &quot;</span><span class="p">],[</span><span class="s">&quot;</span><span class="si">%.5f</span><span class="s">&quot;</span><span class="p">,</span><span class="s">&quot;</span><span class="si">%.3f</span><span class="s">&quot;</span><span class="p">],[</span><span class="bp">True</span><span class="p">,</span><span class="bp">False</span><span class="p">],[</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">])],</span>
    315             <span class="p">[[</span><span class="s">&#39;3R&#39;</span><span class="p">,</span><span class="s">&#39;3mR&#39;</span><span class="p">],</span><span class="mi">6</span><span class="p">,</span><span class="nb">zip</span><span class="p">([</span><span class="s">&quot; a = &quot;</span><span class="p">,</span><span class="s">&quot; alpha = &quot;</span><span class="p">,</span><span class="s">&quot; Vol = &quot;</span><span class="p">],[</span><span class="s">&quot;</span><span class="si">%.5f</span><span class="s">&quot;</span><span class="p">,</span><span class="s">&quot;</span><span class="si">%.3f</span><span class="s">&quot;</span><span class="p">,</span><span class="s">&quot;</span><span class="si">%.3f</span><span class="s">&quot;</span><span class="p">],[</span><span class="bp">True</span><span class="p">,</span><span class="bp">True</span><span class="p">,</span><span class="bp">False</span><span class="p">],[</span><span class="mi">0</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">0</span><span class="p">])],</span>
     420            <span class="p">[[</span><span class="s">&#39;3R&#39;</span><span class="p">,</span><span class="s">&#39;3mR&#39;</span><span class="p">],</span><span class="mi">6</span><span class="p">,</span><span class="nb">zip</span><span class="p">([</span><span class="s">&quot; a = &quot;</span><span class="p">,</span><span class="s">&quot; alpha = &quot;</span><span class="p">,</span><span class="s">&quot; Vol = &quot;</span><span class="p">],[</span><span class="s">&quot;</span><span class="si">%.5f</span><span class="s">&quot;</span><span class="p">,</span><span class="s">&quot;</span><span class="si">%.3f</span><span class="s">&quot;</span><span class="p">,</span><span class="s">&quot;</span><span class="si">%.3f</span><span class="s">&quot;</span><span class="p">],[</span><span class="bp">True</span><span class="p">,</span><span class="bp">True</span><span class="p">,</span><span class="bp">False</span><span class="p">],[</span><span class="mi">0</span><span class="p">,</span><span class="mi">3</span><span class="p">,</span><span class="mi">0</span><span class="p">])],</span>
    316421            <span class="p">[[</span><span class="s">&#39;3&#39;</span><span class="p">,</span><span class="s">&#39;3m1&#39;</span><span class="p">,</span><span class="s">&#39;31m&#39;</span><span class="p">,</span><span class="s">&#39;6/m&#39;</span><span class="p">,</span><span class="s">&#39;6/mmm&#39;</span><span class="p">,</span><span class="s">&#39;4/m&#39;</span><span class="p">,</span><span class="s">&#39;4/mmm&#39;</span><span class="p">],</span><span class="mi">6</span><span class="p">,</span><span class="nb">zip</span><span class="p">([</span><span class="s">&quot; a = &quot;</span><span class="p">,</span><span class="s">&quot; c = &quot;</span><span class="p">,</span><span class="s">&quot; Vol = &quot;</span><span class="p">],[</span><span class="s">&quot;</span><span class="si">%.5f</span><span class="s">&quot;</span><span class="p">,</span><span class="s">&quot;</span><span class="si">%.5f</span><span class="s">&quot;</span><span class="p">,</span><span class="s">&quot;</span><span class="si">%.3f</span><span class="s">&quot;</span><span class="p">],[</span><span class="bp">True</span><span class="p">,</span><span class="bp">True</span><span class="p">,</span><span class="bp">False</span><span class="p">],[</span><span class="mi">0</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">0</span><span class="p">])],</span>
    317422            <span class="p">[[</span><span class="s">&#39;mmm&#39;</span><span class="p">],</span><span class="mi">8</span><span class="p">,</span><span class="nb">zip</span><span class="p">([</span><span class="s">&quot; a = &quot;</span><span class="p">,</span><span class="s">&quot; b = &quot;</span><span class="p">,</span><span class="s">&quot; c = &quot;</span><span class="p">,</span><span class="s">&quot; Vol = &quot;</span><span class="p">],[</span><span class="s">&quot;</span><span class="si">%.5f</span><span class="s">&quot;</span><span class="p">,</span><span class="s">&quot;</span><span class="si">%.5f</span><span class="s">&quot;</span><span class="p">,</span><span class="s">&quot;</span><span class="si">%.5f</span><span class="s">&quot;</span><span class="p">,</span><span class="s">&quot;</span><span class="si">%.3f</span><span class="s">&quot;</span><span class="p">],</span>
     
    408513                    <span class="k">if</span> <span class="n">denSizer</span><span class="p">[</span><span class="mi">2</span><span class="p">]:</span>
    409514                        <span class="n">denSizer</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="s">&#39;</span><span class="si">%.3f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">mattCoeff</span><span class="p">))</span>
    410                 <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Cell&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">cell</span>
    411515           
    412516            <span class="n">cell</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Cell&#39;</span><span class="p">]</span>
     
    561665        <span class="k">def</span> <span class="nf">ModulatedSizer</span><span class="p">(</span><span class="n">name</span><span class="p">):</span>
    562666           
    563             <span class="k">def</span> <span class="nf">OnSuperGp</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>   <span class="c">#need a check on supersymmetry group rules here!</span>
    564                 <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SuperSg&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">event</span><span class="o">.</span><span class="n">GetValue</span><span class="p">()</span>
     667            <span class="k">def</span> <span class="nf">OnSuperGp</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
     668                <span class="n">SSymbol</span> <span class="o">=</span> <span class="n">superGp</span><span class="o">.</span><span class="n">GetValue</span><span class="p">()</span>
     669                <span class="n">E</span><span class="p">,</span><span class="n">SSGData</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">SSpcGroup</span><span class="p">(</span><span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SGData&#39;</span><span class="p">],</span><span class="n">SSymbol</span><span class="p">)</span>
     670                <span class="k">if</span> <span class="n">SSGData</span><span class="p">:</span>
     671                    <span class="n">Vec</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SuperVec&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span>     <span class="c">#(3+1) only</span>
     672                    <span class="n">modSymb</span> <span class="o">=</span> <span class="n">SSGData</span><span class="p">[</span><span class="s">&#39;modSymb&#39;</span><span class="p">]</span>
     673                    <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SuperVec&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">SSGModCheck</span><span class="p">(</span><span class="n">Vec</span><span class="p">,</span><span class="n">modSymb</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
     674                    <span class="n">text</span><span class="p">,</span><span class="n">table</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">SSGPrint</span><span class="p">(</span><span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SGData&#39;</span><span class="p">],</span><span class="n">SSGData</span><span class="p">)</span>
     675                    <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SSGData&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">SSGData</span>
     676                    <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SuperSg&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">SSymbol</span>
     677                    <span class="n">msg</span> <span class="o">=</span> <span class="s">&#39;Superspace Group Information&#39;</span>
     678                    <span class="n">G2gd</span><span class="o">.</span><span class="n">SGMessageBox</span><span class="p">(</span><span class="n">General</span><span class="p">,</span><span class="n">msg</span><span class="p">,</span><span class="n">text</span><span class="p">,</span><span class="n">table</span><span class="p">)</span><span class="o">.</span><span class="n">Show</span><span class="p">()</span>
     679                <span class="k">else</span><span class="p">:</span>
     680                    <span class="n">text</span> <span class="o">=</span> <span class="p">[</span><span class="n">E</span><span class="o">+</span><span class="s">&#39;</span><span class="se">\n</span><span class="s">Superspace Group set to previous&#39;</span><span class="p">]</span>
     681                    <span class="n">superGp</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SuperSg&#39;</span><span class="p">])</span>
     682                    <span class="n">msg</span> <span class="o">=</span> <span class="s">&#39;Superspace Group Error&#39;</span>
     683                    <span class="n">Style</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">ICON_EXCLAMATION</span>
     684                    <span class="n">Text</span> <span class="o">=</span> <span class="s">&#39;</span><span class="se">\n</span><span class="s">&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>
     685                    <span class="n">wx</span><span class="o">.</span><span class="n">MessageBox</span><span class="p">(</span><span class="n">Text</span><span class="p">,</span><span class="n">caption</span><span class="o">=</span><span class="n">msg</span><span class="p">,</span><span class="n">style</span><span class="o">=</span><span class="n">Style</span><span class="p">)</span>
     686                <span class="n">wx</span><span class="o">.</span><span class="n">CallAfter</span><span class="p">(</span><span class="n">UpdateGeneral</span><span class="p">)</span>               
    565687           
    566688            <span class="k">def</span> <span class="nf">OnDim</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
     
    571693                <span class="n">Obj</span> <span class="o">=</span> <span class="n">event</span><span class="o">.</span><span class="n">GetEventObject</span><span class="p">()</span>
    572694                <span class="n">ind</span> <span class="o">=</span> <span class="n">Indx</span><span class="p">[</span><span class="n">Obj</span><span class="o">.</span><span class="n">GetId</span><span class="p">()]</span>
    573                 <span class="n">vec</span> <span class="o">=</span> <span class="n">Obj</span><span class="o">.</span><span class="n">GetValue</span><span class="p">()</span><span class="o">.</span><span class="n">split</span><span class="p">()</span>
     695                <span class="n">val</span> <span class="o">=</span> <span class="n">Obj</span><span class="o">.</span><span class="n">GetValue</span><span class="p">()</span>
    574696                <span class="k">try</span><span class="p">:</span>
    575                     <span class="n">Vec</span> <span class="o">=</span> <span class="p">[</span><span class="nb">float</span><span class="p">(</span><span class="n">vec</span><span class="p">[</span><span class="n">i</span><span class="p">])</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">3</span><span class="p">)]</span>
    576                 <span class="k">except</span> <span class="p">(</span><span class="ne">ValueError</span><span class="p">,</span><span class="ne">IndexError</span><span class="p">):</span>
    577                     <span class="n">Vec</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SuperVec&#39;</span><span class="p">][</span><span class="n">ind</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span>
    578                 <span class="k">if</span> <span class="ow">not</span> <span class="n">np</span><span class="o">.</span><span class="n">any</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">Vec</span><span class="p">)):</span>
    579                     <span class="n">Vec</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SuperVec&#39;</span><span class="p">][</span><span class="n">ind</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span>
    580                 <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;modVects&#39;</span><span class="p">][</span><span class="n">ind</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">hkl</span>
    581                 <span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span> <span class="o">=</span> <span class="n">Vec</span>
    582                 <span class="n">Obj</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="s">&#39;</span><span class="si">%.3f</span><span class="s"> </span><span class="si">%.3f</span><span class="s"> </span><span class="si">%.3f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">))</span>
     697                    <span class="n">val</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="mf">1.0</span><span class="p">,</span><span class="nb">max</span><span class="p">(</span><span class="mf">0.0</span><span class="p">,</span><span class="nb">float</span><span class="p">(</span><span class="n">val</span><span class="p">)))</span>
     698                <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
     699                    <span class="n">val</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SuperVec&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="n">ind</span><span class="p">]</span>
     700                <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SuperVec&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="n">ind</span><span class="p">]</span> <span class="o">=</span> <span class="n">val</span>
     701                <span class="n">Obj</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="s">&#39;</span><span class="si">%.4f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SuperVec&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="n">ind</span><span class="p">]))</span>
    583702               
    584703            <span class="k">def</span> <span class="nf">OnVecRef</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
    585                 <span class="n">Obj</span> <span class="o">=</span> <span class="n">event</span><span class="o">.</span><span class="n">GetEventObject</span><span class="p">()</span>
    586                 <span class="n">ind</span> <span class="o">=</span> <span class="n">Indx</span><span class="p">[</span><span class="n">Obj</span><span class="o">.</span><span class="n">GetId</span><span class="p">()]</span>
    587                 <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SuperVec&#39;</span><span class="p">][</span><span class="n">ind</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="n">Obj</span><span class="o">.</span><span class="n">GetValue</span><span class="p">()</span>
     704                <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SuperVec&#39;</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="n">Ref</span><span class="o">.</span><span class="n">GetValue</span><span class="p">()</span>
    588705               
    589706            <span class="k">def</span> <span class="nf">OnMax</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
    590                 <span class="n">Obj</span> <span class="o">=</span> <span class="n">event</span><span class="o">.</span><span class="n">GetEventObject</span><span class="p">()</span>
    591                 <span class="n">ind</span> <span class="o">=</span> <span class="n">Indx</span><span class="p">[</span><span class="n">Obj</span><span class="o">.</span><span class="n">GetId</span><span class="p">()]</span>
    592                 <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SuperVec&#39;</span><span class="p">][</span><span class="n">ind</span><span class="p">][</span><span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">Obj</span><span class="o">.</span><span class="n">GetValue</span><span class="p">())</span>
     707                <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SuperVec&#39;</span><span class="p">][</span><span class="mi">2</span><span class="p">]</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">Max</span><span class="o">.</span><span class="n">GetValue</span><span class="p">())</span>
    593708           
    594709            <span class="n">Indx</span> <span class="o">=</span> <span class="p">{}</span>
    595             <span class="n">modSizer</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>
    596             <span class="n">dimSizer</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>
    597             <span class="n">dimSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">General</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39; &#39;</span><span class="o">+</span><span class="n">name</span><span class="o">.</span><span class="n">capitalize</span><span class="p">()</span><span class="o">+</span><span class="s">&#39; structure controls: &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    598             <span class="n">dimSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">General</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39; Modulated structure dimension: &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    599             <span class="n">dimChoice</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39;1&#39;</span><span class="p">]</span>       <span class="c"># restricted to (3+1) superlattices for now</span>
    600             <span class="n">dim</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">ComboBox</span><span class="p">(</span><span class="n">General</span><span class="p">,</span><span class="n">value</span><span class="o">=</span><span class="nb">str</span><span class="p">(</span><span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Super&#39;</span><span class="p">]),</span><span class="n">choices</span><span class="o">=</span><span class="n">dimChoice</span><span class="p">,</span>
     710            <span class="n">ssSizer</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>
     711            <span class="n">modSizer</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>
     712            <span class="n">modSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">General</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39; &#39;</span><span class="o">+</span><span class="n">name</span><span class="o">.</span><span class="n">capitalize</span><span class="p">()</span><span class="o">+</span><span class="s">&#39; structure controls: &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     713            <span class="n">modSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">General</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39; Superspace group: &#39;</span><span class="o">+</span><span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SGData&#39;</span><span class="p">][</span><span class="s">&#39;SpGrp&#39;</span><span class="p">]),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     714            <span class="n">SSChoice</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">ssdict</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SGData&#39;</span><span class="p">][</span><span class="s">&#39;SpGrp&#39;</span><span class="p">],[])</span>
     715            <span class="k">if</span> <span class="n">SSChoice</span><span class="p">:</span>
     716                <span class="n">superGp</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">ComboBox</span><span class="p">(</span><span class="n">General</span><span class="p">,</span><span class="n">value</span><span class="o">=</span><span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SuperSg&#39;</span><span class="p">],</span><span class="n">choices</span><span class="o">=</span><span class="n">SSChoice</span><span class="p">,</span><span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">CB_DROPDOWN</span><span class="p">)</span>   <span class="c">#wx.CB_READONLY|</span>
     717                <span class="n">superGp</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_COMBOBOX</span><span class="p">,</span><span class="n">OnSuperGp</span><span class="p">)</span>
     718                <span class="n">superGp</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_TEXT_ENTER</span><span class="p">,</span><span class="n">OnSuperGp</span><span class="p">)</span>
     719            <span class="k">else</span><span class="p">:</span>   <span class="c">#nonstandard space group symbol not in my dictionary</span>
     720                <span class="n">superGp</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">TextCtrl</span><span class="p">(</span><span class="n">General</span><span class="p">,</span><span class="n">value</span><span class="o">=</span><span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SuperSg&#39;</span><span class="p">],</span><span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_PROCESS_ENTER</span><span class="p">)</span>
     721                <span class="n">superGp</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_TEXT_ENTER</span><span class="p">,</span><span class="n">OnSuperGp</span><span class="p">)</span>                       
     722            <span class="n">modSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">superGp</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     723            <span class="n">modSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">General</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39; Max index: &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     724            <span class="n">indChoice</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39;1&#39;</span><span class="p">,</span><span class="s">&#39;2&#39;</span><span class="p">,</span><span class="s">&#39;3&#39;</span><span class="p">,</span><span class="s">&#39;4&#39;</span><span class="p">,</span><span class="s">&#39;5&#39;</span><span class="p">,</span><span class="s">&#39;6&#39;</span><span class="p">,</span><span class="s">&#39;7&#39;</span><span class="p">]</span>
     725            <span class="n">Max</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">ComboBox</span><span class="p">(</span><span class="n">General</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="n">value</span><span class="o">=</span><span class="s">&#39;</span><span class="si">%d</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SuperVec&#39;</span><span class="p">][</span><span class="mi">2</span><span class="p">]),</span><span class="n">choices</span><span class="o">=</span><span class="n">indChoice</span><span class="p">,</span>
    601726                <span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">CB_READONLY</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">CB_DROPDOWN</span><span class="p">)</span>
    602             <span class="n">dim</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_COMBOBOX</span><span class="p">,</span><span class="n">OnDim</span><span class="p">)</span>
    603             <span class="n">dimSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">dim</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    604             <span class="n">dimSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">General</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39; Superspace group: &#39;</span><span class="o">+</span><span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SGData&#39;</span><span class="p">][</span><span class="s">&#39;SpGrp&#39;</span><span class="p">]),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    605             <span class="n">superGp</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">TextCtrl</span><span class="p">(</span><span class="n">General</span><span class="p">,</span><span class="n">value</span><span class="o">=</span><span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SuperSg&#39;</span><span class="p">],</span><span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_PROCESS_ENTER</span><span class="p">)</span>
    606             <span class="n">superGp</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_TEXT_ENTER</span><span class="p">,</span><span class="n">OnSuperGp</span><span class="p">)</span>       
    607             <span class="n">superGp</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_KILL_FOCUS</span><span class="p">,</span><span class="n">OnSuperGp</span><span class="p">)</span>
    608             <span class="n">dimSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">superGp</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    609             <span class="n">modSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">dimSizer</span><span class="p">)</span>
     727            <span class="n">Max</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_COMBOBOX</span><span class="p">,</span><span class="n">OnMax</span><span class="p">)</span>       
     728            <span class="n">modSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">Max</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     729            <span class="n">ssSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">modSizer</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    610730            <span class="n">vecSizer</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">FlexGridSizer</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="mi">5</span><span class="p">,</span><span class="mi">5</span><span class="p">,</span><span class="mi">5</span><span class="p">)</span>
    611             <span class="n">indChoice</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39;0&#39;</span><span class="p">,</span><span class="s">&#39;1&#39;</span><span class="p">,</span><span class="s">&#39;2&#39;</span><span class="p">,</span><span class="s">&#39;3&#39;</span><span class="p">,</span><span class="s">&#39;4&#39;</span><span class="p">,</span><span class="s">&#39;5&#39;</span><span class="p">,</span><span class="s">&#39;6&#39;</span><span class="p">,</span><span class="s">&#39;7&#39;</span><span class="p">]</span>
    612             <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Super&#39;</span><span class="p">])):</span>
    613                 <span class="n">vecSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">General</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39; Modulation vector #</span><span class="si">%d</span><span class="s">: &#39;</span><span class="o">%</span><span class="p">(</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">)),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    614                 <span class="n">vec</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SuperVec&#39;</span><span class="p">][</span><span class="n">i</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span>
    615                 <span class="n">Vec</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">TextCtrl</span><span class="p">(</span><span class="n">General</span><span class="p">,</span>
    616                     <span class="n">value</span><span class="o">=</span><span class="s">&#39; </span><span class="si">%.3f</span><span class="s"> </span><span class="si">%.3f</span><span class="s"> </span><span class="si">%.3f</span><span class="s"> &#39;</span><span class="o">%</span><span class="p">(</span><span class="n">vec</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">vec</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">vec</span><span class="p">[</span><span class="mi">2</span><span class="p">]),</span>
    617                     <span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_PROCESS_ENTER</span><span class="p">)</span>
    618                 <span class="n">Vec</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_TEXT_ENTER</span><span class="p">,</span><span class="n">OnVec</span><span class="p">)</span>       
    619                 <span class="n">Vec</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_KILL_FOCUS</span><span class="p">,</span><span class="n">OnVec</span><span class="p">)</span>
    620                 <span class="n">vecSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">Vec</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    621                 <span class="n">Indx</span><span class="p">[</span><span class="n">Vec</span><span class="o">.</span><span class="n">GetId</span><span class="p">()]</span> <span class="o">=</span> <span class="n">i</span>
    622                 <span class="n">Ref</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">CheckBox</span><span class="p">(</span><span class="n">General</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39;Refine?&#39;</span><span class="p">)</span>
    623                 <span class="n">Ref</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SuperVec&#39;</span><span class="p">][</span><span class="n">i</span><span class="p">][</span><span class="mi">1</span><span class="p">])</span>
    624                 <span class="n">Indx</span><span class="p">[</span><span class="n">Ref</span><span class="o">.</span><span class="n">GetId</span><span class="p">()]</span> <span class="o">=</span> <span class="n">i</span>
    625                 <span class="n">Ref</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_CHECKBOX</span><span class="p">,</span> <span class="n">OnVecRef</span><span class="p">)</span>
    626                 <span class="n">vecSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">Ref</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    627                 <span class="n">vecSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">General</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39; max index: &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    628                 <span class="n">Max</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">ComboBox</span><span class="p">(</span><span class="n">General</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="n">value</span><span class="o">=</span><span class="s">&#39;</span><span class="si">%d</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SuperVec&#39;</span><span class="p">][</span><span class="n">i</span><span class="p">][</span><span class="mi">2</span><span class="p">]),</span><span class="n">choices</span><span class="o">=</span><span class="n">indChoice</span><span class="p">,</span>
    629                     <span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">CB_READONLY</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">CB_DROPDOWN</span><span class="p">)</span>
    630                 <span class="n">Max</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_TEXT_ENTER</span><span class="p">,</span><span class="n">OnMax</span><span class="p">)</span>       
    631                 <span class="n">Max</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_KILL_FOCUS</span><span class="p">,</span><span class="n">OnMax</span><span class="p">)</span>
    632                 <span class="n">vecSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">Max</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    633                 <span class="n">Indx</span><span class="p">[</span><span class="n">Max</span><span class="o">.</span><span class="n">GetId</span><span class="p">()]</span> <span class="o">=</span> <span class="n">i</span>
    634             <span class="n">modSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">vecSizer</span><span class="p">)</span>
    635             <span class="k">return</span> <span class="n">modSizer</span>
     731            <span class="n">vecSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">General</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39; Modulation vector: &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     732            <span class="n">modS</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">splitSSsym</span><span class="p">(</span><span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SuperSg&#39;</span><span class="p">])[</span><span class="mi">0</span><span class="p">]</span>
     733            <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SuperVec&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">],</span><span class="n">ifShow</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">SSGModCheck</span><span class="p">(</span><span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SuperVec&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">],</span><span class="n">modS</span><span class="p">)</span>
     734            <span class="n">vec</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SuperVec&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span>
     735            <span class="k">for</span> <span class="n">i</span><span class="p">,[</span><span class="n">val</span><span class="p">,</span><span class="n">show</span><span class="p">]</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="nb">zip</span><span class="p">(</span><span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SuperVec&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">],</span><span class="n">ifShow</span><span class="p">)):</span>
     736                <span class="k">if</span> <span class="n">show</span><span class="p">:</span>
     737                    <span class="n">modVal</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">TextCtrl</span><span class="p">(</span><span class="n">General</span><span class="p">,</span><span class="n">value</span><span class="o">=</span><span class="p">(</span><span class="s">&#39;</span><span class="si">%.4f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">val</span><span class="p">)),</span>
     738                        <span class="n">size</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">Size</span><span class="p">(</span><span class="mi">50</span><span class="p">,</span><span class="mi">20</span><span class="p">),</span><span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_PROCESS_ENTER</span><span class="p">)</span>
     739                    <span class="n">modVal</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_TEXT_ENTER</span><span class="p">,</span><span class="n">OnVec</span><span class="p">)</span>       
     740                    <span class="n">modVal</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_KILL_FOCUS</span><span class="p">,</span><span class="n">OnVec</span><span class="p">)</span>
     741                    <span class="n">vecSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">modVal</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     742                    <span class="n">Indx</span><span class="p">[</span><span class="n">modVal</span><span class="o">.</span><span class="n">GetId</span><span class="p">()]</span> <span class="o">=</span> <span class="n">i</span>
     743                <span class="k">else</span><span class="p">:</span>
     744                    <span class="n">modVal</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">TextCtrl</span><span class="p">(</span><span class="n">General</span><span class="p">,</span><span class="n">value</span><span class="o">=</span><span class="p">(</span><span class="s">&#39;</span><span class="si">%.3f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">val</span><span class="p">)),</span>
     745                        <span class="n">size</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">Size</span><span class="p">(</span><span class="mi">50</span><span class="p">,</span><span class="mi">20</span><span class="p">),</span><span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_READONLY</span><span class="p">)</span>
     746                    <span class="n">modVal</span><span class="o">.</span><span class="n">SetBackgroundColour</span><span class="p">(</span><span class="n">VERY_LIGHT_GREY</span><span class="p">)</span>
     747                    <span class="n">vecSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">modVal</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     748            <span class="n">Ref</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">CheckBox</span><span class="p">(</span><span class="n">General</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39;Refine?&#39;</span><span class="p">)</span>
     749            <span class="n">Ref</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SuperVec&#39;</span><span class="p">][</span><span class="mi">1</span><span class="p">])</span>
     750            <span class="n">Ref</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_CHECKBOX</span><span class="p">,</span> <span class="n">OnVecRef</span><span class="p">)</span>
     751            <span class="n">vecSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">Ref</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     752            <span class="n">ssSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">vecSizer</span><span class="p">)</span>
     753            <span class="k">return</span> <span class="n">ssSizer</span>
    636754           
    637755        <span class="k">def</span> <span class="nf">MapSizer</span><span class="p">():</span>
     
    641759               
    642760            <span class="k">def</span> <span class="nf">OnRefList</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
    643                 <span class="n">Map</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">refList</span><span class="o">.</span><span class="n">GetValue</span><span class="p">()</span>
     761                <span class="n">dlg</span> <span class="o">=</span> <span class="n">G2gd</span><span class="o">.</span><span class="n">G2MultiChoiceDialog</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span> <span class="s">&#39;Select reflection sets to use&#39;</span><span class="p">,</span>
     762                    <span class="s">&#39;Use data&#39;</span><span class="p">,</span><span class="n">refsList</span><span class="p">,</span><span class="n">filterBox</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
     763                <span class="k">try</span><span class="p">:</span>
     764                    <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>
     765                        <span class="n">Map</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="n">refsList</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="n">dlg</span><span class="o">.</span><span class="n">GetSelections</span><span class="p">()]</span>
     766                    <span class="k">else</span><span class="p">:</span>
     767                        <span class="k">return</span>
     768                <span class="k">finally</span><span class="p">:</span>
     769                    <span class="n">dlg</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span>
     770                <span class="n">wx</span><span class="o">.</span><span class="n">CallAfter</span><span class="p">(</span><span class="n">UpdateGeneral</span><span class="p">)</span>               
    644771               
    645772            <span class="k">def</span> <span class="nf">OnResVal</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
     
    665792                <span class="n">Map</span><span class="p">[</span><span class="s">&#39;cutOff&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="mf">100.0</span>
    666793            <span class="n">mapTypes</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39;Fobs&#39;</span><span class="p">,</span><span class="s">&#39;Fcalc&#39;</span><span class="p">,</span><span class="s">&#39;delt-F&#39;</span><span class="p">,</span><span class="s">&#39;2*Fo-Fc&#39;</span><span class="p">,</span><span class="s">&#39;Omit&#39;</span><span class="p">,</span><span class="s">&#39;2Fo-Fc Omit&#39;</span><span class="p">,</span><span class="s">&#39;Patterson&#39;</span><span class="p">]</span>
    667             <span class="n">refList</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;Histograms&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">keys</span><span class="p">()</span>
     794            <span class="n">refsList</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;Histograms&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">keys</span><span class="p">()</span>
    668795            <span class="k">if</span> <span class="ow">not</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;AtomTypes&#39;</span><span class="p">]:</span>
    669796                 <span class="n">mapTypes</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39;Patterson&#39;</span><span class="p">,]</span>
     
    672799            <span class="n">lineSizer</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>
    673800            <span class="n">lineSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">General</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39; Fourier map controls: Map type: &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    674             <span class="n">mapType</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">ComboBox</span><span class="p">(</span><span class="n">General</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="n">value</span><span class="o">=</span><span class="n">Map</span><span class="p">[</span><span class="s">&#39;MapType&#39;</span><span class="p">],</span><span class="n">choices</span><span class="o">=</span><span class="n">mapTypes</span><span class="p">,</span>
     801            <span class="n">mapType</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">ComboBox</span><span class="p">(</span><span class="n">General</span><span class="p">,</span><span class="n">value</span><span class="o">=</span><span class="n">Map</span><span class="p">[</span><span class="s">&#39;MapType&#39;</span><span class="p">],</span><span class="n">choices</span><span class="o">=</span><span class="n">mapTypes</span><span class="p">,</span>
    675802                <span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">CB_READONLY</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">CB_DROPDOWN</span><span class="p">)</span>
    676803            <span class="n">mapType</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_COMBOBOX</span><span class="p">,</span><span class="n">OnMapType</span><span class="p">)</span>
    677804            <span class="n">lineSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">mapType</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    678             <span class="n">lineSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">General</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39; Reflection set from: &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    679             <span class="n">refList</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">ComboBox</span><span class="p">(</span><span class="n">General</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="n">value</span><span class="o">=</span><span class="n">Map</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">],</span><span class="n">choices</span><span class="o">=</span><span class="n">refList</span><span class="p">,</span>
    680                 <span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">CB_READONLY</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">CB_DROPDOWN</span><span class="p">)</span>
    681             <span class="n">refList</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_COMBOBOX</span><span class="p">,</span><span class="n">OnRefList</span><span class="p">)</span>
     805            <span class="n">lineSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">General</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39; Reflection sets: &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     806            <span class="k">if</span> <span class="s">&#39;list&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="nb">str</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">Map</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">])):</span>     <span class="c">#patch</span>
     807                <span class="n">Map</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="n">Map</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">],]</span>
     808            <span class="n">lineSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">ComboBox</span><span class="p">(</span><span class="n">General</span><span class="p">,</span><span class="n">value</span><span class="o">=</span><span class="n">Map</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">],</span><span class="n">choices</span><span class="o">=</span><span class="n">Map</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">],</span>
     809                <span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">CB_DROPDOWN</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     810            <span class="n">refList</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="n">General</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39;Select reflection sets&#39;</span><span class="p">)</span>
     811            <span class="n">refList</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="n">OnRefList</span><span class="p">)</span>
    682812            <span class="n">lineSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">refList</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    683813            <span class="n">mapSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">lineSizer</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     
    700830           
    701831            <span class="k">def</span> <span class="nf">OnRefList</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
    702                 <span class="n">Flip</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">refList</span><span class="o">.</span><span class="n">GetValue</span><span class="p">()</span>
     832                <span class="n">dlg</span> <span class="o">=</span> <span class="n">G2gd</span><span class="o">.</span><span class="n">G2MultiChoiceDialog</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span> <span class="s">&#39;Select reflection sets to use&#39;</span><span class="p">,</span>
     833                    <span class="s">&#39;Use data&#39;</span><span class="p">,</span><span class="n">refsList</span><span class="p">,</span><span class="n">filterBox</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
     834                <span class="k">try</span><span class="p">:</span>
     835                    <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>
     836                        <span class="n">Flip</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="n">refsList</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="n">dlg</span><span class="o">.</span><span class="n">GetSelections</span><span class="p">()]</span>
     837                    <span class="k">else</span><span class="p">:</span>
     838                        <span class="k">return</span>
     839                <span class="k">finally</span><span class="p">:</span>
     840                    <span class="n">dlg</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span>
     841                <span class="n">wx</span><span class="o">.</span><span class="n">CallAfter</span><span class="p">(</span><span class="n">UpdateGeneral</span><span class="p">)</span>               
    703842               
    704843            <span class="k">def</span> <span class="nf">OnNormElem</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
     
    736875                <span class="n">kMax</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="s">&quot;</span><span class="si">%.1f</span><span class="s">&quot;</span><span class="o">%</span><span class="p">(</span><span class="n">Flip</span><span class="p">[</span><span class="s">&#39;k-Max&#39;</span><span class="p">]))</span>          <span class="c">#reset in case of error</span>
    737876
    738             <span class="n">refList</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;Histograms&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">keys</span><span class="p">()</span>
     877            <span class="n">refsList</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;Histograms&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">keys</span><span class="p">()</span>
    739878            <span class="n">flipSizer</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>
    740879            <span class="n">lineSizer</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>
    741             <span class="n">lineSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">General</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39; Charge flip controls: Reflection set from: &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    742             <span class="n">refList</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">ComboBox</span><span class="p">(</span><span class="n">General</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="n">value</span><span class="o">=</span><span class="n">Flip</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">],</span><span class="n">choices</span><span class="o">=</span><span class="n">refList</span><span class="p">,</span>
    743                 <span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">CB_READONLY</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">CB_DROPDOWN</span><span class="p">)</span>
    744             <span class="n">refList</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_COMBOBOX</span><span class="p">,</span><span class="n">OnRefList</span><span class="p">)</span>
     880            <span class="n">lineSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">General</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39; Charge flip controls: Reflection sets: &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     881            <span class="k">if</span> <span class="s">&#39;list&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="nb">str</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">Flip</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">])):</span>     <span class="c">#patch</span>
     882                <span class="n">Flip</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="n">Flip</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">],]</span>
     883            <span class="n">lineSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">ComboBox</span><span class="p">(</span><span class="n">General</span><span class="p">,</span><span class="n">value</span><span class="o">=</span><span class="n">Flip</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">],</span><span class="n">choices</span><span class="o">=</span><span class="n">Flip</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">],</span>
     884                <span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">CB_DROPDOWN</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     885            <span class="n">refList</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="n">General</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39;Select reflection sets&#39;</span><span class="p">)</span>
     886            <span class="n">refList</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="n">OnRefList</span><span class="p">)</span>
    745887            <span class="n">lineSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">refList</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    746888            <span class="n">lineSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">General</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39; Normalizing element: &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     
    9581100       
    9591101        <span class="k">if</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;modulated&#39;</span><span class="p">,</span><span class="s">&#39;magnetic&#39;</span><span class="p">,]:</span>
    960             <span class="n">mainSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">General</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39;NB: This does nothing yet&#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     1102            <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">GeneralCalc</span><span class="o">.</span><span class="n">Enable</span><span class="p">(</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_SINGLEMCSA</span><span class="p">,</span><span class="bp">False</span><span class="p">)</span>
     1103            <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">GeneralCalc</span><span class="o">.</span><span class="n">Enable</span><span class="p">(</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_MULTIMCSA</span><span class="p">,</span><span class="bp">False</span><span class="p">)</span>
     1104            <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">GeneralCalc</span><span class="o">.</span><span class="n">Enable</span><span class="p">(</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_4DCHARGEFLIP</span><span class="p">,</span><span class="bp">True</span><span class="p">)</span>
    9611105            <span class="n">mainSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">ModulatedSizer</span><span class="p">(</span><span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]))</span>
    9621106            <span class="n">G2gd</span><span class="o">.</span><span class="n">HorizontalLine</span><span class="p">(</span><span class="n">mainSizer</span><span class="p">,</span><span class="n">General</span><span class="p">)</span>
     1107        <span class="k">else</span><span class="p">:</span>
     1108            <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">GeneralCalc</span><span class="o">.</span><span class="n">Enable</span><span class="p">(</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_SINGLEMCSA</span><span class="p">,</span><span class="bp">True</span><span class="p">)</span>
     1109            <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">GeneralCalc</span><span class="o">.</span><span class="n">Enable</span><span class="p">(</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_MULTIMCSA</span><span class="p">,</span><span class="bp">True</span><span class="p">)</span>
     1110            <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">GeneralCalc</span><span class="o">.</span><span class="n">Enable</span><span class="p">(</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_4DCHARGEFLIP</span><span class="p">,</span><span class="bp">False</span><span class="p">)</span>
    9631111
    9641112        <span class="n">mainSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">PawleySizer</span><span class="p">())</span>
     
    9721120            <span class="n">G2gd</span><span class="o">.</span><span class="n">HorizontalLine</span><span class="p">(</span><span class="n">mainSizer</span><span class="p">,</span><span class="n">General</span><span class="p">)</span>
    9731121            <span class="n">mainSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">MCSASizer</span><span class="p">())</span>
     1122        <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">SetStatusText</span><span class="p">(</span><span class="s">&#39;&#39;</span><span class="p">)</span>
    9741123        <span class="n">SetPhaseWindow</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="p">,</span><span class="n">General</span><span class="p">,</span><span class="n">mainSizer</span><span class="p">)</span>
    975         <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">SetStatusText</span><span class="p">(</span><span class="s">&#39;&#39;</span><span class="p">)</span>
    9761124
    9771125<span class="c">################################################################################</span>
     
    9791127<span class="c">################################################################################</span>
    9801128
     1129    <span class="n">SSdefault</span> <span class="o">=</span> <span class="p">{</span><span class="s">&#39;SS1&#39;</span><span class="p">:{</span><span class="s">&#39;waveType&#39;</span><span class="p">:</span><span class="s">&#39;Fourier&#39;</span><span class="p">,</span><span class="s">&#39;crenelType&#39;</span><span class="p">:</span><span class="bp">None</span><span class="p">,</span><span class="s">&#39;Sfrac&#39;</span><span class="p">:[],</span><span class="s">&#39;Spos&#39;</span><span class="p">:[],</span><span class="s">&#39;Sadp&#39;</span><span class="p">:[],</span><span class="s">&#39;Smag&#39;</span><span class="p">:[]}}</span>
    9811130    <span class="k">def</span> <span class="nf">FillAtomsGrid</span><span class="p">(</span><span class="n">Atoms</span><span class="p">):</span>
    9821131        <span class="sd">&#39;&#39;&#39;Display the contents of the Atoms tab</span>
     
    9931142                <span class="k">if</span> <span class="n">Atoms</span><span class="o">.</span><span class="n">GetColLabelValue</span><span class="p">(</span><span class="n">c</span><span class="p">)</span> <span class="o">==</span> <span class="s">&#39;refine&#39;</span><span class="p">:</span>
    9941143                    <span class="n">Type</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]</span>
    995                     <span class="k">if</span> <span class="n">Type</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;nuclear&#39;</span><span class="p">,</span><span class="s">&#39;macromolecular&#39;</span><span class="p">]:</span>
     1144                    <span class="k">if</span> <span class="n">Type</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;nuclear&#39;</span><span class="p">,</span><span class="s">&#39;macromolecular&#39;</span><span class="p">,</span><span class="s">&#39;modulated&#39;</span><span class="p">]:</span>
    9961145                        <span class="n">choice</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39;F - site fraction&#39;</span><span class="p">,</span><span class="s">&#39;X - coordinates&#39;</span><span class="p">,</span><span class="s">&#39;U - thermal parameters&#39;</span><span class="p">]</span>
    9971146                    <span class="k">elif</span> <span class="n">Type</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;magnetic&#39;</span><span class="p">,]:</span>
     
    10771226                    <span class="n">ss</span> <span class="o">=</span> <span class="n">colLabels</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="s">&#39;site sym&#39;</span><span class="p">)</span>
    10781227                    <span class="k">for</span> <span class="n">r</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">Atoms</span><span class="o">.</span><span class="n">GetNumberRows</span><span class="p">()):</span>
    1079                         <span class="n">ID</span> <span class="o">=</span> <span class="n">atomData</span><span class="p">[</span><span class="n">r</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
     1228                        <span class="n">ID</span> <span class="o">=</span> <span class="n">atomData</span><span class="p">[</span><span class="n">r</span><span class="p">][</span><span class="n">ui</span><span class="o">+</span><span class="mi">6</span><span class="p">]</span>
    10801229                        <span class="k">if</span> <span class="n">parms</span> <span class="o">!=</span> <span class="n">atomData</span><span class="p">[</span><span class="n">r</span><span class="p">][</span><span class="n">c</span><span class="p">]</span> <span class="ow">and</span> <span class="n">Atoms</span><span class="o">.</span><span class="n">GetColLabelValue</span><span class="p">(</span><span class="n">c</span><span class="p">)</span> <span class="o">==</span> <span class="s">&#39;I/A&#39;</span><span class="p">:</span>
    10811230                            <span class="k">if</span> <span class="n">parms</span> <span class="o">==</span> <span class="s">&#39;A&#39;</span><span class="p">:</span>                <span class="c">#&#39;I&#39; --&gt; &#39;A&#39;</span>
     
    11021251                        <span class="k">if</span> <span class="ow">not</span> <span class="n">Atoms</span><span class="o">.</span><span class="n">IsReadOnly</span><span class="p">(</span><span class="n">r</span><span class="p">,</span><span class="n">c</span><span class="p">):</span>
    11031252                            <span class="k">if</span> <span class="n">Atoms</span><span class="o">.</span><span class="n">GetColLabelValue</span><span class="p">(</span><span class="n">c</span><span class="p">)</span> <span class="o">==</span> <span class="s">&#39;refine&#39;</span><span class="p">:</span>
    1104                                 <span class="n">rbExcl</span> <span class="o">=</span> <span class="n">rbAtmDict</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">atomData</span><span class="p">[</span><span class="n">r</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">],</span><span class="s">&#39;&#39;</span><span class="p">)</span>
     1253                                <span class="n">rbExcl</span> <span class="o">=</span> <span class="n">rbAtmDict</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">atomData</span><span class="p">[</span><span class="n">r</span><span class="p">][</span><span class="n">ui</span><span class="o">+</span><span class="mi">6</span><span class="p">],</span><span class="s">&#39;&#39;</span><span class="p">)</span>
    11051254                                <span class="k">if</span> <span class="n">rbExcl</span><span class="p">:</span>
    11061255                                    <span class="k">for</span> <span class="n">excl</span> <span class="ow">in</span> <span class="n">rbExcl</span><span class="p">:</span>
     
    11211270            <span class="n">r</span><span class="p">,</span><span class="n">c</span> <span class="o">=</span>  <span class="n">event</span><span class="o">.</span><span class="n">GetRow</span><span class="p">(),</span><span class="n">event</span><span class="o">.</span><span class="n">GetCol</span><span class="p">()</span>
    11221271            <span class="k">if</span> <span class="n">r</span> <span class="o">&gt;=</span> <span class="mi">0</span> <span class="ow">and</span> <span class="n">c</span> <span class="o">&gt;=</span> <span class="mi">0</span><span class="p">:</span>
    1123                 <span class="n">ID</span> <span class="o">=</span> <span class="n">atomData</span><span class="p">[</span><span class="n">r</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
     1272                <span class="n">ci</span> <span class="o">=</span> <span class="n">colLabels</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="s">&#39;I/A&#39;</span><span class="p">)</span>
     1273                <span class="n">ID</span> <span class="o">=</span> <span class="n">atomData</span><span class="p">[</span><span class="n">r</span><span class="p">][</span><span class="n">ci</span><span class="o">+</span><span class="mi">8</span><span class="p">]</span>
    11241274                <span class="k">if</span> <span class="n">Atoms</span><span class="o">.</span><span class="n">GetColLabelValue</span><span class="p">(</span><span class="n">c</span><span class="p">)</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;x&#39;</span><span class="p">,</span><span class="s">&#39;y&#39;</span><span class="p">,</span><span class="s">&#39;z&#39;</span><span class="p">]:</span>
    11251275                    <span class="n">ci</span> <span class="o">=</span> <span class="n">colLabels</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="s">&#39;x&#39;</span><span class="p">)</span>
     
    11751325                            <span class="n">atomData</span><span class="p">[</span><span class="n">r</span><span class="p">][</span><span class="n">i</span><span class="o">+</span><span class="n">colLabels</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="s">&#39;U11&#39;</span><span class="p">)]</span> <span class="o">=</span> <span class="n">value</span><span class="o">*</span><span class="n">CSI</span><span class="p">[</span><span class="mi">1</span><span class="p">][</span><span class="n">i</span><span class="p">]</span>
    11761326                <span class="k">elif</span> <span class="n">Atoms</span><span class="o">.</span><span class="n">GetColLabelValue</span><span class="p">(</span><span class="n">c</span><span class="p">)</span> <span class="o">==</span> <span class="s">&#39;refine&#39;</span><span class="p">:</span>
    1177                     <span class="n">atomData</span><span class="p">[</span><span class="n">r</span><span class="p">][</span><span class="n">c</span><span class="p">]</span> <span class="o">=</span> <span class="n">atomData</span><span class="p">[</span><span class="n">r</span><span class="p">][</span><span class="n">c</span><span class="p">]</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="n">rbAtmDict</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">atomData</span><span class="p">[</span><span class="n">r</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">],</span><span class="s">&#39;&#39;</span><span class="p">),</span><span class="s">&#39;&#39;</span><span class="p">)</span>
     1327                    <span class="n">ci</span> <span class="o">=</span> <span class="n">colLabels</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="s">&#39;I/A&#39;</span><span class="p">)</span>
     1328                    <span class="n">atomData</span><span class="p">[</span><span class="n">r</span><span class="p">][</span><span class="n">c</span><span class="p">]</span> <span class="o">=</span> <span class="n">atomData</span><span class="p">[</span><span class="n">r</span><span class="p">][</span><span class="n">c</span><span class="p">]</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="n">rbAtmDict</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">atomData</span><span class="p">[</span><span class="n">r</span><span class="p">][</span><span class="n">ci</span><span class="o">+</span><span class="mi">8</span><span class="p">],</span><span class="s">&#39;&#39;</span><span class="p">),</span><span class="s">&#39;&#39;</span><span class="p">)</span>
    11781329                <span class="k">if</span> <span class="s">&#39;Atoms&#39;</span> <span class="ow">in</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;Drawing&#39;</span><span class="p">]:</span>
    11791330                    <span class="n">DrawAtomsReplaceByID</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="s">&#39;Drawing&#39;</span><span class="p">],</span><span class="n">atomData</span><span class="p">[</span><span class="n">r</span><span class="p">],</span><span class="n">ID</span><span class="p">)</span>
     
    11971348                <span class="n">value</span> <span class="o">=</span> <span class="n">Atoms</span><span class="o">.</span><span class="n">GetCellValue</span><span class="p">(</span><span class="n">r</span><span class="p">,</span><span class="n">c</span><span class="p">)</span>
    11981349                <span class="n">atomData</span><span class="p">[</span><span class="n">r</span><span class="p">][</span><span class="n">c</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span>
    1199                 <span class="n">ID</span> <span class="o">=</span> <span class="n">atomData</span><span class="p">[</span><span class="n">r</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
     1350                <span class="n">ci</span> <span class="o">=</span> <span class="n">colLabels</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="s">&#39;I/A&#39;</span><span class="p">)</span>
     1351                <span class="n">ID</span> <span class="o">=</span> <span class="n">atomData</span><span class="p">[</span><span class="n">r</span><span class="p">][</span><span class="n">ci</span><span class="o">+</span><span class="mi">8</span><span class="p">]</span>
    12001352                <span class="k">if</span> <span class="s">&#39;Atoms&#39;</span> <span class="ow">in</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;Drawing&#39;</span><span class="p">]:</span>
    12011353                    <span class="n">DrawAtomsReplaceByID</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="s">&#39;Drawing&#39;</span><span class="p">],</span><span class="n">atomData</span><span class="p">[</span><span class="n">r</span><span class="p">],</span><span class="n">ID</span><span class="p">)</span>
     
    12131365                    <span class="n">Atoms</span><span class="o">.</span><span class="n">ClearSelection</span><span class="p">()</span>
    12141366            <span class="k">elif</span> <span class="n">c</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="p">:</span>                   <span class="c">#only row clicks</span>
     1367                <span class="n">ci</span> <span class="o">=</span> <span class="n">colLabels</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="s">&#39;I/A&#39;</span><span class="p">)</span>
    12151368                <span class="k">if</span> <span class="n">event</span><span class="o">.</span><span class="n">ControlDown</span><span class="p">()</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">event</span><span class="o">.</span><span class="n">ShiftDown</span><span class="p">():</span>                   
    12161369                    <span class="k">if</span> <span class="n">r</span> <span class="ow">in</span> <span class="n">Atoms</span><span class="o">.</span><span class="n">GetSelectedRows</span><span class="p">():</span>
     
    12271380                        <span class="n">Atoms</span><span class="o">.</span><span class="n">SelectRow</span><span class="p">(</span><span class="n">row</span><span class="p">,</span><span class="bp">True</span><span class="p">)</span>
    12281381                <span class="k">elif</span> <span class="n">event</span><span class="o">.</span><span class="n">AltDown</span><span class="p">()</span> <span class="ow">or</span> <span class="p">(</span><span class="n">event</span><span class="o">.</span><span class="n">ShiftDown</span><span class="p">()</span> <span class="ow">and</span> <span class="n">event</span><span class="o">.</span><span class="n">ControlDown</span><span class="p">()):</span>
    1229                     <span class="k">if</span> <span class="n">atomData</span><span class="p">[</span><span class="n">r</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="ow">in</span> <span class="n">rbAtmDict</span><span class="p">:</span>
    1230                         <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">SetStatusText</span><span class="p">(</span><span class="s">&#39;**** ERROR - atom is in a rigid body and can not be moved ****&#39;</span><span class="p">)</span>
     1382                    <span class="k">if</span> <span class="n">atomData</span><span class="p">[</span><span class="n">r</span><span class="p">][</span><span class="n">ci</span><span class="o">+</span><span class="mi">8</span><span class="p">]</span> <span class="ow">in</span> <span class="n">rbAtmDict</span><span class="p">:</span>
     1383                        <span class="n">G2frame</span><span class="o">.</span><span class="n">ErrorDialog</span><span class="p">(</span><span class="s">&#39;Atom move error&#39;</span><span class="p">,</span><span class="s">&#39;Atoms in rigid bodies can not be moved&#39;</span><span class="p">)</span>
    12311384                        <span class="n">Atoms</span><span class="o">.</span><span class="n">frm</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span>
    12321385                        <span class="n">Atoms</span><span class="o">.</span><span class="n">ClearSelection</span><span class="p">()</span>
     
    12831436            <span class="n">attr</span><span class="o">.</span><span class="n">SetEditor</span><span class="p">(</span><span class="n">G2gd</span><span class="o">.</span><span class="n">GridFractionEditor</span><span class="p">(</span><span class="n">Atoms</span><span class="p">))</span>
    12841437            <span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">colX</span><span class="p">,</span><span class="n">colX</span><span class="o">+</span><span class="mi">3</span><span class="p">):</span>
     1438                <span class="n">attr</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">grid</span><span class="o">.</span><span class="n">GridCellAttr</span><span class="p">()</span>
     1439                <span class="n">attr</span><span class="o">.</span><span class="n">IncRef</span><span class="p">()</span>               <span class="c">#fix from Jim Hester</span>
     1440                <span class="n">attr</span><span class="o">.</span><span class="n">SetEditor</span><span class="p">(</span><span class="n">G2gd</span><span class="o">.</span><span class="n">GridFractionEditor</span><span class="p">(</span><span class="n">Atoms</span><span class="p">))</span>
    12851441                <span class="n">Atoms</span><span class="o">.</span><span class="n">SetColAttr</span><span class="p">(</span><span class="n">c</span><span class="p">,</span> <span class="n">attr</span><span class="p">)</span>
    12861442            <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">colU11</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="n">colU11</span><span class="o">+</span><span class="mi">6</span><span class="p">):</span>
    12871443                <span class="n">Atoms</span><span class="o">.</span><span class="n">SetColSize</span><span class="p">(</span><span class="n">i</span><span class="p">,</span><span class="mi">50</span><span class="p">)</span>           
    12881444            <span class="k">for</span> <span class="n">row</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">Atoms</span><span class="o">.</span><span class="n">GetNumberRows</span><span class="p">()):</span>
    1289                 <span class="n">atId</span> <span class="o">=</span> <span class="n">atomData</span><span class="p">[</span><span class="n">row</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
     1445                <span class="n">atId</span> <span class="o">=</span> <span class="n">atomData</span><span class="p">[</span><span class="n">row</span><span class="p">][</span><span class="n">colIA</span><span class="o">+</span><span class="mi">8</span><span class="p">]</span>
    12901446                <span class="n">rbExcl</span> <span class="o">=</span> <span class="n">rbAtmDict</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">atId</span><span class="p">,</span><span class="s">&#39;&#39;</span><span class="p">)</span>
    12911447                <span class="n">Atoms</span><span class="o">.</span><span class="n">SetReadOnly</span><span class="p">(</span><span class="n">row</span><span class="p">,</span><span class="n">colSS</span><span class="p">,</span><span class="bp">True</span><span class="p">)</span>                         <span class="c">#site sym</span>
     
    13011457                    <span class="n">Atoms</span><span class="o">.</span><span class="n">SetCellTextColour</span><span class="p">(</span><span class="n">row</span><span class="p">,</span><span class="n">colUiso</span><span class="p">,</span><span class="n">VERY_LIGHT_GREY</span><span class="p">)</span>
    13021458                    <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">6</span><span class="p">):</span>
    1303                         <span class="n">ci</span> <span class="o">=</span> <span class="n">colU11</span><span class="o">+</span><span class="n">i</span>
    1304                         <span class="n">Atoms</span><span class="o">.</span><span class="n">SetCellTextColour</span><span class="p">(</span><span class="n">row</span><span class="p">,</span><span class="n">ci</span><span class="p">,</span><span class="n">BLACK</span><span class="p">)</span>
    1305                         <span class="n">Atoms</span><span class="o">.</span><span class="n">SetCellStyle</span><span class="p">(</span><span class="n">row</span><span class="p">,</span><span class="n">ci</span><span class="p">,</span><span class="n">VERY_LIGHT_GREY</span><span class="p">,</span><span class="bp">True</span><span class="p">)</span>
     1459                        <span class="n">cj</span> <span class="o">=</span> <span class="n">colU11</span><span class="o">+</span><span class="n">i</span>
     1460                        <span class="n">Atoms</span><span class="o">.</span><span class="n">SetCellTextColour</span><span class="p">(</span><span class="n">row</span><span class="p">,</span><span class="n">cj</span><span class="p">,</span><span class="n">BLACK</span><span class="p">)</span>
     1461                        <span class="n">Atoms</span><span class="o">.</span><span class="n">SetCellStyle</span><span class="p">(</span><span class="n">row</span><span class="p">,</span><span class="n">cj</span><span class="p">,</span><span class="n">VERY_LIGHT_GREY</span><span class="p">,</span><span class="bp">True</span><span class="p">)</span>
    13061462                        <span class="k">if</span> <span class="n">CSI</span><span class="p">[</span><span class="mi">2</span><span class="p">][</span><span class="n">i</span><span class="p">]</span> <span class="ow">and</span> <span class="s">&#39;U&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">rbExcl</span><span class="p">:</span>
    1307                             <span class="n">Atoms</span><span class="o">.</span><span class="n">SetCellStyle</span><span class="p">(</span><span class="n">row</span><span class="p">,</span><span class="n">ci</span><span class="p">,</span><span class="n">WHITE</span><span class="p">,</span><span class="bp">False</span><span class="p">)</span>
     1463                            <span class="n">Atoms</span><span class="o">.</span><span class="n">SetCellStyle</span><span class="p">(</span><span class="n">row</span><span class="p">,</span><span class="n">cj</span><span class="p">,</span><span class="n">WHITE</span><span class="p">,</span><span class="bp">False</span><span class="p">)</span>
    13081464                <span class="k">else</span><span class="p">:</span>
    13091465                    <span class="n">Atoms</span><span class="o">.</span><span class="n">SetCellStyle</span><span class="p">(</span><span class="n">row</span><span class="p">,</span><span class="n">colUiso</span><span class="p">,</span><span class="n">WHITE</span><span class="p">,</span><span class="bp">False</span><span class="p">)</span>
     
    13121468                        <span class="n">Atoms</span><span class="o">.</span><span class="n">SetCellStyle</span><span class="p">(</span><span class="n">row</span><span class="p">,</span><span class="n">colUiso</span><span class="p">,</span><span class="n">VERY_LIGHT_GREY</span><span class="p">,</span><span class="bp">True</span><span class="p">)</span>
    13131469                    <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">6</span><span class="p">):</span>
    1314                         <span class="n">ci</span> <span class="o">=</span> <span class="n">colU11</span><span class="o">+</span><span class="n">i</span>
    1315                         <span class="n">Atoms</span><span class="o">.</span><span class="n">SetCellStyle</span><span class="p">(</span><span class="n">row</span><span class="p">,</span><span class="n">ci</span><span class="p">,</span><span class="n">VERY_LIGHT_GREY</span><span class="p">,</span><span class="bp">True</span><span class="p">)</span>
    1316                         <span class="n">Atoms</span><span class="o">.</span><span class="n">SetCellTextColour</span><span class="p">(</span><span class="n">row</span><span class="p">,</span><span class="n">ci</span><span class="p">,</span><span class="n">VERY_LIGHT_GREY</span><span class="p">)</span>
     1470                        <span class="n">cj</span> <span class="o">=</span> <span class="n">colU11</span><span class="o">+</span><span class="n">i</span>
     1471                        <span class="n">Atoms</span><span class="o">.</span><span class="n">SetCellStyle</span><span class="p">(</span><span class="n">row</span><span class="p">,</span><span class="n">cj</span><span class="p">,</span><span class="n">VERY_LIGHT_GREY</span><span class="p">,</span><span class="bp">True</span><span class="p">)</span>
     1472                        <span class="n">Atoms</span><span class="o">.</span><span class="n">SetCellTextColour</span><span class="p">(</span><span class="n">row</span><span class="p">,</span><span class="n">cj</span><span class="p">,</span><span class="n">VERY_LIGHT_GREY</span><span class="p">)</span>
    13171473                <span class="k">if</span> <span class="s">&#39;X&#39;</span> <span class="ow">in</span> <span class="n">rbExcl</span><span class="p">:</span>
    13181474                    <span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="n">colX</span><span class="o">+</span><span class="mi">3</span><span class="p">):</span>
     
    13221478
    13231479        <span class="c"># FillAtomsGrid executable code starts here</span>
     1480        <span class="k">if</span> <span class="ow">not</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;Drawing&#39;</span><span class="p">]:</span>                 <span class="c">#if new drawing - no drawing data!</span>
     1481            <span class="n">SetupDrawingData</span><span class="p">()</span>
    13241482        <span class="n">generalData</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;General&#39;</span><span class="p">]</span>
    13251483        <span class="n">atomData</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;Atoms&#39;</span><span class="p">]</span>
     
    13361494        <span class="c"># exclList will be &#39;x&#39; or &#39;xu&#39; if TLS used in RB</span>
    13371495        <span class="n">Items</span> <span class="o">=</span> <span class="p">[</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_ATOMSEDITINSERT</span><span class="p">,</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_ATOMSEDITDELETE</span><span class="p">,</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_ATOMSREFINE</span><span class="p">,</span>
    1338             <span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_ATOMSMODIFY</span><span class="p">,</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_ATOMSTRANSFORM</span><span class="p">,</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_ATOMVIEWINSERT</span><span class="p">,</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_ATOMMOVE</span><span class="p">]</span>
     1496            <span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_ATOMSMODIFY</span><span class="p">,</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_ATOMSTRANSFORM</span><span class="p">,</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_MAKEMOLECULE</span><span class="p">,</span>
     1497            <span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_ATOMVIEWINSERT</span><span class="p">,</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_ATOMMOVE</span><span class="p">]</span>
    13391498        <span class="k">if</span> <span class="n">atomData</span><span class="p">:</span>
    13401499            <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">Items</span><span class="p">:</span>   
     
    13501509            <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">Items</span><span class="p">:</span>
    13511510                <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">AtomsMenu</span><span class="o">.</span><span class="n">Enable</span><span class="p">(</span><span class="n">item</span><span class="p">,</span><span class="bp">False</span><span class="p">)</span>
    1352 
    13531511        <span class="n">AAchoice</span> <span class="o">=</span> <span class="s">&quot;: ,ALA,ARG,ASN,ASP,CYS,GLN,GLU,GLY,HIS,ILE,LEU,LYS,MET,PHE,PRO,SER,THR,TRP,TYR,VAL,MSE,HOH,UNK&quot;</span>
    13541512        <span class="n">Types</span> <span class="o">=</span> <span class="p">[</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_STRING</span><span class="p">,</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_STRING</span><span class="p">,</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_CHOICE</span><span class="o">+</span><span class="s">&quot;: ,X,XU,U,F,FX,FXU,FU&quot;</span><span class="p">,]</span><span class="o">+</span> \
     
    14061564            <span class="n">atomData</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">Name</span><span class="p">,</span><span class="n">El</span><span class="p">,</span><span class="s">&#39;&#39;</span><span class="p">,</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">,</span><span class="n">z</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">Sytsym</span><span class="p">,</span><span class="n">Mult</span><span class="p">,</span><span class="s">&#39;I&#39;</span><span class="p">,</span><span class="mf">0.01</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">atId</span><span class="p">])</span>
    14071565        <span class="k">elif</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;modulated&#39;</span><span class="p">,</span><span class="s">&#39;magnetic&#39;</span><span class="p">]:</span>
    1408             <span class="n">atomData</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">Name</span><span class="p">,</span><span class="n">El</span><span class="p">,</span><span class="s">&#39;&#39;</span><span class="p">,</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">,</span><span class="n">z</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">Sytsym</span><span class="p">,</span><span class="n">Mult</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="s">&#39;I&#39;</span><span class="p">,</span><span class="mf">0.01</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,[],[],[],[],</span><span class="n">atId</span><span class="p">])</span>
     1566            <span class="n">atomData</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">Name</span><span class="p">,</span><span class="n">El</span><span class="p">,</span><span class="s">&#39;&#39;</span><span class="p">,</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">,</span><span class="n">z</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">Sytsym</span><span class="p">,</span><span class="n">Mult</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="s">&#39;I&#39;</span><span class="p">,</span><span class="mf">0.01</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">atId</span><span class="p">,[],[],</span><span class="n">SSdefault</span><span class="p">])</span>
    14091567        <span class="n">SetupGeneral</span><span class="p">()</span>
    14101568        <span class="k">if</span> <span class="s">&#39;Atoms&#39;</span> <span class="ow">in</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;Drawing&#39;</span><span class="p">]:</span>           
     
    14311589        <span class="n">colLabels</span> <span class="o">=</span> <span class="p">[</span><span class="n">Atoms</span><span class="o">.</span><span class="n">GetColLabelValue</span><span class="p">(</span><span class="n">c</span><span class="p">)</span> <span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">Atoms</span><span class="o">.</span><span class="n">GetNumberCols</span><span class="p">())]</span>
    14321590        <span class="n">cx</span> <span class="o">=</span> <span class="n">colLabels</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="s">&#39;x&#39;</span><span class="p">)</span>
     1591        <span class="n">ci</span> <span class="o">=</span> <span class="n">colLabels</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="s">&#39;I/A&#39;</span><span class="p">)</span>
    14331592        <span class="n">indx</span> <span class="o">=</span> <span class="n">Atoms</span><span class="o">.</span><span class="n">GetSelectedRows</span><span class="p">()</span>
    14341593        <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">indx</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">1</span><span class="p">:</span>
    1435             <span class="k">print</span> <span class="s">&#39;**** ERROR - only one atom can be moved ****&#39;</span>
    1436         <span class="k">elif</span> <span class="n">atomData</span><span class="p">[</span><span class="n">indx</span><span class="p">[</span><span class="mi">0</span><span class="p">]][</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="ow">in</span> <span class="n">rbAtmDict</span><span class="p">:</span>
    1437             <span class="k">print</span> <span class="s">&#39;**** ERROR - Atoms in rigid bodies can not be moved ****&#39;</span>
     1594            <span class="n">G2frame</span><span class="o">.</span><span class="n">ErrorDialog</span><span class="p">(</span><span class="s">&#39;Atom move error&#39;</span><span class="p">,</span><span class="s">&#39;Only one atom can be moved&#39;</span><span class="p">)</span>
     1595        <span class="k">elif</span> <span class="n">atomData</span><span class="p">[</span><span class="n">indx</span><span class="p">[</span><span class="mi">0</span><span class="p">]][</span><span class="n">ci</span><span class="o">+</span><span class="mi">8</span><span class="p">]</span> <span class="ow">in</span> <span class="n">rbAtmDict</span><span class="p">:</span>
     1596            <span class="n">G2frame</span><span class="o">.</span><span class="n">ErrorDialog</span><span class="p">(</span><span class="s">&#39;Atom move error&#39;</span><span class="p">,</span><span class="s">&#39;Atoms in rigid bodies can not be moved&#39;</span><span class="p">)</span>
    14381597        <span class="k">else</span><span class="p">:</span>
    14391598            <span class="n">atomData</span><span class="p">[</span><span class="n">indx</span><span class="p">[</span><span class="mi">0</span><span class="p">]][</span><span class="n">cx</span><span class="p">:</span><span class="n">cx</span><span class="o">+</span><span class="mi">3</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">,</span><span class="n">z</span><span class="p">]</span>
    14401599            <span class="n">SetupGeneral</span><span class="p">()</span>
    14411600            <span class="n">FillAtomsGrid</span><span class="p">(</span><span class="n">Atoms</span><span class="p">)</span>
    1442             <span class="n">ID</span> <span class="o">=</span> <span class="n">atomData</span><span class="p">[</span><span class="n">indx</span><span class="p">[</span><span class="mi">0</span><span class="p">]][</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
     1601            <span class="n">ID</span> <span class="o">=</span> <span class="n">atomData</span><span class="p">[</span><span class="n">indx</span><span class="p">[</span><span class="mi">0</span><span class="p">]][</span><span class="n">ci</span><span class="o">+</span><span class="mi">8</span><span class="p">]</span>
    14431602            <span class="n">DrawAtomsReplaceByID</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="s">&#39;Drawing&#39;</span><span class="p">],</span><span class="n">atomData</span><span class="p">[</span><span class="n">indx</span><span class="p">[</span><span class="mi">0</span><span class="p">]],</span><span class="n">ID</span><span class="p">)</span>
    14441603            <span class="n">G2plt</span><span class="o">.</span><span class="n">PlotStructure</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">data</span><span class="p">)</span>
     
    14591618        <span class="n">generalData</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;General&#39;</span><span class="p">]</span>
    14601619        <span class="n">SGData</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SGData&#39;</span><span class="p">]</span>
    1461         <span class="k">if</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s">&#39;nuclear&#39;</span><span class="p">:</span>
     1620        <span class="k">if</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;nuclear&#39;</span><span class="p">,</span><span class="s">&#39;modulated&#39;</span><span class="p">,]:</span>
    14621621            <span class="k">if</span> <span class="n">oldatom</span><span class="p">:</span>
    14631622                <span class="n">opr</span> <span class="o">=</span> <span class="n">oldatom</span><span class="p">[</span><span class="mi">5</span><span class="p">]</span>
     
    15001659                <span class="n">atomData</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="n">indx</span><span class="p">,[</span><span class="s">&#39;UNK&#39;</span><span class="p">,</span><span class="s">&#39;UNK&#39;</span><span class="p">,</span><span class="s">&#39;&#39;</span><span class="p">,</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">,</span><span class="n">z</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">Sytsym</span><span class="p">,</span><span class="n">Mult</span><span class="p">,</span><span class="s">&#39;I&#39;</span><span class="p">,</span><span class="mf">0.01</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">atId</span><span class="p">])</span>
    15011660            <span class="k">elif</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;modulated&#39;</span><span class="p">,</span><span class="s">&#39;magnetic&#39;</span><span class="p">]:</span>
    1502                 <span class="n">atomData</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="n">indx</span><span class="p">,[</span><span class="s">&#39;UNK&#39;</span><span class="p">,</span><span class="s">&#39;UNK&#39;</span><span class="p">,</span><span class="s">&#39;&#39;</span><span class="p">,</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">,</span><span class="n">z</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">Sytsym</span><span class="p">,</span><span class="n">Mult</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="s">&#39;I&#39;</span><span class="p">,</span><span class="mf">0.01</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,[],[],[],[],</span><span class="n">atId</span><span class="p">])</span>
     1661                <span class="n">atomData</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="n">indx</span><span class="p">,[</span><span class="s">&#39;UNK&#39;</span><span class="p">,</span><span class="s">&#39;UNK&#39;</span><span class="p">,</span><span class="s">&#39;&#39;</span><span class="p">,</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">,</span><span class="n">z</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">Sytsym</span><span class="p">,</span><span class="n">Mult</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="s">&#39;I&#39;</span><span class="p">,</span><span class="mf">0.01</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">atId</span><span class="p">,[],[],</span><span class="n">SSdefault</span><span class="p">])</span>
    15031662            <span class="n">SetupGeneral</span><span class="p">()</span>
    15041663
    15051664    <span class="k">def</span> <span class="nf">AtomDelete</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
     1665        <span class="n">colLabels</span> <span class="o">=</span> <span class="p">[</span><span class="n">Atoms</span><span class="o">.</span><span class="n">GetColLabelValue</span><span class="p">(</span><span class="n">c</span><span class="p">)</span> <span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">Atoms</span><span class="o">.</span><span class="n">GetNumberCols</span><span class="p">())]</span>
     1666        <span class="n">ci</span> <span class="o">=</span> <span class="n">colLabels</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="s">&#39;I/A&#39;</span><span class="p">)</span>
    15061667        <span class="n">indx</span> <span class="o">=</span> <span class="n">Atoms</span><span class="o">.</span><span class="n">GetSelectedRows</span><span class="p">()</span>
    15071668        <span class="n">IDs</span> <span class="o">=</span> <span class="p">[]</span>
     
    15111672            <span class="k">for</span> <span class="n">ind</span> <span class="ow">in</span> <span class="n">indx</span><span class="p">:</span>
    15121673                <span class="n">atom</span> <span class="o">=</span> <span class="n">atomData</span><span class="p">[</span><span class="n">ind</span><span class="p">]</span>
    1513                 <span class="k">if</span> <span class="n">atom</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="ow">in</span> <span class="n">rbAtmDict</span><span class="p">:</span>
     1674                <span class="k">if</span> <span class="n">atom</span><span class="p">[</span><span class="n">ci</span><span class="o">+</span><span class="mi">8</span><span class="p">]</span> <span class="ow">in</span> <span class="n">rbAtmDict</span><span class="p">:</span>
    15141675                    <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">SetStatusText</span><span class="p">(</span><span class="s">&#39;**** ERROR - atom is in a rigid body and can not be deleted ****&#39;</span><span class="p">)</span>
    15151676                <span class="k">else</span><span class="p">:</span>
    1516                     <span class="n">IDs</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">atom</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
     1677                    <span class="n">IDs</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">atom</span><span class="p">[</span><span class="n">ci</span><span class="o">+</span><span class="mi">8</span><span class="p">])</span>
    15171678                    <span class="k">del</span> <span class="n">atomData</span><span class="p">[</span><span class="n">ind</span><span class="p">]</span>
    15181679            <span class="k">if</span> <span class="s">&#39;Atoms&#39;</span> <span class="ow">in</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;Drawing&#39;</span><span class="p">]:</span>
     
    15531714            <span class="n">generalData</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;General&#39;</span><span class="p">]</span>
    15541715            <span class="n">colLabels</span> <span class="o">=</span> <span class="p">[</span><span class="n">Atoms</span><span class="o">.</span><span class="n">GetColLabelValue</span><span class="p">(</span><span class="n">c</span><span class="p">)</span> <span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">Atoms</span><span class="o">.</span><span class="n">GetNumberCols</span><span class="p">())]</span>
     1716            <span class="n">ci</span> <span class="o">=</span> <span class="n">colLabels</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="s">&#39;I/A&#39;</span><span class="p">)</span>
    15551717            <span class="n">choices</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">,</span><span class="s">&#39;Name&#39;</span><span class="p">,</span><span class="s">&#39;x&#39;</span><span class="p">,</span><span class="s">&#39;y&#39;</span><span class="p">,</span><span class="s">&#39;z&#39;</span><span class="p">,</span><span class="s">&#39;frac&#39;</span><span class="p">,</span><span class="s">&#39;I/A&#39;</span><span class="p">,</span><span class="s">&#39;Uiso&#39;</span><span class="p">]</span>
    15561718            <span class="n">dlg</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">SingleChoiceDialog</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="s">&#39;Select&#39;</span><span class="p">,</span><span class="s">&#39;Atom parameter&#39;</span><span class="p">,</span><span class="n">choices</span><span class="p">)</span>
     
    15761738                        <span class="k">if</span> <span class="s">&#39;Atoms&#39;</span> <span class="ow">in</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;Drawing&#39;</span><span class="p">]:</span>
    15771739                            <span class="k">for</span> <span class="n">r</span> <span class="ow">in</span> <span class="n">indx</span><span class="p">:</span>
    1578                                 <span class="n">ID</span> <span class="o">=</span> <span class="n">atomData</span><span class="p">[</span><span class="n">r</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
     1740                                <span class="n">ID</span> <span class="o">=</span> <span class="n">atomData</span><span class="p">[</span><span class="n">r</span><span class="p">][</span><span class="n">ci</span><span class="o">+</span><span class="mi">8</span><span class="p">]</span>
    15791741                                <span class="n">DrawAtomsReplaceByID</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="s">&#39;Drawing&#39;</span><span class="p">],</span><span class="n">atomData</span><span class="p">[</span><span class="n">r</span><span class="p">],</span><span class="n">ID</span><span class="p">)</span>
    15801742                    <span class="n">FillAtomsGrid</span><span class="p">(</span><span class="n">Atoms</span><span class="p">)</span>
     
    16851847            <span class="k">else</span><span class="p">:</span>
    16861848                <span class="n">Atoms</span><span class="o">.</span><span class="n">ForceRefresh</span><span class="p">()</span>
     1849               
     1850    <span class="k">def</span> <span class="nf">MakeMolecule</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>     
     1851        <span class="n">indx</span> <span class="o">=</span> <span class="n">Atoms</span><span class="o">.</span><span class="n">GetSelectedRows</span><span class="p">()</span>
     1852        <span class="n">Oxyz</span> <span class="o">=</span> <span class="p">[]</span>
     1853        <span class="n">xyz</span> <span class="o">=</span> <span class="p">[]</span>
     1854        <span class="n">DisAglCtls</span> <span class="o">=</span> <span class="p">{}</span>
     1855        <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">indx</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
     1856            <span class="n">generalData</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;General&#39;</span><span class="p">]</span>
     1857            <span class="k">if</span> <span class="s">&#39;DisAglCtls&#39;</span> <span class="ow">in</span> <span class="n">generalData</span><span class="p">:</span>
     1858                <span class="n">DisAglCtls</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;DisAglCtls&#39;</span><span class="p">]</span>
     1859            <span class="n">dlg</span> <span class="o">=</span> <span class="n">G2gd</span><span class="o">.</span><span class="n">DisAglDialog</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">DisAglCtls</span><span class="p">,</span><span class="n">generalData</span><span class="p">)</span>
     1860            <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>
     1861                <span class="n">DisAglCtls</span> <span class="o">=</span> <span class="n">dlg</span><span class="o">.</span><span class="n">GetData</span><span class="p">()</span>
     1862            <span class="k">else</span><span class="p">:</span>
     1863                <span class="n">dlg</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span>
     1864                <span class="k">return</span>
     1865            <span class="n">dlg</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span>
     1866            <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;DisAglCtls&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">DisAglCtls</span>
     1867            <span class="n">atomData</span> <span class="o">=</span> <span class="n">copy</span><span class="o">.</span><span class="n">deepcopy</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="s">&#39;Atoms&#39;</span><span class="p">])</span>
     1868            <span class="n">result</span> <span class="o">=</span> <span class="n">G2mth</span><span class="o">.</span><span class="n">FindMolecule</span><span class="p">(</span><span class="n">indx</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">generalData</span><span class="p">,</span><span class="n">atomData</span><span class="p">)</span>
     1869            <span class="k">if</span> <span class="s">&#39;str&#39;</span> <span class="ow">in</span> <span class="nb">str</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">result</span><span class="p">)):</span>
     1870                <span class="n">G2frame</span><span class="o">.</span><span class="n">ErrorDialog</span><span class="p">(</span><span class="s">&#39;Assemble molecule&#39;</span><span class="p">,</span><span class="n">result</span><span class="p">)</span>
     1871            <span class="k">else</span><span class="p">:</span>   
     1872                <span class="n">data</span><span class="p">[</span><span class="s">&#39;Atoms&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">result</span>
     1873            <span class="n">OnReloadDrawAtoms</span><span class="p">(</span><span class="n">event</span><span class="p">)</span>           
     1874            <span class="n">FillAtomsGrid</span><span class="p">(</span><span class="n">Atoms</span><span class="p">)</span>
     1875           
     1876           
     1877<span class="c">#                G2frame.ErrorDialog(&#39;Distance/Angle calculation&#39;,&#39;try again but do &quot;Reset&quot; to fill in missing atom types&#39;)</span>
     1878        <span class="k">else</span><span class="p">:</span>
     1879            <span class="k">print</span> <span class="s">&quot;select one atom&quot;</span>
     1880            <span class="n">G2frame</span><span class="o">.</span><span class="n">ErrorDialog</span><span class="p">(</span><span class="s">&#39;Select one atom&#39;</span><span class="p">,</span><span class="s">&quot;select one atom to begin molecule build then redo&quot;</span><span class="p">)</span>
    16871881
    16881882    <span class="k">def</span> <span class="nf">OnDistAnglePrt</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
     
    18352029                                             <span class="n">ISO</span><span class="p">[</span><span class="s">&#39;IsoModeList&#39;</span><span class="p">],</span><span class="n">modeVals</span><span class="p">,</span><span class="n">ISO</span><span class="p">[</span><span class="s">&#39;G2ModeList&#39;</span><span class="p">]):</span>
    18362030                <span class="k">if</span> <span class="n">G2var</span> <span class="ow">in</span> <span class="n">constDict</span><span class="p">:</span>
    1837                     <span class="n">ch</span> <span class="o">=</span> <span class="n">G2gd</span><span class="o">.</span><span class="n">HelpButton</span><span class="p">(</span><span class="n">panel2</span><span class="p">,</span><span class="n">fmtHelp</span><span class="p">(</span><span class="n">constDict</span><span class="p">[</span><span class="n">G2var</span><span class="p">],</span><span class="n">var</span><span class="p">))</span>
     2031                    <span class="n">ch</span> <span class="o">=</span> <span class="n">G2G</span><span class="o">.</span><span class="n">HelpButton</span><span class="p">(</span><span class="n">panel2</span><span class="p">,</span><span class="n">fmtHelp</span><span class="p">(</span><span class="n">constDict</span><span class="p">[</span><span class="n">G2var</span><span class="p">],</span><span class="n">var</span><span class="p">))</span>
    18382032                    <span class="n">subSizer2</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">ch</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="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">RIGHT</span><span class="o">|</span><span class="n">WACV</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">ALIGN_CENTER</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span>
    18392033                <span class="k">else</span><span class="p">:</span>
     
    18692063                                             <span class="n">ISO</span><span class="p">[</span><span class="s">&#39;OccModeList&#39;</span><span class="p">],</span><span class="n">modeVals</span><span class="p">,</span><span class="n">ISO</span><span class="p">[</span><span class="s">&#39;G2OccModeList&#39;</span><span class="p">]):</span>
    18702064                <span class="k">if</span> <span class="n">G2var</span> <span class="ow">in</span> <span class="n">constDict</span><span class="p">:</span>
    1871                     <span class="n">ch</span> <span class="o">=</span> <span class="n">G2gd</span><span class="o">.</span><span class="n">HelpButton</span><span class="p">(</span><span class="n">panel2</span><span class="p">,</span><span class="n">fmtHelp</span><span class="p">(</span><span class="n">constDict</span><span class="p">[</span><span class="n">G2var</span><span class="p">],</span><span class="n">var</span><span class="p">))</span>
     2065                    <span class="n">ch</span> <span class="o">=</span> <span class="n">G2G</span><span class="o">.</span><span class="n">HelpButton</span><span class="p">(</span><span class="n">panel2</span><span class="p">,</span><span class="n">fmtHelp</span><span class="p">(</span><span class="n">constDict</span><span class="p">[</span><span class="n">G2var</span><span class="p">],</span><span class="n">var</span><span class="p">))</span>
    18722066                    <span class="n">subSizer2</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">ch</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="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">RIGHT</span><span class="o">|</span><span class="n">WACV</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">ALIGN_CENTER</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span>
    18732067                <span class="k">else</span><span class="p">:</span>
     
    19362130            <span class="k">try</span><span class="p">:</span>
    19372131                <span class="n">idx</span> <span class="o">=</span> <span class="n">atomNames</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">atom</span><span class="p">[:</span><span class="n">ct</span><span class="o">+</span><span class="mi">1</span><span class="p">])</span>
     2132                <span class="n">atId</span> <span class="o">=</span> <span class="n">atom</span><span class="p">[</span><span class="n">cia</span><span class="o">+</span><span class="mi">8</span><span class="p">]</span>
    19382133                <span class="n">atomData</span><span class="p">[</span><span class="n">idx</span><span class="p">][:</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="n">atom</span><span class="p">[:</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
     2134                <span class="n">atomData</span><span class="p">[</span><span class="n">idx</span><span class="p">][</span><span class="n">cia</span><span class="o">+</span><span class="mi">8</span><span class="p">]</span> <span class="o">=</span> <span class="n">atId</span>
    19392135            <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
    19402136                <span class="k">print</span> <span class="n">atom</span><span class="p">[:</span><span class="n">ct</span><span class="o">+</span><span class="mi">1</span><span class="p">],</span> <span class="s">&#39;not in Atom array; not updated&#39;</span>
     
    19472143    <span class="k">def</span> <span class="nf">UpdateWavesData</span><span class="p">():</span>
    19482144       
     2145        <span class="n">generalData</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;General&#39;</span><span class="p">]</span>
     2146        <span class="n">cx</span><span class="p">,</span><span class="n">ct</span><span class="p">,</span><span class="n">cs</span><span class="p">,</span><span class="n">cia</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;AtomPtrs&#39;</span><span class="p">]</span>
     2147       
    19492148        <span class="k">def</span> <span class="nf">AtomSizer</span><span class="p">(</span><span class="n">SS</span><span class="p">,</span><span class="n">atom</span><span class="p">):</span>
    19502149           
    19512150            <span class="k">def</span> <span class="nf">OnWaveType</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
    1952                 <span class="n">atom</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">][</span><span class="n">SS</span><span class="p">][</span><span class="s">&#39;waveType&#39;</span><span class="p">]</span><span class="o">=</span><span class="n">waveType</span><span class="o">.</span><span class="n">GetValue</span><span class="p">()</span>
     2151                <span class="n">atom</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="n">SS</span><span class="p">][</span><span class="s">&#39;waveType&#39;</span><span class="p">]</span><span class="o">=</span><span class="n">waveType</span><span class="o">.</span><span class="n">GetValue</span><span class="p">()</span>
     2152                <span class="n">atom</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="n">SS</span><span class="p">][</span><span class="s">&#39;Spos&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
     2153                <span class="n">UpdateWavesData</span><span class="p">()</span>               
     2154               
     2155            <span class="k">def</span> <span class="nf">OnShowWave</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
     2156                <span class="n">Obj</span> <span class="o">=</span> <span class="n">event</span><span class="o">.</span><span class="n">GetEventObject</span><span class="p">()</span>
     2157                <span class="n">atom</span> <span class="o">=</span> <span class="n">Indx</span><span class="p">[</span><span class="n">Obj</span><span class="o">.</span><span class="n">GetId</span><span class="p">()]</span>               
     2158                <span class="n">Ax</span> <span class="o">=</span> <span class="n">Obj</span><span class="o">.</span><span class="n">GetValue</span><span class="p">()</span>
     2159                <span class="n">G2plt</span><span class="o">.</span><span class="n">ModulationPlot</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">data</span><span class="p">,</span><span class="n">atom</span><span class="p">,</span><span class="n">Ax</span><span class="p">)</span>
    19532160               
    19542161            <span class="n">atomSizer</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>
    1955             <span class="n">atomSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">waveData</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39; Modulation data for atom:    &#39;</span><span class="o">+</span><span class="n">atom</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">+</span><span class="s">&#39;    WaveType: &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>           
    1956             <span class="n">waveType</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">ComboBox</span><span class="p">(</span><span class="n">waveData</span><span class="p">,</span><span class="n">value</span><span class="o">=</span><span class="n">atom</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">][</span><span class="n">SS</span><span class="p">][</span><span class="s">&#39;waveType&#39;</span><span class="p">],</span><span class="n">choices</span><span class="o">=</span><span class="n">waveTypes</span><span class="p">,</span>
     2162            <span class="n">atomSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">waveData</span><span class="p">,</span><span class="n">label</span><span class="o">=</span>
     2163            <span class="s">&#39; Modulation data for atom: </span><span class="si">%s</span><span class="s">  Site sym: </span><span class="si">%s</span><span class="s">  WaveType: &#39;</span><span class="o">%</span><span class="p">(</span><span class="n">atom</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">atom</span><span class="p">[</span><span class="n">cs</span><span class="p">]</span><span class="o">.</span><span class="n">strip</span><span class="p">())),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>           
     2164            <span class="n">waveType</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">ComboBox</span><span class="p">(</span><span class="n">waveData</span><span class="p">,</span><span class="n">value</span><span class="o">=</span><span class="n">atom</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="n">SS</span><span class="p">][</span><span class="s">&#39;waveType&#39;</span><span class="p">],</span><span class="n">choices</span><span class="o">=</span><span class="n">waveTypes</span><span class="p">,</span>
    19572165                <span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">CB_READONLY</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">CB_DROPDOWN</span><span class="p">)</span>
    19582166            <span class="n">waveType</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_COMBOBOX</span><span class="p">,</span><span class="n">OnWaveType</span><span class="p">)</span>
    19592167            <span class="n">atomSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">waveType</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     2168            <span class="n">axchoice</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39;x&#39;</span><span class="p">,</span><span class="s">&#39;y&#39;</span><span class="p">,</span><span class="s">&#39;z&#39;</span><span class="p">]</span>
     2169            <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">Map</span><span class="p">[</span><span class="s">&#39;rho&#39;</span><span class="p">]):</span>
     2170                <span class="n">atomSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">waveData</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39; Show contour map for axis:&#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     2171                <span class="n">mapSel</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">ComboBox</span><span class="p">(</span><span class="n">waveData</span><span class="p">,</span><span class="n">value</span><span class="o">=</span><span class="s">&#39; &#39;</span><span class="p">,</span><span class="n">choices</span><span class="o">=</span><span class="n">axchoice</span><span class="p">,</span>
     2172                    <span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">CB_READONLY</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">CB_DROPDOWN</span><span class="p">)</span>
     2173                <span class="n">mapSel</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_COMBOBOX</span><span class="p">,</span><span class="n">OnShowWave</span><span class="p">)</span>
     2174                <span class="n">Indx</span><span class="p">[</span><span class="n">mapSel</span><span class="o">.</span><span class="n">GetId</span><span class="p">()]</span> <span class="o">=</span> <span class="n">atom</span>
     2175                <span class="n">atomSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">mapSel</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    19602176            <span class="k">return</span> <span class="n">atomSizer</span>
    19612177           
    1962         <span class="k">def</span> <span class="nf">WaveSizer</span><span class="p">(</span><span class="n">waveBlk</span><span class="p">,</span><span class="n">Stype</span><span class="p">,</span><span class="n">typeName</span><span class="p">,</span><span class="n">Names</span><span class="p">):</span>
     2178        <span class="k">def</span> <span class="nf">WaveSizer</span><span class="p">(</span><span class="n">waveType</span><span class="p">,</span><span class="n">waveBlk</span><span class="p">,</span><span class="n">Stype</span><span class="p">,</span><span class="n">typeName</span><span class="p">,</span><span class="n">Names</span><span class="p">):</span>
    19632179           
    19642180            <span class="k">def</span> <span class="nf">OnAddWave</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
    19652181                <span class="n">Obj</span> <span class="o">=</span> <span class="n">event</span><span class="o">.</span><span class="n">GetEventObject</span><span class="p">()</span>
    19662182                <span class="n">iatm</span><span class="p">,</span><span class="n">item</span> <span class="o">=</span> <span class="n">Indx</span><span class="p">[</span><span class="n">Obj</span><span class="o">.</span><span class="n">GetId</span><span class="p">()]</span>
    1967                 <span class="n">atomData</span><span class="p">[</span><span class="n">iatm</span><span class="p">][</span><span class="o">-</span><span class="mi">2</span><span class="p">][</span><span class="n">SS</span><span class="p">][</span><span class="n">item</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">([[</span><span class="mf">0.0</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">numVals</span><span class="p">[</span><span class="n">Stype</span><span class="p">])],</span><span class="bp">False</span><span class="p">])</span>
     2183                <span class="n">nt</span> <span class="o">=</span> <span class="n">numVals</span><span class="p">[</span><span class="n">Stype</span><span class="p">]</span>
     2184                <span class="k">if</span> <span class="ow">not</span> <span class="nb">len</span><span class="p">(</span><span class="n">atomData</span><span class="p">[</span><span class="n">iatm</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="n">SS</span><span class="p">][</span><span class="n">item</span><span class="p">])</span> <span class="ow">and</span> <span class="n">waveType</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;ZigZag&#39;</span><span class="p">,</span><span class="s">&#39;Sawtooth&#39;</span><span class="p">]</span> <span class="ow">and</span> <span class="n">Stype</span> <span class="o">==</span> <span class="s">&#39;Spos&#39;</span><span class="p">:</span>
     2185                    <span class="n">nt</span> <span class="o">=</span> <span class="mi">4</span>
     2186                <span class="n">atomData</span><span class="p">[</span><span class="n">iatm</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="n">SS</span><span class="p">][</span><span class="n">item</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">([[</span><span class="mf">0.0</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">nt</span><span class="p">)],</span><span class="bp">False</span><span class="p">])</span>
    19682187                <span class="n">UpdateWavesData</span><span class="p">()</span>
    19692188               
     
    19742193                    <span class="n">val</span> <span class="o">=</span> <span class="nb">float</span><span class="p">(</span><span class="n">Obj</span><span class="o">.</span><span class="n">GetValue</span><span class="p">())</span>
    19752194                <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
    1976                     <span class="n">val</span> <span class="o">=</span> <span class="n">atomData</span><span class="p">[</span><span class="n">iatm</span><span class="p">][</span><span class="o">-</span><span class="mi">2</span><span class="p">][</span><span class="n">SS</span><span class="p">][</span><span class="n">item</span><span class="p">][</span><span class="n">iwave</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="n">ival</span><span class="p">]</span>
     2195                    <span class="n">val</span> <span class="o">=</span> <span class="n">atomData</span><span class="p">[</span><span class="n">iatm</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="n">SS</span><span class="p">][</span><span class="n">item</span><span class="p">][</span><span class="n">iwave</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="n">ival</span><span class="p">]</span>
    19772196                <span class="n">Obj</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="s">&#39;</span><span class="si">%.4f</span><span class="s">&#39;</span><span class="o">%</span><span class="n">val</span><span class="p">)</span>
    1978                 <span class="n">atomData</span><span class="p">[</span><span class="n">iatm</span><span class="p">][</span><span class="o">-</span><span class="mi">2</span><span class="p">][</span><span class="n">SS</span><span class="p">][</span><span class="n">item</span><span class="p">][</span><span class="n">iwave</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="n">ival</span><span class="p">]</span> <span class="o">=</span> <span class="n">val</span>
     2197                <span class="n">atomData</span><span class="p">[</span><span class="n">iatm</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="n">SS</span><span class="p">][</span><span class="n">item</span><span class="p">][</span><span class="n">iwave</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="n">ival</span><span class="p">]</span> <span class="o">=</span> <span class="n">val</span>
    19792198               
    19802199            <span class="k">def</span> <span class="nf">OnRefWave</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
    19812200                <span class="n">Obj</span> <span class="o">=</span> <span class="n">event</span><span class="o">.</span><span class="n">GetEventObject</span><span class="p">()</span>
    19822201                <span class="n">iatm</span><span class="p">,</span><span class="n">item</span><span class="p">,</span><span class="n">iwave</span> <span class="o">=</span> <span class="n">Indx</span><span class="p">[</span><span class="n">Obj</span><span class="o">.</span><span class="n">GetId</span><span class="p">()]</span>
    1983                 <span class="n">atomData</span><span class="p">[</span><span class="n">iatm</span><span class="p">][</span><span class="o">-</span><span class="mi">2</span><span class="p">][</span><span class="n">SS</span><span class="p">][</span><span class="n">item</span><span class="p">][</span><span class="n">iwave</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="ow">not</span> <span class="n">atomData</span><span class="p">[</span><span class="n">iatm</span><span class="p">][</span><span class="o">-</span><span class="mi">2</span><span class="p">][</span><span class="n">SS</span><span class="p">][</span><span class="n">item</span><span class="p">][</span><span class="n">iwave</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span>
     2202                <span class="n">atomData</span><span class="p">[</span><span class="n">iatm</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="n">SS</span><span class="p">][</span><span class="n">item</span><span class="p">][</span><span class="n">iwave</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="ow">not</span> <span class="n">atomData</span><span class="p">[</span><span class="n">iatm</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="n">SS</span><span class="p">][</span><span class="n">item</span><span class="p">][</span><span class="n">iwave</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span>
    19842203               
    19852204            <span class="k">def</span> <span class="nf">OnDelWave</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
    19862205                <span class="n">Obj</span> <span class="o">=</span> <span class="n">event</span><span class="o">.</span><span class="n">GetEventObject</span><span class="p">()</span>
    19872206                <span class="n">iatm</span><span class="p">,</span><span class="n">item</span><span class="p">,</span><span class="n">iwave</span> <span class="o">=</span> <span class="n">Indx</span><span class="p">[</span><span class="n">Obj</span><span class="o">.</span><span class="n">GetId</span><span class="p">()]</span>
    1988                 <span class="k">del</span> <span class="n">atomData</span><span class="p">[</span><span class="n">iatm</span><span class="p">][</span><span class="o">-</span><span class="mi">2</span><span class="p">][</span><span class="n">SS</span><span class="p">][</span><span class="n">item</span><span class="p">][</span><span class="n">iwave</span><span class="p">]</span>
     2207                <span class="k">del</span> <span class="n">atomData</span><span class="p">[</span><span class="n">iatm</span><span class="p">][</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="n">SS</span><span class="p">][</span><span class="n">item</span><span class="p">][</span><span class="n">iwave</span><span class="p">]</span>
    19892208                <span class="n">UpdateWavesData</span><span class="p">()</span>               
    1990                
     2209           
    19912210            <span class="n">waveSizer</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>
    19922211            <span class="n">waveHead</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>
     
    19982217            <span class="n">waveSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">waveHead</span><span class="p">)</span>
    19992218            <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">waveBlk</span><span class="p">):</span>
    2000                 <span class="n">waveSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">waveData</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39; Parameters: &#39;</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">Names</span><span class="p">)</span><span class="o">.</span><span class="n">rstrip</span><span class="p">(</span><span class="s">&#39;]&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">lstrip</span><span class="p">(</span><span class="s">&#39;[&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s">&quot;&#39;&quot;</span><span class="p">,</span><span class="s">&#39;&#39;</span><span class="p">)),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    2001                 <span class="k">if</span> <span class="n">Stype</span> <span class="o">==</span> <span class="s">&#39;Sfrac&#39;</span><span class="p">:</span>
    2002                     <span class="n">Waves</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">FlexGridSizer</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="mi">4</span><span class="p">,</span><span class="mi">5</span><span class="p">,</span><span class="mi">5</span><span class="p">)</span>
    2003                 <span class="k">else</span><span class="p">:</span>
    2004                     <span class="n">Waves</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">FlexGridSizer</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="mi">8</span><span class="p">,</span><span class="mi">5</span><span class="p">,</span><span class="mi">5</span><span class="p">)</span>
     2219                <span class="n">nFour</span> <span class="o">=</span> <span class="mi">0</span>
    20052220                <span class="k">for</span> <span class="n">iwave</span><span class="p">,</span><span class="n">wave</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">waveBlk</span><span class="p">):</span>
     2221                    <span class="k">if</span> <span class="n">waveType</span> <span class="o">==</span> <span class="s">&#39;Fourier&#39;</span><span class="p">:</span>
     2222                        <span class="n">nFour</span> <span class="o">+=</span> <span class="mi">1</span>
     2223                    <span class="k">if</span> <span class="ow">not</span> <span class="n">iwave</span><span class="p">:</span>
     2224                        <span class="n">CSI</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">GetSSfxuinel</span><span class="p">(</span><span class="n">waveType</span><span class="p">,</span><span class="n">nFour</span><span class="p">,</span><span class="n">xyz</span><span class="p">,</span><span class="n">SGData</span><span class="p">,</span><span class="n">SSGData</span><span class="p">)</span>
     2225                    <span class="k">else</span><span class="p">:</span>
     2226                        <span class="n">CSI</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">GetSSfxuinel</span><span class="p">(</span><span class="s">&#39;Fourier&#39;</span><span class="p">,</span><span class="n">nFour</span><span class="p">,</span><span class="n">xyz</span><span class="p">,</span><span class="n">SGData</span><span class="p">,</span><span class="n">SSGData</span><span class="p">)</span>
     2227                    <span class="n">waveName</span> <span class="o">=</span> <span class="s">&#39;Fourier&#39;</span>
     2228                    <span class="k">if</span> <span class="n">Stype</span> <span class="o">==</span> <span class="s">&#39;Sfrac&#39;</span><span class="p">:</span>
     2229                        <span class="k">if</span> <span class="s">&#39;Crenel&#39;</span> <span class="ow">in</span> <span class="n">waveType</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">iwave</span><span class="p">:</span>
     2230                            <span class="n">waveName</span> <span class="o">=</span> <span class="s">&#39;Crenel&#39;</span>
     2231                            <span class="n">names</span> <span class="o">=</span> <span class="n">Names</span><span class="p">[</span><span class="mi">2</span><span class="p">:]</span>
     2232                        <span class="k">else</span><span class="p">:</span>
     2233                            <span class="n">names</span> <span class="o">=</span> <span class="n">Names</span><span class="p">[:</span><span class="mi">2</span><span class="p">]</span>
     2234                        <span class="n">Waves</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">FlexGridSizer</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">4</span><span class="p">,</span><span class="mi">5</span><span class="p">,</span><span class="mi">5</span><span class="p">)</span>
     2235                    <span class="k">elif</span> <span class="n">Stype</span> <span class="o">==</span> <span class="s">&#39;Spos&#39;</span><span class="p">:</span>
     2236                        <span class="k">if</span> <span class="n">waveType</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;ZigZag&#39;</span><span class="p">,</span><span class="s">&#39;Sawtooth&#39;</span><span class="p">]</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">iwave</span><span class="p">:</span>
     2237                            <span class="n">names</span> <span class="o">=</span> <span class="n">Names</span><span class="p">[</span><span class="mi">6</span><span class="p">:]</span>
     2238                            <span class="n">Waves</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">FlexGridSizer</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">6</span><span class="p">,</span><span class="mi">5</span><span class="p">,</span><span class="mi">5</span><span class="p">)</span>
     2239                            <span class="n">waveName</span> <span class="o">=</span> <span class="n">waveType</span>
     2240                        <span class="k">else</span><span class="p">:</span>
     2241                            <span class="n">names</span> <span class="o">=</span> <span class="n">Names</span><span class="p">[:</span><span class="mi">6</span><span class="p">]</span>
     2242                            <span class="n">Waves</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">FlexGridSizer</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">8</span><span class="p">,</span><span class="mi">5</span><span class="p">,</span><span class="mi">5</span><span class="p">)</span>
     2243                    <span class="k">else</span><span class="p">:</span>
     2244                        <span class="n">names</span> <span class="o">=</span> <span class="n">Names</span>
     2245                        <span class="n">Waves</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">FlexGridSizer</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">8</span><span class="p">,</span><span class="mi">5</span><span class="p">,</span><span class="mi">5</span><span class="p">)</span>
     2246                    <span class="n">waveSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">waveData</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39; </span><span class="si">%s</span><span class="s">  parameters: </span><span class="si">%s</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">waveName</span><span class="p">,</span><span class="nb">str</span><span class="p">(</span><span class="n">names</span><span class="p">)</span><span class="o">.</span><span class="n">rstrip</span><span class="p">(</span><span class="s">&#39;]&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">lstrip</span><span class="p">(</span><span class="s">&#39;[&#39;</span><span class="p">)</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s">&quot;&#39;&quot;</span><span class="p">,</span><span class="s">&#39;&#39;</span><span class="p">))),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    20062247                    <span class="k">for</span> <span class="n">ival</span><span class="p">,</span><span class="n">val</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">wave</span><span class="p">[</span><span class="mi">0</span><span class="p">]):</span>
    2007                         <span class="n">waveVal</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">TextCtrl</span><span class="p">(</span><span class="n">waveData</span><span class="p">,</span><span class="n">value</span><span class="o">=</span><span class="s">&#39;</span><span class="si">%.4f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">val</span><span class="p">),</span><span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_PROCESS_ENTER</span><span class="p">)</span>
    2008                         <span class="n">waveVal</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_TEXT_ENTER</span><span class="p">,</span><span class="n">OnWaveVal</span><span class="p">)</span>
    2009                         <span class="n">waveVal</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_KILL_FOCUS</span><span class="p">,</span><span class="n">OnWaveVal</span><span class="p">)</span>
    2010                         <span class="n">Indx</span><span class="p">[</span><span class="n">waveVal</span><span class="o">.</span><span class="n">GetId</span><span class="p">()]</span> <span class="o">=</span> <span class="p">[</span><span class="n">iatm</span><span class="p">,</span><span class="n">Stype</span><span class="p">,</span><span class="n">iwave</span><span class="p">,</span><span class="n">ival</span><span class="p">]</span>
     2248                        <span class="k">if</span> <span class="nb">any</span><span class="p">(</span><span class="n">CSI</span><span class="p">[</span><span class="n">Stype</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="n">ival</span><span class="p">]):</span>
     2249                            <span class="n">waveVal</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">TextCtrl</span><span class="p">(</span><span class="n">waveData</span><span class="p">,</span><span class="n">value</span><span class="o">=</span><span class="s">&#39;</span><span class="si">%.4f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">val</span><span class="p">),</span><span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_PROCESS_ENTER</span><span class="p">)</span>
     2250                            <span class="n">waveVal</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_TEXT_ENTER</span><span class="p">,</span><span class="n">OnWaveVal</span><span class="p">)</span>
     2251                            <span class="n">waveVal</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_KILL_FOCUS</span><span class="p">,</span><span class="n">OnWaveVal</span><span class="p">)</span>
     2252                            <span class="n">Indx</span><span class="p">[</span><span class="n">waveVal</span><span class="o">.</span><span class="n">GetId</span><span class="p">()]</span> <span class="o">=</span> <span class="p">[</span><span class="n">iatm</span><span class="p">,</span><span class="n">Stype</span><span class="p">,</span><span class="n">iwave</span><span class="p">,</span><span class="n">ival</span><span class="p">]</span>
     2253                        <span class="k">else</span><span class="p">:</span>
     2254                            <span class="n">waveVal</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">TextCtrl</span><span class="p">(</span><span class="n">waveData</span><span class="p">,</span><span class="n">value</span><span class="o">=</span><span class="s">&#39;</span><span class="si">%.4f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">val</span><span class="p">),</span><span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_READONLY</span><span class="p">)</span>
     2255                            <span class="n">waveVal</span><span class="o">.</span><span class="n">SetBackgroundColour</span><span class="p">(</span><span class="n">VERY_LIGHT_GREY</span><span class="p">)</span>
    20112256                        <span class="n">Waves</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">waveVal</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    20122257                        <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">wave</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span> <span class="o">&gt;</span> <span class="mi">6</span> <span class="ow">and</span> <span class="n">ival</span> <span class="o">==</span> <span class="mi">5</span><span class="p">:</span>
     
    20182263                    <span class="n">waveRef</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_CHECKBOX</span><span class="p">,</span> <span class="n">OnRefWave</span><span class="p">)</span>
    20192264                    <span class="n">Waves</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">waveRef</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    2020                     <span class="n">waveDel</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">CheckBox</span><span class="p">(</span><span class="n">waveData</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39;Delete?&#39;</span><span class="p">)</span>
    2021                     <span class="n">Indx</span><span class="p">[</span><span class="n">waveDel</span><span class="o">.</span><span class="n">GetId</span><span class="p">()]</span> <span class="o">=</span> <span class="p">[</span><span class="n">iatm</span><span class="p">,</span><span class="n">Stype</span><span class="p">,</span><span class="n">iwave</span><span class="p">]</span>
    2022                     <span class="n">waveDel</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_CHECKBOX</span><span class="p">,</span> <span class="n">OnDelWave</span><span class="p">)</span>
    2023                     <span class="n">Waves</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">waveDel</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>               
    2024                 <span class="n">waveSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">Waves</span><span class="p">)</span>                   
     2265                    <span class="k">if</span> <span class="n">iwave</span> <span class="o">&lt;</span> <span class="nb">len</span><span class="p">(</span><span class="n">waveBlk</span><span class="p">)</span><span class="o">-</span><span class="mi">1</span><span class="p">:</span>
     2266                        <span class="n">Waves</span><span class="o">.</span><span class="n">Add</span><span class="p">((</span><span class="mi">5</span><span class="p">,</span><span class="mi">5</span><span class="p">),</span><span class="mi">0</span><span class="p">)</span>               
     2267                    <span class="k">else</span><span class="p">:</span>
     2268                        <span class="n">waveDel</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">CheckBox</span><span class="p">(</span><span class="n">waveData</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39;Delete?&#39;</span><span class="p">)</span>
     2269                        <span class="n">Indx</span><span class="p">[</span><span class="n">waveDel</span><span class="o">.</span><span class="n">GetId</span><span class="p">()]</span> <span class="o">=</span> <span class="p">[</span><span class="n">iatm</span><span class="p">,</span><span class="n">Stype</span><span class="p">,</span><span class="n">iwave</span><span class="p">]</span>
     2270                        <span class="n">waveDel</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_CHECKBOX</span><span class="p">,</span> <span class="n">OnDelWave</span><span class="p">)</span>
     2271                        <span class="n">Waves</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">waveDel</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     2272                    <span class="n">waveSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">Waves</span><span class="p">)</span>                   
    20252273            <span class="k">return</span> <span class="n">waveSizer</span>
    20262274           
     2275        <span class="k">def</span> <span class="nf">MapSizer</span><span class="p">():</span>
     2276
     2277            <span class="k">def</span> <span class="nf">OnRefList</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
     2278                <span class="n">dlg</span> <span class="o">=</span> <span class="n">G2gd</span><span class="o">.</span><span class="n">G2MultiChoiceDialog</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span> <span class="s">&#39;Select reflection sets to use&#39;</span><span class="p">,</span>
     2279                    <span class="s">&#39;Use data&#39;</span><span class="p">,</span><span class="n">refsList</span><span class="p">,</span><span class="n">filterBox</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
     2280                <span class="k">try</span><span class="p">:</span>
     2281                    <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>
     2282                        <span class="n">Map</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="n">refsList</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="n">dlg</span><span class="o">.</span><span class="n">GetSelections</span><span class="p">()]</span>
     2283                    <span class="k">else</span><span class="p">:</span>
     2284                        <span class="k">return</span>
     2285                <span class="k">finally</span><span class="p">:</span>
     2286                    <span class="n">dlg</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span>
     2287                <span class="n">UpdateWavesData</span><span class="p">()</span>
     2288               
     2289            <span class="k">def</span> <span class="nf">OnMapType</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
     2290                <span class="n">Map</span><span class="p">[</span><span class="s">&#39;MapType&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">mapType</span><span class="o">.</span><span class="n">GetValue</span><span class="p">()</span>
     2291               
     2292            <span class="n">Map</span><span class="p">[</span><span class="s">&#39;Resolution&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="mf">0.25</span>
     2293            <span class="n">refsList</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;Histograms&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">keys</span><span class="p">()</span>
     2294            <span class="n">mapSizer</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>
     2295           
     2296            <span class="n">mapSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">waveData</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39; 4D map data: Reflection set from: &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     2297            <span class="k">if</span> <span class="s">&#39;list&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="nb">str</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">Map</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">])):</span>     <span class="c">#patch</span>
     2298                <span class="n">Map</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="n">Map</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">],]</span>
     2299            <span class="n">mapSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">ComboBox</span><span class="p">(</span><span class="n">waveData</span><span class="p">,</span><span class="n">value</span><span class="o">=</span><span class="n">Map</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">],</span><span class="n">choices</span><span class="o">=</span><span class="n">Map</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">],</span>
     2300                <span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">CB_DROPDOWN</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     2301            <span class="n">refList</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="n">waveData</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39;Select reflection sets&#39;</span><span class="p">)</span>
     2302            <span class="n">refList</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="n">OnRefList</span><span class="p">)</span>
     2303            <span class="n">mapSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">refList</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     2304           
     2305            <span class="n">mapTypes</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39;Fobs&#39;</span><span class="p">,</span><span class="s">&#39;delt-F&#39;</span><span class="p">]</span>
     2306            <span class="n">mapSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">waveData</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39; Map type: &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     2307            <span class="n">mapType</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">ComboBox</span><span class="p">(</span><span class="n">waveData</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="n">value</span><span class="o">=</span><span class="n">Map</span><span class="p">[</span><span class="s">&#39;MapType&#39;</span><span class="p">],</span><span class="n">choices</span><span class="o">=</span><span class="n">mapTypes</span><span class="p">,</span>
     2308                <span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">CB_READONLY</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">CB_DROPDOWN</span><span class="p">)</span>
     2309            <span class="n">mapType</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_COMBOBOX</span><span class="p">,</span><span class="n">OnMapType</span><span class="p">)</span>
     2310            <span class="n">mapSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">mapType</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     2311            <span class="k">return</span> <span class="n">mapSizer</span>
     2312           
    20272313        <span class="n">Indx</span> <span class="o">=</span> <span class="p">{}</span>
     2314        <span class="n">waveData</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">waveData</span>
    20282315        <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">SetStatusText</span><span class="p">(</span><span class="s">&#39;&#39;</span><span class="p">)</span>
    20292316        <span class="n">generalData</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;General&#39;</span><span class="p">]</span>
     2317        <span class="n">SGData</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SGData&#39;</span><span class="p">]</span>
     2318        <span class="n">SSGData</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SSGData&#39;</span><span class="p">]</span>
    20302319        <span class="n">cx</span><span class="p">,</span><span class="n">ct</span><span class="p">,</span><span class="n">cs</span><span class="p">,</span><span class="n">cia</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;AtomPtrs&#39;</span><span class="p">]</span>
    20312320        <span class="n">atomData</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;Atoms&#39;</span><span class="p">]</span>
     2321        <span class="n">Map</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;4DmapData&#39;</span><span class="p">]</span>
    20322322        <span class="k">if</span> <span class="n">waveData</span><span class="o">.</span><span class="n">GetSizer</span><span class="p">():</span>
    20332323            <span class="n">waveData</span><span class="o">.</span><span class="n">GetSizer</span><span class="p">()</span><span class="o">.</span><span class="n">Clear</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span>
     
    20352325        <span class="n">typeNames</span> <span class="o">=</span> <span class="p">{</span><span class="s">&#39;Sfrac&#39;</span><span class="p">:</span><span class="s">&#39; Site fraction&#39;</span><span class="p">,</span><span class="s">&#39;Spos&#39;</span><span class="p">:</span><span class="s">&#39; Position&#39;</span><span class="p">,</span><span class="s">&#39;Sadp&#39;</span><span class="p">:</span><span class="s">&#39; Thermal motion&#39;</span><span class="p">,</span><span class="s">&#39;Smag&#39;</span><span class="p">:</span><span class="s">&#39; Magnetic moment&#39;</span><span class="p">}</span>
    20362326        <span class="n">numVals</span> <span class="o">=</span> <span class="p">{</span><span class="s">&#39;Sfrac&#39;</span><span class="p">:</span><span class="mi">2</span><span class="p">,</span><span class="s">&#39;Spos&#39;</span><span class="p">:</span><span class="mi">6</span><span class="p">,</span><span class="s">&#39;Sadp&#39;</span><span class="p">:</span><span class="mi">12</span><span class="p">,</span><span class="s">&#39;Smag&#39;</span><span class="p">:</span><span class="mi">6</span><span class="p">}</span>
    2037         <span class="n">posNames</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39;Xsin&#39;</span><span class="p">,</span><span class="s">&#39;Ysin&#39;</span><span class="p">,</span><span class="s">&#39;Zsin&#39;</span><span class="p">,</span><span class="s">&#39;Xcos&#39;</span><span class="p">,</span><span class="s">&#39;Ysin&#39;</span><span class="p">,</span><span class="s">&#39;Zsin&#39;</span><span class="p">]</span>
     2327        <span class="n">posNames</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39;Xsin&#39;</span><span class="p">,</span><span class="s">&#39;Ysin&#39;</span><span class="p">,</span><span class="s">&#39;Zsin&#39;</span><span class="p">,</span><span class="s">&#39;Xcos&#39;</span><span class="p">,</span><span class="s">&#39;Ycos&#39;</span><span class="p">,</span><span class="s">&#39;Zcos&#39;</span><span class="p">,</span><span class="s">&#39;Tzero&#39;</span><span class="p">,</span><span class="s">&#39;Xslope&#39;</span><span class="p">,</span><span class="s">&#39;Yslope&#39;</span><span class="p">,</span><span class="s">&#39;Zslope&#39;</span><span class="p">]</span>
    20382328        <span class="n">adpNames</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39;U11sin&#39;</span><span class="p">,</span><span class="s">&#39;U22sin&#39;</span><span class="p">,</span><span class="s">&#39;U33sin&#39;</span><span class="p">,</span><span class="s">&#39;U12sin&#39;</span><span class="p">,</span><span class="s">&#39;U13sin&#39;</span><span class="p">,</span><span class="s">&#39;U23sin&#39;</span><span class="p">,</span>
    20392329            <span class="s">&#39;U11cos&#39;</span><span class="p">,</span><span class="s">&#39;U22cos&#39;</span><span class="p">,</span><span class="s">&#39;U33cos&#39;</span><span class="p">,</span><span class="s">&#39;U12cos&#39;</span><span class="p">,</span><span class="s">&#39;U13cos&#39;</span><span class="p">,</span><span class="s">&#39;U23cos&#39;</span><span class="p">]</span>
    20402330        <span class="n">magNames</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39;MXsin&#39;</span><span class="p">,</span><span class="s">&#39;MYsin&#39;</span><span class="p">,</span><span class="s">&#39;MZsin&#39;</span><span class="p">,</span><span class="s">&#39;MXcos&#39;</span><span class="p">,</span><span class="s">&#39;MYcos&#39;</span><span class="p">,</span><span class="s">&#39;MZcos&#39;</span><span class="p">]</span>
    2041         <span class="n">fracNames</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39;Flen&#39;</span><span class="p">,</span><span class="s">&#39;Fcent&#39;</span><span class="p">,</span><span class="s">&#39;Fsin&#39;</span><span class="p">,</span><span class="s">&#39;Fcos&#39;</span><span class="p">]</span>
     2331        <span class="n">fracNames</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39;Fsin&#39;</span><span class="p">,</span><span class="s">&#39;Fcos&#39;</span><span class="p">,</span><span class="s">&#39;Fzero&#39;</span><span class="p">,</span><span class="s">&#39;Fwid&#39;</span><span class="p">]</span>
    20422332        <span class="n">waveTypes</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39;Fourier&#39;</span><span class="p">,</span><span class="s">&#39;Sawtooth&#39;</span><span class="p">,</span><span class="s">&#39;ZigZag&#39;</span><span class="p">,</span><span class="s">&#39;Crenel/Fourier&#39;</span><span class="p">]</span>
    20432333        <span class="n">Labels</span> <span class="o">=</span> <span class="p">{</span><span class="s">&#39;Spos&#39;</span><span class="p">:</span><span class="n">posNames</span><span class="p">,</span><span class="s">&#39;Sfrac&#39;</span><span class="p">:</span><span class="n">fracNames</span><span class="p">,</span><span class="s">&#39;Sadp&#39;</span><span class="p">:</span><span class="n">adpNames</span><span class="p">,</span><span class="s">&#39;Smag&#39;</span><span class="p">:</span><span class="n">magNames</span><span class="p">}</span>
    20442334        <span class="n">mainSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">waveData</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39; Incommensurate propagation wave data:&#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    20452335        <span class="k">if</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;modulated&#39;</span><span class="p">,</span><span class="s">&#39;magnetic&#39;</span><span class="p">]:</span>
     2336            <span class="n">mainSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">MapSizer</span><span class="p">(),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>           
    20462337            <span class="k">for</span> <span class="n">iatm</span><span class="p">,</span><span class="n">atom</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">atomData</span><span class="p">):</span>
    2047                 <span class="k">for</span> <span class="n">SS</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;SS1&#39;</span><span class="p">,]:</span>  <span class="c">#future SS2 &amp; SS3</span>
     2338                <span class="n">xyz</span> <span class="o">=</span> <span class="n">atom</span><span class="p">[</span><span class="n">cx</span><span class="p">:</span><span class="n">cx</span><span class="o">+</span><span class="mi">3</span><span class="p">]</span>
     2339                <span class="n">uij</span> <span class="o">=</span> <span class="n">atom</span><span class="p">[</span><span class="n">cia</span><span class="o">+</span><span class="mi">2</span><span class="p">:</span><span class="n">cia</span><span class="o">+</span><span class="mi">8</span><span class="p">]</span>
     2340                <span class="k">for</span> <span class="n">SS</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;SS1&#39;</span><span class="p">,]:</span>  <span class="c">#future SS2 &amp; SS3 - I doubt it!</span>
    20482341                    <span class="n">G2gd</span><span class="o">.</span><span class="n">HorizontalLine</span><span class="p">(</span><span class="n">mainSizer</span><span class="p">,</span><span class="n">waveData</span><span class="p">)</span>
    20492342                    <span class="n">mainSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">AtomSizer</span><span class="p">(</span><span class="n">SS</span><span class="p">,</span><span class="n">atom</span><span class="p">))</span>
    20502343                    <span class="k">for</span> <span class="n">Stype</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;Sfrac&#39;</span><span class="p">,</span><span class="s">&#39;Spos&#39;</span><span class="p">,</span><span class="s">&#39;Sadp&#39;</span><span class="p">,</span><span class="s">&#39;Smag&#39;</span><span class="p">]:</span>
    2051                         <span class="k">if</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s">&#39;modulated&#39;</span> <span class="ow">and</span> <span class="n">Stype</span> <span class="o">==</span> <span class="s">&#39;Smag&#39;</span><span class="p">:</span>
     2344                        <span class="k">if</span> <span class="n">atom</span><span class="p">[</span><span class="n">cia</span><span class="p">]</span> <span class="o">!=</span> <span class="s">&#39;A&#39;</span> <span class="ow">and</span> <span class="n">Stype</span> <span class="o">==</span> <span class="s">&#39;Sadp&#39;</span><span class="p">:</span>    <span class="c">#Uiso can&#39;t have modulations!</span>
     2345                            <span class="k">continue</span>
     2346                        <span class="k">if</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]</span> <span class="o">!=</span> <span class="s">&#39;magnetic&#39;</span> <span class="ow">and</span> <span class="n">Stype</span> <span class="o">==</span> <span class="s">&#39;Smag&#39;</span><span class="p">:</span>
    20522347                            <span class="k">break</span>
    2053                         <span class="n">mainSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">WaveSizer</span><span class="p">(</span><span class="n">atom</span><span class="p">[</span><span class="o">-</span><span class="mi">2</span><span class="p">][</span><span class="n">SS</span><span class="p">][</span><span class="n">Stype</span><span class="p">],</span><span class="n">Stype</span><span class="p">,</span><span class="n">typeNames</span><span class="p">[</span><span class="n">Stype</span><span class="p">],</span><span class="n">Labels</span><span class="p">[</span><span class="n">Stype</span><span class="p">]))</span>
    2054                        
     2348                        <span class="n">mainSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">WaveSizer</span><span class="p">(</span><span class="n">atom</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="n">SS</span><span class="p">][</span><span class="s">&#39;waveType&#39;</span><span class="p">],</span><span class="n">atom</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">][</span><span class="n">SS</span><span class="p">][</span><span class="n">Stype</span><span class="p">],</span><span class="n">Stype</span><span class="p">,</span><span class="n">typeNames</span><span class="p">[</span><span class="n">Stype</span><span class="p">],</span><span class="n">Labels</span><span class="p">[</span><span class="n">Stype</span><span class="p">]))</span>                       
    20552349        <span class="n">SetPhaseWindow</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="p">,</span><span class="n">waveData</span><span class="p">,</span><span class="n">mainSizer</span><span class="p">)</span>
    20562350                       
     2351    <span class="k">def</span> <span class="nf">On4DMapCompute</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
     2352        <span class="n">generalData</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;General&#39;</span><span class="p">]</span>
     2353        <span class="n">mapData</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;4DmapData&#39;</span><span class="p">]</span>
     2354        <span class="n">reflNames</span> <span class="o">=</span> <span class="n">mapData</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">]</span>
     2355        <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Map&#39;</span><span class="p">][</span><span class="s">&#39;Flip&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">False</span>
     2356        <span class="k">if</span> <span class="ow">not</span> <span class="nb">len</span><span class="p">(</span><span class="n">reflNames</span><span class="p">):</span>
     2357            <span class="n">G2frame</span><span class="o">.</span><span class="n">ErrorDialog</span><span class="p">(</span><span class="s">&#39;Fourier map error&#39;</span><span class="p">,</span><span class="s">&#39;No reflections defined for Fourier map&#39;</span><span class="p">)</span>
     2358            <span class="k">return</span>
     2359        <span class="n">phaseName</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Name&#39;</span><span class="p">]</span>
     2360        <span class="n">ReflData</span> <span class="o">=</span> <span class="n">GetReflData</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">phaseName</span><span class="p">,</span><span class="n">reflNames</span><span class="p">)</span>
     2361        <span class="k">if</span> <span class="n">ReflData</span> <span class="o">==</span> <span class="bp">None</span><span class="p">:</span> <span class="k">return</span>
     2362        <span class="n">mapData</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">G2mth</span><span class="o">.</span><span class="n">Fourier4DMap</span><span class="p">(</span><span class="n">data</span><span class="p">,</span><span class="n">ReflData</span><span class="p">))</span>
     2363        <span class="n">mapSig</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">std</span><span class="p">(</span><span class="n">mapData</span><span class="p">[</span><span class="s">&#39;rho&#39;</span><span class="p">])</span>
     2364        <span class="k">print</span> <span class="n">mapData</span><span class="p">[</span><span class="s">&#39;MapType&#39;</span><span class="p">]</span><span class="o">+</span><span class="s">&#39; computed: rhomax = </span><span class="si">%.3f</span><span class="s"> rhomin = </span><span class="si">%.3f</span><span class="s"> sigma = </span><span class="si">%.3f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">mapData</span><span class="p">[</span><span class="s">&#39;rho&#39;</span><span class="p">]),</span><span class="n">np</span><span class="o">.</span><span class="n">min</span><span class="p">(</span><span class="n">mapData</span><span class="p">[</span><span class="s">&#39;rho&#39;</span><span class="p">]),</span><span class="n">mapSig</span><span class="p">)</span>
     2365           
    20572366<span class="c">################################################################################</span>
    20582367<span class="c">#Structure drawing GUI stuff                </span>
     
    20842393            <span class="n">drawingData</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;Drawing&#39;</span><span class="p">]</span>
    20852394        <span class="k">if</span> <span class="ow">not</span> <span class="n">drawingData</span><span class="p">:</span>                 <span class="c">#fill with defaults if empty</span>
    2086             <span class="n">drawingData</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">defaultDrawing</span><span class="p">)</span>
     2395            <span class="n">drawingData</span> <span class="o">=</span> <span class="n">defaultDrawing</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
    20872396        <span class="k">if</span> <span class="s">&#39;Zstep&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">drawingData</span><span class="p">:</span>
    20882397            <span class="n">drawingData</span><span class="p">[</span><span class="s">&#39;Zstep&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="mf">0.5</span>
     
    20962405            <span class="n">drawingData</span><span class="p">[</span><span class="s">&#39;showRigidBodies&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">True</span>
    20972406        <span class="n">cx</span><span class="p">,</span><span class="n">ct</span><span class="p">,</span><span class="n">cs</span><span class="p">,</span><span class="n">ci</span> <span class="o">=</span> <span class="p">[</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">0</span><span class="p">]</span>
    2098         <span class="k">if</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s">&#39;nuclear&#39;</span><span class="p">:</span>
     2407        <span class="k">if</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;nuclear&#39;</span><span class="p">,</span><span class="s">&#39;modulated&#39;</span><span class="p">]:</span>
    20992408            <span class="n">cx</span><span class="p">,</span><span class="n">ct</span><span class="p">,</span><span class="n">cs</span><span class="p">,</span><span class="n">ci</span> <span class="o">=</span> <span class="p">[</span><span class="mi">2</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="mi">6</span><span class="p">,</span><span class="mi">17</span><span class="p">]</span>         <span class="c">#x, type, style &amp; index</span>
    21002409        <span class="k">elif</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s">&#39;macromolecular&#39;</span><span class="p">:</span>
     
    25442853                        <span class="n">XYZ</span> <span class="o">=</span> <span class="n">XYZ</span><span class="o">+</span><span class="n">cent</span><span class="o">+</span><span class="n">Cell</span>
    25452854                        <span class="k">if</span> <span class="n">Force</span><span class="p">:</span>
    2546                             <span class="n">XYZ</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">MoveToUnitCell</span><span class="p">(</span><span class="n">XYZ</span><span class="p">)</span>
     2855                            <span class="n">XYZ</span> <span class="o">%=</span> <span class="mf">1.</span>       <span class="c">#G2spc.MoveToUnitCell(XYZ)</span>
    25472856                        <span class="k">if</span> <span class="n">noDuplicate</span><span class="p">(</span><span class="n">XYZ</span><span class="p">,</span><span class="n">atomData</span><span class="p">):</span>
    25482857                            <span class="n">atom</span> <span class="o">=</span> <span class="n">copy</span><span class="o">.</span><span class="n">copy</span><span class="p">(</span><span class="n">atomData</span><span class="p">[</span><span class="n">ind</span><span class="p">])</span>
     
    25542863                            <span class="k">if</span> <span class="n">atom</span><span class="p">[</span><span class="n">cuia</span><span class="p">]</span> <span class="o">==</span> <span class="s">&#39;A&#39;</span><span class="p">:</span>
    25552864                                <span class="n">Uij</span> <span class="o">=</span> <span class="n">atom</span><span class="p">[</span><span class="n">cuij</span><span class="p">:</span><span class="n">cuij</span><span class="o">+</span><span class="mi">6</span><span class="p">]</span>
    2556                                 <span class="n">U</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">Uij2U</span><span class="p">(</span><span class="n">Uij</span><span class="p">)</span>
    2557                                 <span class="n">U</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">inner</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">inner</span><span class="p">(</span><span class="n">M</span><span class="p">,</span><span class="n">U</span><span class="p">),</span><span class="n">M</span><span class="p">)</span>
    2558                                 <span class="n">Uij</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">U2Uij</span><span class="p">(</span><span class="n">U</span><span class="p">)</span>
     2865                                <span class="n">Uij</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">U2Uij</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">inner</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">inner</span><span class="p">(</span><span class="n">M</span><span class="p">,</span><span class="n">G2spc</span><span class="o">.</span><span class="n">Uij2U</span><span class="p">(</span><span class="n">Uij</span><span class="p">)),</span><span class="n">M</span><span class="p">))</span>
    25592866                                <span class="n">atom</span><span class="p">[</span><span class="n">cuij</span><span class="p">:</span><span class="n">cuij</span><span class="o">+</span><span class="mi">6</span><span class="p">]</span> <span class="o">=</span> <span class="n">Uij</span>
    25602867                            <span class="n">atomData</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">atom</span><span class="p">)</span>
     
    32723579            <span class="n">textureData</span><span class="p">[</span><span class="s">&#39;Order&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">Obj</span><span class="o">.</span><span class="n">GetValue</span><span class="p">())</span>
    32733580            <span class="n">textureData</span><span class="p">[</span><span class="s">&#39;SH Coeff&#39;</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="n">SetSHCoef</span><span class="p">()</span>
    3274             <span class="n">wx</span><span class="o">.</span><span class="n">CallAfter</span><span class="p">(</span><span class="n">UpdateTexture</span><span class="p">)</span>
     3581            <span class="n">wx</span><span class="o">.</span><span class="n">CallLater</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="n">UpdateTexture</span><span class="p">)</span>
    32753582            <span class="n">G2plt</span><span class="o">.</span><span class="n">PlotTexture</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">data</span><span class="p">)</span>
    32763583                       
     
    32793586            <span class="n">textureData</span><span class="p">[</span><span class="s">&#39;Model&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">Obj</span><span class="o">.</span><span class="n">GetValue</span><span class="p">()</span>
    32803587            <span class="n">textureData</span><span class="p">[</span><span class="s">&#39;SH Coeff&#39;</span><span class="p">][</span><span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="n">SetSHCoef</span><span class="p">()</span>
    3281             <span class="n">wx</span><span class="o">.</span><span class="n">CallAfter</span><span class="p">(</span><span class="n">UpdateTexture</span><span class="p">)</span>
     3588            <span class="n">wx</span><span class="o">.</span><span class="n">CallLater</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="n">UpdateTexture</span><span class="p">)</span>
    32823589            <span class="n">G2plt</span><span class="o">.</span><span class="n">PlotTexture</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">data</span><span class="p">)</span>
    32833590           
     
    32893596            <span class="n">Obj</span> <span class="o">=</span> <span class="n">event</span><span class="o">.</span><span class="n">GetEventObject</span><span class="p">()</span>
    32903597            <span class="n">textureData</span><span class="p">[</span><span class="s">&#39;SHShow&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">Obj</span><span class="o">.</span><span class="n">GetValue</span><span class="p">()</span>
    3291             <span class="n">wx</span><span class="o">.</span><span class="n">CallAfter</span><span class="p">(</span><span class="n">UpdateTexture</span><span class="p">)</span>
     3598            <span class="n">wx</span><span class="o">.</span><span class="n">CallLater</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="n">UpdateTexture</span><span class="p">)</span>
    32923599           
    32933600        <span class="k">def</span> <span class="nf">OnProjSel</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
     
    33273634            <span class="n">Obj</span> <span class="o">=</span> <span class="n">event</span><span class="o">.</span><span class="n">GetEventObject</span><span class="p">()</span>
    33283635            <span class="n">textureData</span><span class="p">[</span><span class="s">&#39;PlotType&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">Obj</span><span class="o">.</span><span class="n">GetValue</span><span class="p">()</span>
    3329             <span class="n">wx</span><span class="o">.</span><span class="n">CallAfter</span><span class="p">(</span><span class="n">UpdateTexture</span><span class="p">)</span>
     3636            <span class="n">wx</span><span class="o">.</span><span class="n">CallLater</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="n">UpdateTexture</span><span class="p">)</span>
    33303637            <span class="n">G2plt</span><span class="o">.</span><span class="n">PlotTexture</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">data</span><span class="p">)</span>
    33313638           
     
    35263833                                  <span class="s">&#39;Babinet&#39;</span><span class="p">:{</span><span class="s">&#39;BabA&#39;</span><span class="p">:[</span><span class="mf">0.0</span><span class="p">,</span><span class="bp">False</span><span class="p">],</span><span class="s">&#39;BabU&#39;</span><span class="p">:[</span><span class="mf">0.0</span><span class="p">,</span><span class="bp">False</span><span class="p">]},</span>
    35273834                                  <span class="s">&#39;Extinction&#39;</span><span class="p">:[</span><span class="s">&#39;Lorentzian&#39;</span><span class="p">,</span><span class="s">&#39;None&#39;</span><span class="p">,</span>
    3528                                                 <span class="p">{</span><span class="s">&#39;Tbar&#39;</span><span class="p">:</span><span class="mf">0.1</span><span class="p">,</span><span class="s">&#39;Cos2TM&#39;</span><span class="p">:</span><span class="mf">0.955</span><span class="p">,</span><span class="s">&#39;Eg&#39;</span><span class="p">:[</span><span class="mf">1.e-10</span><span class="p">,</span><span class="bp">False</span><span class="p">],</span><span class="s">&#39;Es&#39;</span><span class="p">:[</span><span class="mf">1.e-10</span><span class="p">,</span><span class="bp">False</span><span class="p">],</span><span class="s">&#39;Ep&#39;</span><span class="p">:[</span><span class="mf">1.e-10</span><span class="p">,</span><span class="bp">False</span><span class="p">]},]}</span>                       
     3835                                                <span class="p">{</span><span class="s">&#39;Tbar&#39;</span><span class="p">:</span><span class="mf">0.1</span><span class="p">,</span><span class="s">&#39;Cos2TM&#39;</span><span class="p">:</span><span class="mf">0.955</span><span class="p">,</span><span class="s">&#39;Eg&#39;</span><span class="p">:[</span><span class="mf">1.e-7</span><span class="p">,</span><span class="bp">False</span><span class="p">],</span><span class="s">&#39;Es&#39;</span><span class="p">:[</span><span class="mf">1.e-7</span><span class="p">,</span><span class="bp">False</span><span class="p">],</span><span class="s">&#39;Ep&#39;</span><span class="p">:[</span><span class="mf">1.e-7</span><span class="p">,</span><span class="bp">False</span><span class="p">]},]}</span>                       
    35293836            <span class="n">UpdateHKLFdata</span><span class="p">(</span><span class="n">histoName</span><span class="p">)</span>
    35303837            <span class="n">data</span><span class="p">[</span><span class="s">&#39;Histograms&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">UseList</span>
     
    35843891            <span class="k">finally</span><span class="p">:</span>
    35853892                <span class="n">dlg</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span>
    3586        
     3893               
    35873894    <span class="k">def</span> <span class="nf">OnDataDelete</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
    35883895        <span class="n">UseList</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;Histograms&#39;</span><span class="p">]</span>
     
    38894196        <span class="k">if</span> <span class="n">refresh</span><span class="p">:</span>
    38904197            <span class="n">RigidBodies</span><span class="o">.</span><span class="n">DestroyChildren</span><span class="p">()</span>
    3891         <span class="n">AtLookUp</span> <span class="o">=</span> <span class="n">G2mth</span><span class="o">.</span><span class="n">FillAtomLookUp</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="s">&#39;Atoms&#39;</span><span class="p">])</span>
    38924198        <span class="n">general</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;General&#39;</span><span class="p">]</span>
    3893         <span class="n">cx</span> <span class="o">=</span> <span class="n">general</span><span class="p">[</span><span class="s">&#39;AtomPtrs&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span>
     4199        <span class="n">cx</span><span class="p">,</span><span class="n">ct</span><span class="p">,</span><span class="n">cs</span><span class="p">,</span><span class="n">cia</span> <span class="o">=</span> <span class="n">general</span><span class="p">[</span><span class="s">&#39;AtomPtrs&#39;</span><span class="p">]</span>
     4200        <span class="n">AtLookUp</span> <span class="o">=</span> <span class="n">G2mth</span><span class="o">.</span><span class="n">FillAtomLookUp</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="s">&#39;Atoms&#39;</span><span class="p">],</span><span class="n">cia</span><span class="o">+</span><span class="mi">8</span><span class="p">)</span>
    38944201        <span class="n">Amat</span><span class="p">,</span><span class="n">Bmat</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">cell2AB</span><span class="p">(</span><span class="n">general</span><span class="p">[</span><span class="s">&#39;Cell&#39;</span><span class="p">][</span><span class="mi">1</span><span class="p">:</span><span class="mi">7</span><span class="p">])</span>
    38954202        <span class="n">RBData</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemPyData</span><span class="p">(</span>   
     
    42614568        <span class="n">RBIds</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="nb">zip</span><span class="p">(</span><span class="n">RBNames</span><span class="p">,</span><span class="n">rbKeys</span><span class="p">))</span>
    42624569        <span class="n">general</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;General&#39;</span><span class="p">]</span>
     4570        <span class="n">cx</span><span class="p">,</span><span class="n">ct</span><span class="p">,</span><span class="n">cs</span><span class="p">,</span><span class="n">cia</span> <span class="o">=</span> <span class="n">general</span><span class="p">[</span><span class="s">&#39;AtomPtrs&#39;</span><span class="p">]</span>
    42634571        <span class="n">Amat</span><span class="p">,</span><span class="n">Bmat</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">cell2AB</span><span class="p">(</span><span class="n">general</span><span class="p">[</span><span class="s">&#39;Cell&#39;</span><span class="p">][</span><span class="mi">1</span><span class="p">:</span><span class="mi">7</span><span class="p">])</span>
    42644572        <span class="n">Atoms</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;Atoms&#39;</span><span class="p">]</span>
    4265         <span class="n">AtLookUp</span> <span class="o">=</span> <span class="n">G2mth</span><span class="o">.</span><span class="n">FillAtomLookUp</span><span class="p">(</span><span class="n">Atoms</span><span class="p">)</span>
     4573        <span class="n">AtLookUp</span> <span class="o">=</span> <span class="n">G2mth</span><span class="o">.</span><span class="n">FillAtomLookUp</span><span class="p">(</span><span class="n">Atoms</span><span class="p">,</span><span class="n">cia</span><span class="o">+</span><span class="mi">8</span><span class="p">)</span>
    42664574        <span class="k">if</span> <span class="s">&#39;macro&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">general</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]:</span>
    42674575            <span class="k">print</span> <span class="s">&#39;**** ERROR - this phase is not a macromolecule ****&#39;</span>
     
    43464654       
    43474655    <span class="k">def</span> <span class="nf">OnGlobalResRBTherm</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
    4348         <span class="n">AtLookUp</span> <span class="o">=</span> <span class="n">G2mth</span><span class="o">.</span><span class="n">FillAtomLookUp</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="s">&#39;Atoms&#39;</span><span class="p">])</span>
    43494656        <span class="n">RBObjs</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;RBModels&#39;</span><span class="p">][</span><span class="s">&#39;Residue&#39;</span><span class="p">]</span>
    43504657        <span class="n">names</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39;None&#39;</span><span class="p">,</span><span class="s">&#39;Uiso&#39;</span><span class="p">,</span><span class="s">&#39;T&#39;</span><span class="p">,</span><span class="s">&#39;TL&#39;</span><span class="p">,</span><span class="s">&#39;TLS&#39;</span><span class="p">]</span>
    43514658        <span class="n">cia</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;General&#39;</span><span class="p">][</span><span class="s">&#39;AtomPtrs&#39;</span><span class="p">][</span><span class="mi">3</span><span class="p">]</span>
     4659        <span class="n">AtLookUp</span> <span class="o">=</span> <span class="n">G2mth</span><span class="o">.</span><span class="n">FillAtomLookUp</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="s">&#39;Atoms&#39;</span><span class="p">],</span><span class="n">cia</span><span class="o">+</span><span class="mi">8</span><span class="p">)</span>
    43524660        <span class="n">dlg</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">SingleChoiceDialog</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="s">&#39;Select&#39;</span><span class="p">,</span><span class="s">&#39;Residue thermal motion model&#39;</span><span class="p">,</span><span class="n">names</span><span class="p">)</span>
    43534661        <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>
     
    44754783           
    44764784            <span class="n">atomsizer</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">FlexGridSizer</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">7</span><span class="p">,</span><span class="mi">5</span><span class="p">,</span><span class="mi">5</span><span class="p">)</span>
    4477             <span class="n">atomsizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39; Atom: &#39;</span><span class="o">+</span><span class="n">model</span><span class="p">[</span><span class="s">&#39;name&#39;</span><span class="p">]</span><span class="o">+</span><span class="s">&#39;: &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     4785            <span class="n">atomsizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39; Atom: &#39;</span><span class="o">+</span><span class="n">model</span><span class="p">[</span><span class="s">&#39;name&#39;</span><span class="p">]</span><span class="o">+</span><span class="s">&#39;: &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    44784786            <span class="k">for</span> <span class="n">ix</span><span class="p">,</span><span class="n">item</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">([</span><span class="s">&#39;x&#39;</span><span class="p">,</span><span class="s">&#39;y&#39;</span><span class="p">,</span><span class="s">&#39;z&#39;</span><span class="p">]):</span>
    4479                 <span class="n">posRef</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">CheckBox</span><span class="p">(</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="n">item</span><span class="o">+</span><span class="s">&#39;: &#39;</span><span class="p">)</span>
     4787                <span class="n">posRef</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">CheckBox</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="n">item</span><span class="o">+</span><span class="s">&#39;: &#39;</span><span class="p">)</span>
    44804788                <span class="n">posRef</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="n">model</span><span class="p">[</span><span class="s">&#39;Pos&#39;</span><span class="p">][</span><span class="mi">1</span><span class="p">][</span><span class="n">ix</span><span class="p">])</span>
    44814789                <span class="n">posRef</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_CHECKBOX</span><span class="p">,</span><span class="n">OnPosRef</span><span class="p">)</span>
    44824790                <span class="n">Indx</span><span class="p">[</span><span class="n">posRef</span><span class="o">.</span><span class="n">GetId</span><span class="p">()]</span> <span class="o">=</span> <span class="p">[</span><span class="n">model</span><span class="p">,</span><span class="s">&#39;Pos&#39;</span><span class="p">,</span><span class="n">ix</span><span class="p">]</span>
    44834791                <span class="n">atomsizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">posRef</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    4484                 <span class="n">posVal</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">TextCtrl</span><span class="p">(</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;</span><span class="si">%.4f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">model</span><span class="p">[</span><span class="s">&#39;Pos&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="n">ix</span><span class="p">]),</span><span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_PROCESS_ENTER</span><span class="p">)</span>
     4792                <span class="n">posVal</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">TextCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;</span><span class="si">%.4f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">model</span><span class="p">[</span><span class="s">&#39;Pos&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="n">ix</span><span class="p">]),</span><span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_PROCESS_ENTER</span><span class="p">)</span>
    44854793                <span class="n">posVal</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_TEXT_ENTER</span><span class="p">,</span><span class="n">OnPosVal</span><span class="p">)</span>
    44864794                <span class="n">posVal</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_KILL_FOCUS</span><span class="p">,</span><span class="n">OnPosVal</span><span class="p">)</span>
     
    44894797            <span class="n">atomsizer</span><span class="o">.</span><span class="n">Add</span><span class="p">((</span><span class="mi">5</span><span class="p">,</span><span class="mi">5</span><span class="p">),</span><span class="mi">0</span><span class="p">)</span>
    44904798            <span class="k">for</span> <span class="n">ix</span><span class="p">,</span><span class="n">item</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">([</span><span class="s">&#39;x&#39;</span><span class="p">,</span><span class="s">&#39;y&#39;</span><span class="p">,</span><span class="s">&#39;z&#39;</span><span class="p">]):</span>
    4491                 <span class="n">atomsizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39; Range: &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     4799                <span class="n">atomsizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39; Range: &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    44924800                <span class="n">rmin</span><span class="p">,</span><span class="n">rmax</span> <span class="o">=</span> <span class="n">model</span><span class="p">[</span><span class="s">&#39;Pos&#39;</span><span class="p">][</span><span class="mi">2</span><span class="p">][</span><span class="n">ix</span><span class="p">]</span>
    4493                 <span class="n">posRange</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">TextCtrl</span><span class="p">(</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;</span><span class="si">%.3f</span><span class="s"> </span><span class="si">%.3f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">rmin</span><span class="p">,</span><span class="n">rmax</span><span class="p">),</span><span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_PROCESS_ENTER</span><span class="p">)</span>
     4801                <span class="n">posRange</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">TextCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;</span><span class="si">%.3f</span><span class="s"> </span><span class="si">%.3f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">rmin</span><span class="p">,</span><span class="n">rmax</span><span class="p">),</span><span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_PROCESS_ENTER</span><span class="p">)</span>
    44944802                <span class="n">Indx</span><span class="p">[</span><span class="n">posRange</span><span class="o">.</span><span class="n">GetId</span><span class="p">()]</span> <span class="o">=</span> <span class="p">[</span><span class="n">model</span><span class="p">,</span><span class="s">&#39;Pos&#39;</span><span class="p">,</span><span class="n">ix</span><span class="p">]</span>
    44954803                <span class="n">posRange</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_TEXT_ENTER</span><span class="p">,</span><span class="n">OnPosRange</span><span class="p">)</span>
     
    45474855            <span class="n">rbsizer</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>
    45484856            <span class="n">rbsizer1</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">FlexGridSizer</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">7</span><span class="p">,</span><span class="mi">5</span><span class="p">,</span><span class="mi">5</span><span class="p">)</span>
    4549             <span class="n">rbsizer1</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="n">model</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]</span><span class="o">+</span><span class="s">&#39;: &#39;</span><span class="o">+</span><span class="n">model</span><span class="p">[</span><span class="s">&#39;name&#39;</span><span class="p">]</span><span class="o">+</span><span class="s">&#39;: &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     4857            <span class="n">rbsizer1</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="n">model</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]</span><span class="o">+</span><span class="s">&#39;: &#39;</span><span class="o">+</span><span class="n">model</span><span class="p">[</span><span class="s">&#39;name&#39;</span><span class="p">]</span><span class="o">+</span><span class="s">&#39;: &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    45504858            <span class="k">for</span> <span class="n">ix</span><span class="p">,</span><span class="n">item</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">([</span><span class="s">&#39;x&#39;</span><span class="p">,</span><span class="s">&#39;y&#39;</span><span class="p">,</span><span class="s">&#39;z&#39;</span><span class="p">]):</span>
    4551                 <span class="n">posRef</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">CheckBox</span><span class="p">(</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="n">item</span><span class="o">+</span><span class="s">&#39;: &#39;</span><span class="p">)</span>
     4859                <span class="n">posRef</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">CheckBox</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="n">item</span><span class="o">+</span><span class="s">&#39;: &#39;</span><span class="p">)</span>
    45524860                <span class="n">posRef</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="n">model</span><span class="p">[</span><span class="s">&#39;Pos&#39;</span><span class="p">][</span><span class="mi">1</span><span class="p">][</span><span class="n">ix</span><span class="p">])</span>
    45534861                <span class="n">posRef</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_CHECKBOX</span><span class="p">,</span><span class="n">OnPosRef</span><span class="p">)</span>
    45544862                <span class="n">Indx</span><span class="p">[</span><span class="n">posRef</span><span class="o">.</span><span class="n">GetId</span><span class="p">()]</span> <span class="o">=</span> <span class="p">[</span><span class="n">model</span><span class="p">,</span><span class="s">&#39;Pos&#39;</span><span class="p">,</span><span class="n">ix</span><span class="p">]</span>
    45554863                <span class="n">rbsizer1</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">posRef</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    4556                 <span class="n">posVal</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">TextCtrl</span><span class="p">(</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;</span><span class="si">%.4f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">model</span><span class="p">[</span><span class="s">&#39;Pos&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="n">ix</span><span class="p">]),</span><span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_PROCESS_ENTER</span><span class="p">)</span>
     4864                <span class="n">posVal</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">TextCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;</span><span class="si">%.4f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">model</span><span class="p">[</span><span class="s">&#39;Pos&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="n">ix</span><span class="p">]),</span><span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_PROCESS_ENTER</span><span class="p">)</span>
    45574865                <span class="n">posVal</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_TEXT_ENTER</span><span class="p">,</span><span class="n">OnPosVal</span><span class="p">)</span>
    45584866                <span class="n">posVal</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_KILL_FOCUS</span><span class="p">,</span><span class="n">OnPosVal</span><span class="p">)</span>
    45594867                <span class="n">Indx</span><span class="p">[</span><span class="n">posVal</span><span class="o">.</span><span class="n">GetId</span><span class="p">()]</span> <span class="o">=</span> <span class="p">[</span><span class="n">model</span><span class="p">,</span><span class="s">&#39;Pos&#39;</span><span class="p">,</span><span class="n">ix</span><span class="p">]</span>
    45604868                <span class="n">rbsizer1</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">posVal</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    4561             <span class="n">molcent</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">CheckBox</span><span class="p">(</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39; Use mol. center? &#39;</span><span class="p">)</span>
     4869            <span class="n">molcent</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">CheckBox</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39; Use mol. center? &#39;</span><span class="p">)</span>
    45624870            <span class="n">molcent</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="n">model</span><span class="p">[</span><span class="s">&#39;MolCent&#39;</span><span class="p">][</span><span class="mi">1</span><span class="p">])</span>
    45634871            <span class="n">molcent</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_CHECKBOX</span><span class="p">,</span><span class="n">OnMolCent</span><span class="p">)</span>
     
    45654873            <span class="n">rbsizer1</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">molcent</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    45664874            <span class="k">for</span> <span class="n">ix</span><span class="p">,</span><span class="n">item</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">([</span><span class="s">&#39;x&#39;</span><span class="p">,</span><span class="s">&#39;y&#39;</span><span class="p">,</span><span class="s">&#39;z&#39;</span><span class="p">]):</span>
    4567                 <span class="n">rbsizer1</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39; Range: &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     4875                <span class="n">rbsizer1</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39; Range: &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    45684876                <span class="n">rmin</span><span class="p">,</span><span class="n">rmax</span> <span class="o">=</span> <span class="n">model</span><span class="p">[</span><span class="s">&#39;Pos&#39;</span><span class="p">][</span><span class="mi">2</span><span class="p">][</span><span class="n">ix</span><span class="p">]</span>
    4569                 <span class="n">posRange</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">TextCtrl</span><span class="p">(</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;</span><span class="si">%.3f</span><span class="s"> </span><span class="si">%.3f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">rmin</span><span class="p">,</span><span class="n">rmax</span><span class="p">),</span><span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_PROCESS_ENTER</span><span class="p">)</span>
     4877                <span class="n">posRange</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">TextCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;</span><span class="si">%.3f</span><span class="s"> </span><span class="si">%.3f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">rmin</span><span class="p">,</span><span class="n">rmax</span><span class="p">),</span><span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_PROCESS_ENTER</span><span class="p">)</span>
    45704878                <span class="n">Indx</span><span class="p">[</span><span class="n">posRange</span><span class="o">.</span><span class="n">GetId</span><span class="p">()]</span> <span class="o">=</span> <span class="p">[</span><span class="n">model</span><span class="p">,</span><span class="s">&#39;Pos&#39;</span><span class="p">,</span><span class="n">ix</span><span class="p">]</span>
    45714879                <span class="n">posRange</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_TEXT_ENTER</span><span class="p">,</span><span class="n">OnPosRange</span><span class="p">)</span>
     
    45754883            <span class="n">rbsizer2</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">FlexGridSizer</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">6</span><span class="p">,</span><span class="mi">5</span><span class="p">,</span><span class="mi">5</span><span class="p">)</span>
    45764884            <span class="n">Ori</span> <span class="o">=</span> <span class="n">model</span><span class="p">[</span><span class="s">&#39;Ori&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span>
    4577             <span class="n">rbsizer2</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;Oa: &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    4578             <span class="n">angVal</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">TextCtrl</span><span class="p">(</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;</span><span class="si">%.5f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">Ori</span><span class="p">[</span><span class="mi">0</span><span class="p">]),</span><span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_PROCESS_ENTER</span><span class="p">)</span>
     4885            <span class="n">rbsizer2</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;Oa: &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     4886            <span class="n">angVal</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">TextCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;</span><span class="si">%.5f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">Ori</span><span class="p">[</span><span class="mi">0</span><span class="p">]),</span><span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_PROCESS_ENTER</span><span class="p">)</span>
    45794887            <span class="n">angVal</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_TEXT_ENTER</span><span class="p">,</span><span class="n">OnOriVal</span><span class="p">)</span>
    45804888            <span class="n">angVal</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_KILL_FOCUS</span><span class="p">,</span><span class="n">OnOriVal</span><span class="p">)</span>
    45814889            <span class="n">rbsizer2</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">angVal</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    4582             <span class="n">rbsizer2</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;Oi,Oj,Ok: &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    4583             <span class="n">vecVal</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">TextCtrl</span><span class="p">(</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;</span><span class="si">%.3f</span><span class="s"> </span><span class="si">%.3f</span><span class="s"> </span><span class="si">%.3f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">Ori</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">Ori</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span><span class="n">Ori</span><span class="p">[</span><span class="mi">3</span><span class="p">]),</span><span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_PROCESS_ENTER</span><span class="p">)</span>
     4890            <span class="n">rbsizer2</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;Oi,Oj,Ok: &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     4891            <span class="n">vecVal</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">TextCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;</span><span class="si">%.3f</span><span class="s"> </span><span class="si">%.3f</span><span class="s"> </span><span class="si">%.3f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">Ori</span><span class="p">[</span><span class="mi">1</span><span class="p">],</span><span class="n">Ori</span><span class="p">[</span><span class="mi">2</span><span class="p">],</span><span class="n">Ori</span><span class="p">[</span><span class="mi">3</span><span class="p">]),</span><span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_PROCESS_ENTER</span><span class="p">)</span>
    45844892            <span class="n">vecVal</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_TEXT_ENTER</span><span class="p">,</span><span class="n">OnOriVal</span><span class="p">)</span>
    45854893            <span class="n">vecVal</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_KILL_FOCUS</span><span class="p">,</span><span class="n">OnOriVal</span><span class="p">)</span>
     
    45874895            <span class="n">Indx</span><span class="p">[</span><span class="n">vecVal</span><span class="o">.</span><span class="n">GetId</span><span class="p">()]</span> <span class="o">=</span> <span class="p">[</span><span class="n">model</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="n">angVal</span><span class="p">,</span><span class="n">vecVal</span><span class="p">]</span>
    45884896            <span class="n">rbsizer2</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">vecVal</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    4589             <span class="n">rbsizer2</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39; Vary? &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     4897            <span class="n">rbsizer2</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39; Vary? &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    45904898            <span class="n">choice</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39; &#39;</span><span class="p">,</span><span class="s">&#39;A&#39;</span><span class="p">,</span><span class="s">&#39;AV&#39;</span><span class="p">]</span>
    4591             <span class="n">orvar</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">ComboBox</span><span class="p">(</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="n">value</span><span class="o">=</span><span class="n">model</span><span class="p">[</span><span class="s">&#39;Ovar&#39;</span><span class="p">],</span><span class="n">choices</span><span class="o">=</span><span class="n">choice</span><span class="p">,</span>
     4899            <span class="n">orvar</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">ComboBox</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="n">value</span><span class="o">=</span><span class="n">model</span><span class="p">[</span><span class="s">&#39;Ovar&#39;</span><span class="p">],</span><span class="n">choices</span><span class="o">=</span><span class="n">choice</span><span class="p">,</span>
    45924900                <span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">CB_READONLY</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">CB_DROPDOWN</span><span class="p">)</span>
    45934901            <span class="n">orvar</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_COMBOBOX</span><span class="p">,</span> <span class="n">OnOrVar</span><span class="p">)</span>
    45944902            <span class="n">Indx</span><span class="p">[</span><span class="n">orvar</span><span class="o">.</span><span class="n">GetId</span><span class="p">()]</span> <span class="o">=</span> <span class="n">model</span>
    45954903            <span class="n">rbsizer2</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">orvar</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    4596             <span class="n">rbsizer2</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39; Range: Oa: &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     4904            <span class="n">rbsizer2</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39; Range: Oa: &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    45974905            <span class="n">Rge</span> <span class="o">=</span> <span class="n">model</span><span class="p">[</span><span class="s">&#39;Ori&#39;</span><span class="p">][</span><span class="mi">2</span><span class="p">]</span>
    4598             <span class="n">angRange</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">TextCtrl</span><span class="p">(</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;</span><span class="si">%.3f</span><span class="s"> </span><span class="si">%.3f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">Rge</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="mi">0</span><span class="p">],</span><span class="n">Rge</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="mi">1</span><span class="p">]),</span><span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_PROCESS_ENTER</span><span class="p">)</span>
     4906            <span class="n">angRange</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">TextCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;</span><span class="si">%.3f</span><span class="s"> </span><span class="si">%.3f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">Rge</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="mi">0</span><span class="p">],</span><span class="n">Rge</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="mi">1</span><span class="p">]),</span><span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_PROCESS_ENTER</span><span class="p">)</span>
    45994907            <span class="n">Indx</span><span class="p">[</span><span class="n">angRange</span><span class="o">.</span><span class="n">GetId</span><span class="p">()]</span> <span class="o">=</span> <span class="p">[</span><span class="n">model</span><span class="p">,</span><span class="s">&#39;Ori&#39;</span><span class="p">,</span><span class="mi">0</span><span class="p">]</span>
    46004908            <span class="n">angRange</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_TEXT_ENTER</span><span class="p">,</span><span class="n">OnPosRange</span><span class="p">)</span>
    46014909            <span class="n">angRange</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_KILL_FOCUS</span><span class="p">,</span><span class="n">OnPosRange</span><span class="p">)</span>
    46024910            <span class="n">rbsizer2</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">angRange</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    4603             <span class="n">rbsizer2</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;Oi,Oj,Ok: &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     4911            <span class="n">rbsizer2</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;Oi,Oj,Ok: &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    46044912            <span class="k">for</span> <span class="n">io</span><span class="p">,</span><span class="n">item</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">([</span><span class="s">&#39;Oi&#39;</span><span class="p">,</span><span class="s">&#39;Oj&#39;</span><span class="p">,</span><span class="s">&#39;Ok&#39;</span><span class="p">]):</span>
    46054913                <span class="n">rmin</span><span class="p">,</span><span class="n">rmax</span> <span class="o">=</span> <span class="n">Rge</span><span class="p">[</span><span class="n">io</span><span class="o">+</span><span class="mi">1</span><span class="p">]</span>
    4606                 <span class="n">vecRange</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">TextCtrl</span><span class="p">(</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;</span><span class="si">%.3f</span><span class="s"> </span><span class="si">%.3f</span><span class="s"> &#39;</span><span class="o">%</span><span class="p">(</span><span class="n">rmin</span><span class="p">,</span><span class="n">rmax</span><span class="p">),</span><span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_PROCESS_ENTER</span><span class="p">)</span>
     4914                <span class="n">vecRange</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">TextCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;</span><span class="si">%.3f</span><span class="s"> </span><span class="si">%.3f</span><span class="s"> &#39;</span><span class="o">%</span><span class="p">(</span><span class="n">rmin</span><span class="p">,</span><span class="n">rmax</span><span class="p">),</span><span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_PROCESS_ENTER</span><span class="p">)</span>
    46074915                <span class="n">Indx</span><span class="p">[</span><span class="n">vecRange</span><span class="o">.</span><span class="n">GetId</span><span class="p">()]</span> <span class="o">=</span> <span class="p">[</span><span class="n">model</span><span class="p">,</span><span class="s">&#39;Ori&#39;</span><span class="p">,</span><span class="n">io</span><span class="o">+</span><span class="mi">1</span><span class="p">]</span>
    46084916                <span class="n">vecRange</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_TEXT_ENTER</span><span class="p">,</span><span class="n">OnPosRange</span><span class="p">)</span>
     
    46134921            <span class="k">if</span> <span class="n">model</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s">&#39;Residue&#39;</span><span class="p">:</span>
    46144922                <span class="n">atNames</span> <span class="o">=</span> <span class="n">RBData</span><span class="p">[</span><span class="s">&#39;Residue&#39;</span><span class="p">][</span><span class="n">model</span><span class="p">[</span><span class="s">&#39;RBId&#39;</span><span class="p">]][</span><span class="s">&#39;atNames&#39;</span><span class="p">]</span>
    4615                 <span class="n">rbsizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;Torsions:&#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     4923                <span class="n">rbsizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;Torsions:&#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    46164924                <span class="n">rbsizer3</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">FlexGridSizer</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="mi">8</span><span class="p">,</span><span class="mi">5</span><span class="p">,</span><span class="mi">5</span><span class="p">)</span>
    46174925                <span class="k">for</span> <span class="n">it</span><span class="p">,</span><span class="n">tor</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">model</span><span class="p">[</span><span class="s">&#39;Tor&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]):</span>
    46184926                    <span class="n">iBeg</span><span class="p">,</span><span class="n">iFin</span> <span class="o">=</span> <span class="n">RBData</span><span class="p">[</span><span class="s">&#39;Residue&#39;</span><span class="p">][</span><span class="n">model</span><span class="p">[</span><span class="s">&#39;RBId&#39;</span><span class="p">]][</span><span class="s">&#39;rbSeq&#39;</span><span class="p">][</span><span class="n">it</span><span class="p">][:</span><span class="mi">2</span><span class="p">]</span>
    46194927                    <span class="n">name</span> <span class="o">=</span> <span class="n">atNames</span><span class="p">[</span><span class="n">iBeg</span><span class="p">]</span><span class="o">+</span><span class="s">&#39;-&#39;</span><span class="o">+</span><span class="n">atNames</span><span class="p">[</span><span class="n">iFin</span><span class="p">]</span>
    4620                     <span class="n">torRef</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">CheckBox</span><span class="p">(</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39; </span><span class="si">%s</span><span class="s">: &#39;</span><span class="o">%</span><span class="p">(</span><span class="n">name</span><span class="p">))</span>
     4928                    <span class="n">torRef</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">CheckBox</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39; </span><span class="si">%s</span><span class="s">: &#39;</span><span class="o">%</span><span class="p">(</span><span class="n">name</span><span class="p">))</span>
    46214929                    <span class="n">torRef</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="n">model</span><span class="p">[</span><span class="s">&#39;Tor&#39;</span><span class="p">][</span><span class="mi">1</span><span class="p">][</span><span class="n">it</span><span class="p">])</span>
    46224930                    <span class="n">torRef</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_CHECKBOX</span><span class="p">,</span><span class="n">OnPosRef</span><span class="p">)</span>
    46234931                    <span class="n">Indx</span><span class="p">[</span><span class="n">torRef</span><span class="o">.</span><span class="n">GetId</span><span class="p">()]</span> <span class="o">=</span> <span class="p">[</span><span class="n">model</span><span class="p">,</span><span class="s">&#39;Tor&#39;</span><span class="p">,</span><span class="n">it</span><span class="p">]</span>
    46244932                    <span class="n">rbsizer3</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">torRef</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    4625                     <span class="n">torVal</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">TextCtrl</span><span class="p">(</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;</span><span class="si">%.4f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">tor</span><span class="p">),</span><span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_PROCESS_ENTER</span><span class="p">)</span>
     4933                    <span class="n">torVal</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">TextCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;</span><span class="si">%.4f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">tor</span><span class="p">),</span><span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_PROCESS_ENTER</span><span class="p">)</span>
    46264934                    <span class="n">torVal</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_TEXT_ENTER</span><span class="p">,</span><span class="n">OnPosVal</span><span class="p">)</span>
    46274935                    <span class="n">torVal</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_KILL_FOCUS</span><span class="p">,</span><span class="n">OnPosVal</span><span class="p">)</span>
    46284936                    <span class="n">Indx</span><span class="p">[</span><span class="n">torVal</span><span class="o">.</span><span class="n">GetId</span><span class="p">()]</span> <span class="o">=</span> <span class="p">[</span><span class="n">model</span><span class="p">,</span><span class="s">&#39;Tor&#39;</span><span class="p">,</span><span class="n">it</span><span class="p">]</span>
    46294937                    <span class="n">rbsizer3</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">torVal</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    4630                     <span class="n">rbsizer3</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39; Range: &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     4938                    <span class="n">rbsizer3</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39; Range: &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    46314939                    <span class="n">rmin</span><span class="p">,</span><span class="n">rmax</span> <span class="o">=</span> <span class="n">model</span><span class="p">[</span><span class="s">&#39;Tor&#39;</span><span class="p">][</span><span class="mi">2</span><span class="p">][</span><span class="n">it</span><span class="p">]</span>
    4632                     <span class="n">torRange</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">TextCtrl</span><span class="p">(</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;</span><span class="si">%.3f</span><span class="s"> </span><span class="si">%.3f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">rmin</span><span class="p">,</span><span class="n">rmax</span><span class="p">),</span><span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_PROCESS_ENTER</span><span class="p">)</span>
     4940                    <span class="n">torRange</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">TextCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;</span><span class="si">%.3f</span><span class="s"> </span><span class="si">%.3f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">rmin</span><span class="p">,</span><span class="n">rmax</span><span class="p">),</span><span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_PROCESS_ENTER</span><span class="p">)</span>
    46334941                    <span class="n">Indx</span><span class="p">[</span><span class="n">torRange</span><span class="o">.</span><span class="n">GetId</span><span class="p">()]</span> <span class="o">=</span> <span class="p">[</span><span class="n">model</span><span class="p">,</span><span class="s">&#39;Tor&#39;</span><span class="p">,</span><span class="n">it</span><span class="p">]</span>
    46344942                    <span class="n">torRange</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_TEXT_ENTER</span><span class="p">,</span><span class="n">OnPosRange</span><span class="p">)</span>
     
    46794987               
    46804988            <span class="n">poSizer</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>
    4681             <span class="n">poRef</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">CheckBox</span><span class="p">(</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39; March-Dollase ratio: &#39;</span><span class="p">)</span>
     4989            <span class="n">poRef</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">CheckBox</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39; March-Dollase ratio: &#39;</span><span class="p">)</span>
    46824990            <span class="n">poRef</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="n">POData</span><span class="p">[</span><span class="s">&#39;Coef&#39;</span><span class="p">][</span><span class="mi">1</span><span class="p">])</span>
    46834991            <span class="n">poRef</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_CHECKBOX</span><span class="p">,</span><span class="n">OnPORef</span><span class="p">)</span>
    46844992            <span class="n">poSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">poRef</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    4685             <span class="n">poVal</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">TextCtrl</span><span class="p">(</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;</span><span class="si">%.3f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">POData</span><span class="p">[</span><span class="s">&#39;Coef&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]),</span><span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_PROCESS_ENTER</span><span class="p">)</span>
     4993            <span class="n">poVal</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">TextCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;</span><span class="si">%.3f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">POData</span><span class="p">[</span><span class="s">&#39;Coef&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]),</span><span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_PROCESS_ENTER</span><span class="p">)</span>
    46864994            <span class="n">poVal</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_TEXT_ENTER</span><span class="p">,</span><span class="n">OnPOVal</span><span class="p">)</span>
    46874995            <span class="n">poVal</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_KILL_FOCUS</span><span class="p">,</span><span class="n">OnPOVal</span><span class="p">)</span>
    46884996            <span class="n">poSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">poVal</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    4689             <span class="n">poSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39; Range: &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     4997            <span class="n">poSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39; Range: &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    46904998            <span class="n">rmin</span><span class="p">,</span><span class="n">rmax</span> <span class="o">=</span> <span class="n">POData</span><span class="p">[</span><span class="s">&#39;Coef&#39;</span><span class="p">][</span><span class="mi">2</span><span class="p">]</span>
    4691             <span class="n">poRange</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">TextCtrl</span><span class="p">(</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;</span><span class="si">%.3f</span><span class="s"> </span><span class="si">%.3f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">rmin</span><span class="p">,</span><span class="n">rmax</span><span class="p">),</span><span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_PROCESS_ENTER</span><span class="p">)</span>
     4999            <span class="n">poRange</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">TextCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;</span><span class="si">%.3f</span><span class="s"> </span><span class="si">%.3f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">rmin</span><span class="p">,</span><span class="n">rmax</span><span class="p">),</span><span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_PROCESS_ENTER</span><span class="p">)</span>
    46925000            <span class="n">poRange</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_TEXT_ENTER</span><span class="p">,</span><span class="n">OnPORange</span><span class="p">)</span>
    46935001            <span class="n">poRange</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_KILL_FOCUS</span><span class="p">,</span><span class="n">OnPORange</span><span class="p">)</span>
    46945002            <span class="n">poSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">poRange</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>                       
    4695             <span class="n">poSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39; Unique axis, H K L: &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     5003            <span class="n">poSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39; Unique axis, H K L: &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    46965004            <span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span> <span class="o">=</span> <span class="n">POData</span><span class="p">[</span><span class="s">&#39;axis&#39;</span><span class="p">]</span>
    4697             <span class="n">poAxis</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">TextCtrl</span><span class="p">(</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;</span><span class="si">%3d</span><span class="s"> </span><span class="si">%3d</span><span class="s"> </span><span class="si">%3d</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">),</span><span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_PROCESS_ENTER</span><span class="p">)</span>
     5005            <span class="n">poAxis</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">TextCtrl</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;</span><span class="si">%3d</span><span class="s"> </span><span class="si">%3d</span><span class="s"> </span><span class="si">%3d</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">),</span><span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_PROCESS_ENTER</span><span class="p">)</span>
    46985006            <span class="n">poAxis</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_TEXT_ENTER</span><span class="p">,</span><span class="n">OnPOAxis</span><span class="p">)</span>
    46995007            <span class="n">poAxis</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_KILL_FOCUS</span><span class="p">,</span><span class="n">OnPOAxis</span><span class="p">)</span>
     
    47155023                    <span class="n">resultsTable</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="n">r</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="bp">True</span><span class="p">)</span>
    47165024                    <span class="n">G2plt</span><span class="o">.</span><span class="n">PlotStructure</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">data</span><span class="p">)</span>
    4717                     <span class="n">wx</span><span class="o">.</span><span class="n">CallAfter</span><span class="p">(</span><span class="n">UpdateMCSA</span><span class="p">,</span><span class="n">MCSA</span><span class="o">.</span><span class="n">GetScrollPos</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">VERTICAL</span><span class="p">))</span>
     5025                    <span class="n">wx</span><span class="o">.</span><span class="n">CallAfter</span><span class="p">(</span><span class="n">UpdateMCSA</span><span class="p">,</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="o">.</span><span class="n">GetScrollPos</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">VERTICAL</span><span class="p">))</span>
    47185026                    <span class="n">resultsGrid</span><span class="o">.</span><span class="n">ForceRefresh</span><span class="p">()</span>
    47195027                <span class="k">elif</span> <span class="n">c</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
     
    47385046                <span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_FLOAT</span><span class="o">+</span><span class="s">&#39;:10,4&#39;</span><span class="p">,]</span><span class="o">+</span><span class="n">maxVary</span><span class="o">*</span><span class="p">[</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_FLOAT</span><span class="o">+</span><span class="s">&#39;:10,5&#39;</span><span class="p">,]</span>
    47395047            <span class="n">resultsTable</span> <span class="o">=</span> <span class="n">G2gd</span><span class="o">.</span><span class="n">Table</span><span class="p">(</span><span class="n">resultVals</span><span class="p">,</span><span class="n">rowLabels</span><span class="o">=</span><span class="n">rowLabels</span><span class="p">,</span><span class="n">colLabels</span><span class="o">=</span><span class="n">colLabels</span><span class="p">,</span><span class="n">types</span><span class="o">=</span><span class="n">Types</span><span class="p">)</span>
    4740             <span class="n">resultsGrid</span> <span class="o">=</span> <span class="n">G2gd</span><span class="o">.</span><span class="n">GSGrid</span><span class="p">(</span><span class="n">MCSA</span><span class="p">)</span>
     5048            <span class="n">resultsGrid</span> <span class="o">=</span> <span class="n">G2gd</span><span class="o">.</span><span class="n">GSGrid</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="p">)</span>
    47415049            <span class="n">resultsGrid</span><span class="o">.</span><span class="n">SetTable</span><span class="p">(</span><span class="n">resultsTable</span><span class="p">,</span> <span class="bp">True</span><span class="p">)</span>
    47425050            <span class="n">resultsGrid</span><span class="o">.</span><span class="n">Bind</span><span class="p">(</span><span class="n">wg</span><span class="o">.</span><span class="n">EVT_GRID_CELL_LEFT_CLICK</span><span class="p">,</span> <span class="n">OnCellChange</span><span class="p">)</span>
     
    47525060       
    47535061        <span class="c"># UpdateMCSA executable code starts here</span>
    4754         <span class="n">MCSA</span><span class="o">.</span><span class="n">DestroyChildren</span><span class="p">()</span>
     5062        <span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="o">.</span><span class="n">DestroyChildren</span><span class="p">()</span>
    47555063        <span class="k">if</span> <span class="ow">not</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;Drawing&#39;</span><span class="p">]:</span>                 <span class="c">#if new drawing - no drawing data!</span>
    47565064            <span class="n">SetupDrawingData</span><span class="p">()</span>
     
    47675075        <span class="k">if</span> <span class="ow">not</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;MCSA&#39;</span><span class="p">][</span><span class="s">&#39;Models&#39;</span><span class="p">]:</span>
    47685076            <span class="n">mainSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">((</span><span class="mi">5</span><span class="p">,</span><span class="mi">5</span><span class="p">),</span><span class="mi">0</span><span class="p">)</span>
    4769             <span class="n">mainSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;No MC/SA models:&#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     5077            <span class="n">mainSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;No MC/SA models:&#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    47705078            <span class="n">mainSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">((</span><span class="mi">5</span><span class="p">,</span><span class="mi">5</span><span class="p">),</span><span class="mi">0</span><span class="p">)</span>
    47715079        <span class="k">else</span><span class="p">:</span>
    47725080            <span class="n">mainSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">((</span><span class="mi">5</span><span class="p">,</span><span class="mi">5</span><span class="p">),</span><span class="mi">0</span><span class="p">)</span>
    4773             <span class="n">mainSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;MC/SA models:&#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     5081            <span class="n">mainSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;MC/SA models:&#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    47745082            <span class="n">mainSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">((</span><span class="mi">5</span><span class="p">,</span><span class="mi">5</span><span class="p">),</span><span class="mi">0</span><span class="p">)</span>
    47755083            <span class="k">for</span> <span class="n">model</span> <span class="ow">in</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;MCSA&#39;</span><span class="p">][</span><span class="s">&#39;Models&#39;</span><span class="p">]:</span>
     
    47855093                    <span class="n">mainSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">Rsizer</span><span class="p">)</span>
    47865094                    <span class="n">Xsize</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="n">Rsizer</span><span class="o">.</span><span class="n">GetMinSize</span><span class="p">()[</span><span class="mi">0</span><span class="p">],</span><span class="n">Xsize</span><span class="p">)</span>
    4787                 <span class="n">G2gd</span><span class="o">.</span><span class="n">HorizontalLine</span><span class="p">(</span><span class="n">mainSizer</span><span class="p">,</span><span class="n">MCSA</span><span class="p">)</span>
     5095                <span class="n">G2gd</span><span class="o">.</span><span class="n">HorizontalLine</span><span class="p">(</span><span class="n">mainSizer</span><span class="p">,</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="p">)</span>
    47885096               
    47895097        <span class="k">if</span> <span class="ow">not</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;MCSA&#39;</span><span class="p">][</span><span class="s">&#39;Results&#39;</span><span class="p">]:</span>
    47905098            <span class="n">mainSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">((</span><span class="mi">5</span><span class="p">,</span><span class="mi">5</span><span class="p">),</span><span class="mi">0</span><span class="p">)</span>
    4791             <span class="n">mainSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;No MC/SA results:&#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     5099            <span class="n">mainSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;No MC/SA results:&#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    47925100            <span class="n">mainSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">((</span><span class="mi">5</span><span class="p">,</span><span class="mi">5</span><span class="p">),</span><span class="mi">0</span><span class="p">)</span>
    47935101        <span class="k">else</span><span class="p">:</span>
    47945102            <span class="n">mainSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">((</span><span class="mi">5</span><span class="p">,</span><span class="mi">5</span><span class="p">),</span><span class="mi">0</span><span class="p">)</span>
    4795             <span class="n">mainSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;MC/SA results:&#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     5103            <span class="n">mainSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;MC/SA results:&#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    47965104            <span class="n">mainSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">((</span><span class="mi">5</span><span class="p">,</span><span class="mi">5</span><span class="p">),</span><span class="mi">0</span><span class="p">)</span>
    47975105            <span class="n">Results</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;MCSA&#39;</span><span class="p">][</span><span class="s">&#39;Results&#39;</span><span class="p">]</span>
    47985106            <span class="n">mainSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">ResultsSizer</span><span class="p">(</span><span class="n">Results</span><span class="p">))</span>
    47995107           
    4800         <span class="n">SetPhaseWindow</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="p">,</span><span class="n">MCSA</span><span class="p">,</span><span class="n">mainSizer</span><span class="p">)</span>
    4801         <span class="n">Size</span> <span class="o">=</span> <span class="n">MCSA</span><span class="o">.</span><span class="n">GetSize</span><span class="p">()</span>
     5108        <span class="n">SetPhaseWindow</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="p">,</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="p">,</span><span class="n">mainSizer</span><span class="p">)</span>
     5109        <span class="n">Size</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="o">.</span><span class="n">GetSize</span><span class="p">()</span>
    48025110        <span class="n">Size</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">=</span> <span class="n">Xsize</span><span class="o">+</span><span class="mi">40</span>
    48035111        <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">SetSize</span><span class="p">(</span><span class="n">Size</span><span class="p">)</span>
    4804         <span class="n">MCSA</span><span class="o">.</span><span class="n">Scroll</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="n">Scroll</span><span class="p">)</span>
     5112        <span class="n">G2frame</span><span class="o">.</span><span class="n">MCSA</span><span class="o">.</span><span class="n">Scroll</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="n">Scroll</span><span class="p">)</span>
    48055113       
    48065114    <span class="k">def</span> <span class="nf">SetSolution</span><span class="p">(</span><span class="n">result</span><span class="p">,</span><span class="n">Models</span><span class="p">):</span>
     
    48775185            <span class="n">screenSize</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">ClientDisplayRect</span><span class="p">()</span>
    48785186            <span class="n">Size</span> <span class="o">=</span> <span class="n">pgbar</span><span class="o">.</span><span class="n">GetSize</span><span class="p">()</span>
    4879             <span class="n">Size</span> <span class="o">=</span> <span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">Size</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="mf">1.2</span><span class="p">),</span><span class="n">Size</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> <span class="c"># increase size a bit along x</span>
    4880             <span class="n">pgbar</span><span class="o">.</span><span class="n">SetPosition</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">Point</span><span class="p">(</span><span class="n">screenSize</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">-</span><span class="n">Size</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">-</span><span class="mi">305</span><span class="p">,</span><span class="n">screenSize</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">+</span><span class="mi">5</span><span class="p">))</span>
    4881             <span class="n">pgbar</span><span class="o">.</span><span class="n">SetSize</span><span class="p">(</span><span class="n">Size</span><span class="p">)</span>
     5187            <span class="k">if</span> <span class="mi">50</span> <span class="o">&lt;</span> <span class="n">Size</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">&lt;</span> <span class="mi">500</span><span class="p">:</span> <span class="c"># sanity check on size, since this fails w/Win &amp; wx3.0</span>
     5188                <span class="n">pgbar</span><span class="o">.</span><span class="n">SetSize</span><span class="p">((</span><span class="nb">int</span><span class="p">(</span><span class="n">Size</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="mf">1.2</span><span class="p">),</span><span class="n">Size</span><span class="p">[</span><span class="mi">1</span><span class="p">]))</span> <span class="c"># increase size a bit along x</span>
     5189                <span class="n">pgbar</span><span class="o">.</span><span class="n">SetPosition</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">Point</span><span class="p">(</span><span class="n">screenSize</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">-</span><span class="n">Size</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">-</span><span class="mi">305</span><span class="p">,</span><span class="n">screenSize</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">+</span><span class="mi">5</span><span class="p">))</span>
    48825190        <span class="k">else</span><span class="p">:</span>
    48835191            <span class="n">pgbar</span> <span class="o">=</span> <span class="bp">None</span>
     
    50085316           
    50095317        <span class="c"># FillPawleyReflectionsGrid executable starts here</span>
    5010         <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">SetStatusText</span><span class="p">(</span><span class="s">&#39;To delete a few Pawley reflections: select rows &amp; press Delete&#39;</span><span class="p">)</span>                       
     5318        <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">SetStatusText</span><span class="p">(</span><span class="s">&#39;To delete a Pawley reflection: select row &amp; press Delete&#39;</span><span class="p">)</span>                       
     5319        <span class="n">generalData</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;General&#39;</span><span class="p">]</span>
    50115320        <span class="k">if</span> <span class="s">&#39;Pawley ref&#39;</span> <span class="ow">in</span> <span class="n">data</span><span class="p">:</span>
    50125321            <span class="n">PawleyPeaks</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;Pawley ref&#39;</span><span class="p">]</span>                       
    50135322            <span class="n">rowLabels</span> <span class="o">=</span> <span class="p">[]</span>
    50145323            <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">PawleyPeaks</span><span class="p">)):</span> <span class="n">rowLabels</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">))</span>
    5015             <span class="n">colLabels</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39;h&#39;</span><span class="p">,</span><span class="s">&#39;k&#39;</span><span class="p">,</span><span class="s">&#39;l&#39;</span><span class="p">,</span><span class="s">&#39;mul&#39;</span><span class="p">,</span><span class="s">&#39;d&#39;</span><span class="p">,</span><span class="s">&#39;refine&#39;</span><span class="p">,</span><span class="s">&#39;Fsq(hkl)&#39;</span><span class="p">,</span><span class="s">&#39;sig(Fsq)&#39;</span><span class="p">]</span>
    5016             <span class="n">Types</span> <span class="o">=</span> <span class="mi">4</span><span class="o">*</span><span class="p">[</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_LONG</span><span class="p">,]</span><span class="o">+</span><span class="p">[</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_FLOAT</span><span class="o">+</span><span class="s">&#39;:10,4&#39;</span><span class="p">,</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_BOOL</span><span class="p">,]</span><span class="o">+</span> \
    5017                 <span class="mi">2</span><span class="o">*</span><span class="p">[</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_FLOAT</span><span class="o">+</span><span class="s">&#39;:10,2&#39;</span><span class="p">,]</span>
     5324            <span class="k">if</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;modulated&#39;</span><span class="p">,</span><span class="s">&#39;magnetic&#39;</span><span class="p">,]:</span>
     5325                <span class="n">colLabels</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39;h&#39;</span><span class="p">,</span><span class="s">&#39;k&#39;</span><span class="p">,</span><span class="s">&#39;l&#39;</span><span class="p">,</span><span class="s">&#39;m&#39;</span><span class="p">,</span><span class="s">&#39;mul&#39;</span><span class="p">,</span><span class="s">&#39;d&#39;</span><span class="p">,</span><span class="s">&#39;refine&#39;</span><span class="p">,</span><span class="s">&#39;Fsq(hkl)&#39;</span><span class="p">,</span><span class="s">&#39;sig(Fsq)&#39;</span><span class="p">]</span>
     5326                <span class="n">Types</span> <span class="o">=</span> <span class="mi">5</span><span class="o">*</span><span class="p">[</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_LONG</span><span class="p">,]</span><span class="o">+</span><span class="p">[</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_FLOAT</span><span class="o">+</span><span class="s">&#39;:10,4&#39;</span><span class="p">,</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_BOOL</span><span class="p">,]</span><span class="o">+</span> \
     5327                    <span class="mi">2</span><span class="o">*</span><span class="p">[</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_FLOAT</span><span class="o">+</span><span class="s">&#39;:10,2&#39;</span><span class="p">,]</span>
     5328                <span class="n">pos</span> <span class="o">=</span> <span class="p">[</span><span class="mi">6</span><span class="p">,</span><span class="mi">7</span><span class="p">]</span>
     5329            <span class="k">else</span><span class="p">:</span>   
     5330                <span class="n">colLabels</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39;h&#39;</span><span class="p">,</span><span class="s">&#39;k&#39;</span><span class="p">,</span><span class="s">&#39;l&#39;</span><span class="p">,</span><span class="s">&#39;mul&#39;</span><span class="p">,</span><span class="s">&#39;d&#39;</span><span class="p">,</span><span class="s">&#39;refine&#39;</span><span class="p">,</span><span class="s">&#39;Fsq(hkl)&#39;</span><span class="p">,</span><span class="s">&#39;sig(Fsq)&#39;</span><span class="p">]</span>
     5331                <span class="n">Types</span> <span class="o">=</span> <span class="mi">4</span><span class="o">*</span><span class="p">[</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_LONG</span><span class="p">,]</span><span class="o">+</span><span class="p">[</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_FLOAT</span><span class="o">+</span><span class="s">&#39;:10,4&#39;</span><span class="p">,</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_BOOL</span><span class="p">,]</span><span class="o">+</span> \
     5332                    <span class="mi">2</span><span class="o">*</span><span class="p">[</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_FLOAT</span><span class="o">+</span><span class="s">&#39;:10,2&#39;</span><span class="p">,]</span>
     5333                <span class="n">pos</span> <span class="o">=</span> <span class="p">[</span><span class="mi">5</span><span class="p">,</span><span class="mi">6</span><span class="p">]</span>
    50185334            <span class="n">PawleyTable</span> <span class="o">=</span> <span class="n">G2gd</span><span class="o">.</span><span class="n">Table</span><span class="p">(</span><span class="n">PawleyPeaks</span><span class="p">,</span><span class="n">rowLabels</span><span class="o">=</span><span class="n">rowLabels</span><span class="p">,</span><span class="n">colLabels</span><span class="o">=</span><span class="n">colLabels</span><span class="p">,</span><span class="n">types</span><span class="o">=</span><span class="n">Types</span><span class="p">)</span>
    50195335            <span class="n">G2frame</span><span class="o">.</span><span class="n">PawleyRefl</span><span class="o">.</span><span class="n">SetTable</span><span class="p">(</span><span class="n">PawleyTable</span><span class="p">,</span> <span class="bp">True</span><span class="p">)</span>
     
    50215337            <span class="k">for</span> <span class="n">r</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">PawleyRefl</span><span class="o">.</span><span class="n">GetNumberRows</span><span class="p">()):</span>
    50225338                <span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">PawleyRefl</span><span class="o">.</span><span class="n">GetNumberCols</span><span class="p">()):</span>
    5023                     <span class="k">if</span> <span class="n">c</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">5</span><span class="p">,</span><span class="mi">6</span><span class="p">]:</span>
     5339                    <span class="k">if</span> <span class="n">c</span> <span class="ow">in</span> <span class="n">pos</span><span class="p">:</span>
    50245340                        <span class="n">G2frame</span><span class="o">.</span><span class="n">PawleyRefl</span><span class="o">.</span><span class="n">SetReadOnly</span><span class="p">(</span><span class="n">r</span><span class="p">,</span><span class="n">c</span><span class="p">,</span><span class="n">isReadOnly</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
    50255341                    <span class="k">else</span><span class="p">:</span>
     
    50315347    <span class="k">def</span> <span class="nf">OnPawleyLoad</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
    50325348        <span class="n">generalData</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;General&#39;</span><span class="p">]</span>
    5033         <span class="n">dmin</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Pawley dmin&#39;</span><span class="p">]</span>
    50345349        <span class="n">cell</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Cell&#39;</span><span class="p">][</span><span class="mi">1</span><span class="p">:</span><span class="mi">7</span><span class="p">]</span>
    50355350        <span class="n">A</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">cell2A</span><span class="p">(</span><span class="n">cell</span><span class="p">)</span>
    50365351        <span class="n">SGData</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SGData&#39;</span><span class="p">]</span>
     5352        <span class="n">dmin</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Pawley dmin&#39;</span><span class="p">]</span>
     5353        <span class="n">PawleyPeaks</span> <span class="o">=</span> <span class="p">[]</span>
    50375354        <span class="n">HKLd</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">G2lat</span><span class="o">.</span><span class="n">GenHLaue</span><span class="p">(</span><span class="n">dmin</span><span class="p">,</span><span class="n">SGData</span><span class="p">,</span><span class="n">A</span><span class="p">))</span>
    5038         <span class="n">PawleyPeaks</span> <span class="o">=</span> <span class="p">[]</span>
    5039         <span class="n">wx</span><span class="o">.</span><span class="n">BeginBusyCursor</span><span class="p">()</span>
    5040         <span class="k">try</span><span class="p">:</span>
    5041             <span class="k">for</span> <span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">,</span><span class="n">d</span> <span class="ow">in</span> <span class="n">HKLd</span><span class="p">:</span>
    5042                 <span class="n">ext</span><span class="p">,</span><span class="n">mul</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">GenHKLf</span><span class="p">([</span><span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">],</span><span class="n">SGData</span><span class="p">)[:</span><span class="mi">2</span><span class="p">]</span>
    5043                 <span class="k">if</span> <span class="ow">not</span> <span class="n">ext</span><span class="p">:</span>
    5044                     <span class="n">mul</span> <span class="o">*=</span> <span class="mi">2</span>        <span class="c">#for powder multiplicity</span>
    5045                     <span class="n">PawleyPeaks</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">,</span><span class="n">mul</span><span class="p">,</span><span class="n">d</span><span class="p">,</span><span class="bp">False</span><span class="p">,</span><span class="mf">100.0</span><span class="p">,</span><span class="mf">1.0</span><span class="p">])</span>
    5046         <span class="k">finally</span><span class="p">:</span>
    5047             <span class="n">wx</span><span class="o">.</span><span class="n">EndBusyCursor</span><span class="p">()</span>
     5355        <span class="k">if</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;modulated&#39;</span><span class="p">,</span><span class="s">&#39;magnetic&#39;</span><span class="p">,]:</span>
     5356            <span class="n">Vec</span><span class="p">,</span><span class="n">x</span><span class="p">,</span><span class="n">maxH</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SuperVec&#39;</span><span class="p">]</span>
     5357            <span class="n">SSGData</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">SSpcGroup</span><span class="p">(</span><span class="n">SGData</span><span class="p">,</span><span class="n">generalData</span><span class="p">[</span><span class="s">&#39;SuperSg&#39;</span><span class="p">])[</span><span class="mi">1</span><span class="p">]</span>
     5358            <span class="n">wx</span><span class="o">.</span><span class="n">BeginBusyCursor</span><span class="p">()</span>
     5359            <span class="k">try</span><span class="p">:</span>
     5360                <span class="n">HKLd</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">GenSSHLaue</span><span class="p">(</span><span class="n">dmin</span><span class="p">,</span><span class="n">SGData</span><span class="p">,</span><span class="n">SSGData</span><span class="p">,</span><span class="n">Vec</span><span class="p">,</span><span class="n">maxH</span><span class="p">,</span><span class="n">A</span><span class="p">)</span>
     5361                <span class="k">for</span> <span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">,</span><span class="n">m</span><span class="p">,</span><span class="n">d</span> <span class="ow">in</span> <span class="n">HKLd</span><span class="p">:</span>
     5362                    <span class="n">ext</span><span class="p">,</span><span class="n">mul</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">GenHKLf</span><span class="p">([</span><span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">],</span><span class="n">SGData</span><span class="p">)[:</span><span class="mi">2</span><span class="p">]</span>
     5363                    <span class="k">if</span> <span class="n">m</span> <span class="ow">or</span> <span class="ow">not</span> <span class="n">ext</span><span class="p">:</span>
     5364                        <span class="n">mul</span> <span class="o">*=</span> <span class="mi">2</span>        <span class="c">#for powder multiplicity</span>
     5365                        <span class="n">PawleyPeaks</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">,</span><span class="n">m</span><span class="p">,</span><span class="n">mul</span><span class="p">,</span><span class="n">d</span><span class="p">,</span><span class="bp">False</span><span class="p">,</span><span class="mf">100.0</span><span class="p">,</span><span class="mf">1.0</span><span class="p">])</span>
     5366                <span class="n">PawleyPeaks</span> <span class="o">=</span> <span class="n">G2mth</span><span class="o">.</span><span class="n">sortArray</span><span class="p">(</span><span class="n">PawleyPeaks</span><span class="p">,</span><span class="mi">5</span><span class="p">,</span><span class="n">reverse</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
     5367            <span class="k">finally</span><span class="p">:</span>
     5368                <span class="n">wx</span><span class="o">.</span><span class="n">EndBusyCursor</span><span class="p">()</span>
     5369        <span class="k">else</span><span class="p">:</span>
     5370            <span class="n">wx</span><span class="o">.</span><span class="n">BeginBusyCursor</span><span class="p">()</span>
     5371            <span class="k">try</span><span class="p">:</span>
     5372                <span class="k">for</span> <span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">,</span><span class="n">d</span> <span class="ow">in</span> <span class="n">HKLd</span><span class="p">:</span>
     5373                    <span class="n">ext</span><span class="p">,</span><span class="n">mul</span> <span class="o">=</span> <span class="n">G2spc</span><span class="o">.</span><span class="n">GenHKLf</span><span class="p">([</span><span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">],</span><span class="n">SGData</span><span class="p">)[:</span><span class="mi">2</span><span class="p">]</span>
     5374                    <span class="k">if</span> <span class="ow">not</span> <span class="n">ext</span><span class="p">:</span>
     5375                        <span class="n">mul</span> <span class="o">*=</span> <span class="mi">2</span>        <span class="c">#for powder multiplicity</span>
     5376                        <span class="n">PawleyPeaks</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="n">h</span><span class="p">,</span><span class="n">k</span><span class="p">,</span><span class="n">l</span><span class="p">,</span><span class="n">mul</span><span class="p">,</span><span class="n">d</span><span class="p">,</span><span class="bp">False</span><span class="p">,</span><span class="mf">100.0</span><span class="p">,</span><span class="mf">1.0</span><span class="p">])</span>
     5377                <span class="n">PawleyPeaks</span> <span class="o">=</span> <span class="n">G2mth</span><span class="o">.</span><span class="n">sortArray</span><span class="p">(</span><span class="n">PawleyPeaks</span><span class="p">,</span><span class="mi">4</span><span class="p">,</span><span class="n">reverse</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
     5378            <span class="k">finally</span><span class="p">:</span>
     5379                <span class="n">wx</span><span class="o">.</span><span class="n">EndBusyCursor</span><span class="p">()</span>
    50485380        <span class="n">data</span><span class="p">[</span><span class="s">&#39;Pawley ref&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">PawleyPeaks</span>
    50495381        <span class="n">FillPawleyReflectionsGrid</span><span class="p">()</span>
     
    50585390            <span class="k">return</span>
    50595391        <span class="n">Vst</span> <span class="o">=</span> <span class="mf">1.0</span><span class="o">/</span><span class="n">data</span><span class="p">[</span><span class="s">&#39;General&#39;</span><span class="p">][</span><span class="s">&#39;Cell&#39;</span><span class="p">][</span><span class="mi">7</span><span class="p">]</span>     <span class="c">#Get volume</span>
     5392        <span class="n">generalData</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;General&#39;</span><span class="p">]</span>
     5393        <span class="n">im</span> <span class="o">=</span> <span class="mi">0</span>
     5394        <span class="k">if</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;modulated&#39;</span><span class="p">,</span><span class="s">&#39;magnetic&#39;</span><span class="p">,]:</span>
     5395            <span class="n">im</span> <span class="o">=</span> <span class="mi">1</span>
    50605396        <span class="n">HistoNames</span> <span class="o">=</span> <span class="nb">filter</span><span class="p">(</span><span class="k">lambda</span> <span class="n">a</span><span class="p">:</span><span class="n">Histograms</span><span class="p">[</span><span class="n">a</span><span class="p">][</span><span class="s">&#39;Use&#39;</span><span class="p">]</span><span class="o">==</span><span class="bp">True</span><span class="p">,</span><span class="n">Histograms</span><span class="o">.</span><span class="n">keys</span><span class="p">())</span>
    50615397        <span class="n">PatternId</span> <span class="o">=</span> <span class="n">G2gd</span><span class="o">.</span><span class="n">GetPatternTreeItemId</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">G2frame</span><span class="o">.</span><span class="n">root</span><span class="p">,</span><span class="n">HistoNames</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
     
    50715407        <span class="k">try</span><span class="p">:</span>
    50725408            <span class="k">for</span> <span class="n">ref</span> <span class="ow">in</span> <span class="n">Refs</span><span class="p">:</span>
    5073                 <span class="n">pos</span> <span class="o">=</span> <span class="mf">2.0</span><span class="o">*</span><span class="n">asind</span><span class="p">(</span><span class="n">wave</span><span class="o">/</span><span class="p">(</span><span class="mf">2.0</span><span class="o">*</span><span class="n">ref</span><span class="p">[</span><span class="mi">4</span><span class="p">]))</span>
     5409                <span class="n">pos</span> <span class="o">=</span> <span class="mf">2.0</span><span class="o">*</span><span class="n">asind</span><span class="p">(</span><span class="n">wave</span><span class="o">/</span><span class="p">(</span><span class="mf">2.0</span><span class="o">*</span><span class="n">ref</span><span class="p">[</span><span class="mi">4</span><span class="o">+</span><span class="n">im</span><span class="p">]))</span>
    50745410                <span class="k">if</span> <span class="s">&#39;Bragg&#39;</span> <span class="ow">in</span> <span class="n">Sample</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]:</span>
    50755411                    <span class="n">pos</span> <span class="o">-=</span> <span class="n">const</span><span class="o">*</span><span class="p">(</span><span class="mf">4.</span><span class="o">*</span><span class="n">Sample</span><span class="p">[</span><span class="s">&#39;Shift&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="n">cosd</span><span class="p">(</span><span class="n">pos</span><span class="o">/</span><span class="mf">2.0</span><span class="p">)</span><span class="o">+</span> \
     
    50845420                    <span class="c"># we multiply the observed peak height by sqrt(8 ln 2)/(FWHM*sqrt(pi)) to determine the value of Icorr*F^2 </span>
    50855421                    <span class="c"># then divide by Icorr to get F^2.</span>
    5086                     <span class="n">ref</span><span class="p">[</span><span class="mi">6</span><span class="p">]</span> <span class="o">=</span> <span class="p">(</span><span class="n">xdata</span><span class="p">[</span><span class="mi">1</span><span class="p">][</span><span class="n">indx</span><span class="p">]</span><span class="o">-</span><span class="n">xdata</span><span class="p">[</span><span class="mi">4</span><span class="p">][</span><span class="n">indx</span><span class="p">])</span><span class="o">*</span><span class="n">gconst</span><span class="o">/</span><span class="p">(</span><span class="n">FWHM</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="p">))</span>  <span class="c">#Area of Gaussian is height * FWHM * sqrt(pi)</span>
     5422                    <span class="n">ref</span><span class="p">[</span><span class="mi">6</span><span class="o">+</span><span class="n">im</span><span class="p">]</span> <span class="o">=</span> <span class="p">(</span><span class="n">xdata</span><span class="p">[</span><span class="mi">1</span><span class="p">][</span><span class="n">indx</span><span class="p">]</span><span class="o">-</span><span class="n">xdata</span><span class="p">[</span><span class="mi">4</span><span class="p">][</span><span class="n">indx</span><span class="p">])</span><span class="o">*</span><span class="n">gconst</span><span class="o">/</span><span class="p">(</span><span class="n">FWHM</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="p">))</span>  <span class="c">#Area of Gaussian is height * FWHM * sqrt(pi)</span>
    50875423                    <span class="n">Lorenz</span> <span class="o">=</span> <span class="mf">1.</span><span class="o">/</span><span class="p">(</span><span class="mf">2.</span><span class="o">*</span><span class="n">sind</span><span class="p">(</span><span class="n">xdata</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="n">indx</span><span class="p">]</span><span class="o">/</span><span class="mf">2.</span><span class="p">)</span><span class="o">**</span><span class="mi">2</span><span class="o">*</span><span class="n">cosd</span><span class="p">(</span><span class="n">xdata</span><span class="p">[</span><span class="mi">0</span><span class="p">][</span><span class="n">indx</span><span class="p">]</span><span class="o">/</span><span class="mf">2.</span><span class="p">))</span>           <span class="c">#Lorentz correction</span>
    50885424                    <span class="n">pola</span> <span class="o">=</span> <span class="mf">1.0</span>
     
    50925428                        <span class="n">pola</span> <span class="o">=</span> <span class="mf">1.0</span>
    50935429                    <span class="c"># Include histo scale and volume in calculation</span>
    5094                     <span class="n">ref</span><span class="p">[</span><span class="mi">6</span><span class="p">]</span> <span class="o">/=</span> <span class="p">(</span><span class="n">Sample</span><span class="p">[</span><span class="s">&#39;Scale&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">*</span> <span class="n">Vst</span> <span class="o">*</span> <span class="n">Lorenz</span> <span class="o">*</span> <span class="n">pola</span> <span class="o">*</span> <span class="n">ref</span><span class="p">[</span><span class="mi">3</span><span class="p">])</span>
     5430                    <span class="n">ref</span><span class="p">[</span><span class="mi">6</span><span class="o">+</span><span class="n">im</span><span class="p">]</span> <span class="o">/=</span> <span class="p">(</span><span class="n">Sample</span><span class="p">[</span><span class="s">&#39;Scale&#39;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span> <span class="o">*</span> <span class="n">Vst</span> <span class="o">*</span> <span class="n">Lorenz</span> <span class="o">*</span> <span class="n">pola</span> <span class="o">*</span> <span class="n">ref</span><span class="p">[</span><span class="mi">3</span><span class="o">+</span><span class="n">im</span><span class="p">])</span>
    50955431                <span class="k">except</span> <span class="ne">IndexError</span><span class="p">:</span>
    50965432                    <span class="k">pass</span>
     
    51135449        <span class="n">refData</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemPyData</span><span class="p">(</span><span class="n">G2gd</span><span class="o">.</span><span class="n">GetPatternTreeItemId</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span>  \
    51145450            <span class="n">PatternId</span><span class="p">,</span><span class="s">&#39;Reflection Lists&#39;</span><span class="p">))[</span><span class="n">PhaseName</span><span class="p">][</span><span class="s">&#39;RefList&#39;</span><span class="p">]</span>
     5451        <span class="n">im</span> <span class="o">=</span> <span class="mi">0</span>
     5452        <span class="k">if</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;General&#39;</span><span class="p">][</span><span class="s">&#39;Type&#39;</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;modulated&#39;</span><span class="p">,</span><span class="s">&#39;magnetic&#39;</span><span class="p">,]:</span>
     5453            <span class="n">im</span> <span class="o">=</span> <span class="mi">1</span>
    51155454        <span class="n">Inv</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;General&#39;</span><span class="p">][</span><span class="s">&#39;SGData&#39;</span><span class="p">][</span><span class="s">&#39;SGInv&#39;</span><span class="p">]</span>
    51165455        <span class="n">mult</span> <span class="o">=</span> <span class="mf">0.5</span>
     
    51215460            <span class="k">for</span> <span class="n">iref</span><span class="p">,</span><span class="n">ref</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">Refs</span><span class="p">):</span>
    51225461                <span class="k">try</span><span class="p">:</span>
    5123                     <span class="k">if</span> <span class="n">ref</span><span class="p">[</span><span class="mi">6</span><span class="p">]</span> <span class="o">&lt;</span> <span class="mf">0.</span><span class="p">:</span>
    5124                         <span class="n">ref</span><span class="p">[</span><span class="mi">6</span><span class="p">]</span> <span class="o">*=</span> <span class="o">-</span><span class="n">mult</span>
    5125                         <span class="n">refData</span><span class="p">[</span><span class="n">iref</span><span class="p">][</span><span class="mi">8</span><span class="p">]</span> <span class="o">*=</span> <span class="o">-</span><span class="n">mult</span>
    5126                         <span class="n">refData</span><span class="p">[</span><span class="n">iref</span><span class="p">][</span><span class="mi">9</span><span class="p">]</span> <span class="o">*=</span> <span class="o">-</span><span class="n">mult</span>
    5127                         <span class="n">ref</span><span class="p">[</span><span class="mi">5</span><span class="p">]</span> <span class="o">=</span> <span class="bp">False</span>
    5128                         <span class="n">ref</span><span class="p">[</span><span class="mi">7</span><span class="p">]</span> <span class="o">=</span> <span class="mf">1.0</span>
     5462                    <span class="k">if</span> <span class="n">ref</span><span class="p">[</span><span class="mi">6</span><span class="o">+</span><span class="n">im</span><span class="p">]</span> <span class="o">&lt;</span> <span class="mf">0.</span><span class="p">:</span>
     5463                        <span class="n">ref</span><span class="p">[</span><span class="mi">6</span><span class="o">+</span><span class="n">im</span><span class="p">]</span> <span class="o">*=</span> <span class="o">-</span><span class="n">mult</span>
     5464                        <span class="n">refData</span><span class="p">[</span><span class="n">iref</span><span class="p">][</span><span class="mi">8</span><span class="o">+</span><span class="n">im</span><span class="p">]</span> <span class="o">*=</span> <span class="o">-</span><span class="n">mult</span>
     5465                        <span class="n">refData</span><span class="p">[</span><span class="n">iref</span><span class="p">][</span><span class="mi">9</span><span class="o">+</span><span class="n">im</span><span class="p">]</span> <span class="o">*=</span> <span class="o">-</span><span class="n">mult</span>
     5466                        <span class="n">ref</span><span class="p">[</span><span class="mi">5</span><span class="o">+</span><span class="n">im</span><span class="p">]</span> <span class="o">=</span> <span class="bp">False</span>
     5467                        <span class="n">ref</span><span class="p">[</span><span class="mi">7</span><span class="o">+</span><span class="n">im</span><span class="p">]</span> <span class="o">=</span> <span class="mf">1.0</span>
    51295468                <span class="k">except</span> <span class="ne">IndexError</span><span class="p">:</span>
    51305469                    <span class="k">print</span> <span class="s">&#39;skipped&#39;</span><span class="p">,</span><span class="n">ref</span>
     
    51695508                <span class="n">mapPeaks</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;Map Peaks&#39;</span><span class="p">]</span>
    51705509                <span class="n">c</span> <span class="o">=</span>  <span class="n">event</span><span class="o">.</span><span class="n">GetCol</span><span class="p">()</span>
    5171                 <span class="k">if</span> <span class="n">colLabels</span><span class="p">[</span><span class="n">c</span><span class="p">]</span> <span class="o">==</span> <span class="s">&#39;mag&#39;</span><span class="p">:</span>
     5510                <span class="k">if</span> <span class="n">colLabels</span><span class="p">[</span><span class="n">c</span><span class="p">]</span> <span class="o">==</span> <span class="s">&#39;mag&#39;</span><span class="p">:</span>   <span class="c">#big to small order</span>
    51725511                    <span class="n">mapPeaks</span> <span class="o">=</span> <span class="n">G2mth</span><span class="o">.</span><span class="n">sortArray</span><span class="p">(</span><span class="n">mapPeaks</span><span class="p">,</span><span class="n">c</span><span class="p">,</span><span class="n">reverse</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
    5173                 <span class="k">elif</span> <span class="n">colLabels</span><span class="p">[</span><span class="n">c</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;x&#39;</span><span class="p">,</span><span class="s">&#39;y&#39;</span><span class="p">,</span><span class="s">&#39;z&#39;</span><span class="p">,</span><span class="s">&#39;dzero&#39;</span><span class="p">]:</span>
     5512                <span class="k">elif</span> <span class="n">colLabels</span><span class="p">[</span><span class="n">c</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;x&#39;</span><span class="p">,</span><span class="s">&#39;y&#39;</span><span class="p">,</span><span class="s">&#39;z&#39;</span><span class="p">,</span><span class="s">&#39;dzero&#39;</span><span class="p">,</span><span class="s">&#39;dcent&#39;</span><span class="p">]:</span>     <span class="c">#small to big</span>
    51745513                    <span class="n">mapPeaks</span> <span class="o">=</span> <span class="n">G2mth</span><span class="o">.</span><span class="n">sortArray</span><span class="p">(</span><span class="n">mapPeaks</span><span class="p">,</span><span class="n">c</span><span class="p">)</span>
    51755514                <span class="k">else</span><span class="p">:</span>
     
    51795518            <span class="n">G2plt</span><span class="o">.</span><span class="n">PlotStructure</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">data</span><span class="p">)</span>                   
    51805519           
    5181         <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">setSizePosLeft</span><span class="p">([</span><span class="mi">450</span><span class="p">,</span><span class="mi">300</span><span class="p">])</span>
     5520        <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">setSizePosLeft</span><span class="p">([</span><span class="mi">500</span><span class="p">,</span><span class="mi">300</span><span class="p">])</span>
    51825521        <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">SetStatusText</span><span class="p">(</span><span class="s">&#39;&#39;</span><span class="p">)</span>
    51835522        <span class="k">if</span> <span class="s">&#39;Map Peaks&#39;</span> <span class="ow">in</span> <span class="n">data</span><span class="p">:</span>
    5184             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">SetStatusText</span><span class="p">(</span><span class="s">&#39;Select mag or dzero columns to sort&#39;</span><span class="p">)</span>
     5523            <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">SetStatusText</span><span class="p">(</span><span class="s">&#39;Double click any column heading to sort&#39;</span><span class="p">)</span>
    51855524            <span class="n">mapPeaks</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;Map Peaks&#39;</span><span class="p">]</span>                       
    51865525            <span class="n">rowLabels</span> <span class="o">=</span> <span class="p">[]</span>
    51875526            <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">mapPeaks</span><span class="p">)):</span> <span class="n">rowLabels</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">))</span>
    5188             <span class="n">colLabels</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39;mag&#39;</span><span class="p">,</span><span class="s">&#39;x&#39;</span><span class="p">,</span><span class="s">&#39;y&#39;</span><span class="p">,</span><span class="s">&#39;z&#39;</span><span class="p">,</span><span class="s">&#39;dzero&#39;</span><span class="p">]</span>
    5189             <span class="n">Types</span> <span class="o">=</span> <span class="mi">5</span><span class="o">*</span><span class="p">[</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_FLOAT</span><span class="o">+</span><span class="s">&#39;:10,4&#39;</span><span class="p">,]</span>
     5527            <span class="n">colLabels</span> <span class="o">=</span> <span class="p">[</span><span class="s">&#39;mag&#39;</span><span class="p">,</span><span class="s">&#39;x&#39;</span><span class="p">,</span><span class="s">&#39;y&#39;</span><span class="p">,</span><span class="s">&#39;z&#39;</span><span class="p">,</span><span class="s">&#39;dzero&#39;</span><span class="p">,</span><span class="s">&#39;dcent&#39;</span><span class="p">]</span>
     5528            <span class="n">Types</span> <span class="o">=</span> <span class="mi">6</span><span class="o">*</span><span class="p">[</span><span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_FLOAT</span><span class="o">+</span><span class="s">&#39;:10,4&#39;</span><span class="p">,]</span>
    51905529            <span class="n">G2frame</span><span class="o">.</span><span class="n">MapPeaksTable</span> <span class="o">=</span> <span class="n">G2gd</span><span class="o">.</span><span class="n">Table</span><span class="p">(</span><span class="n">mapPeaks</span><span class="p">,</span><span class="n">rowLabels</span><span class="o">=</span><span class="n">rowLabels</span><span class="p">,</span><span class="n">colLabels</span><span class="o">=</span><span class="n">colLabels</span><span class="p">,</span><span class="n">types</span><span class="o">=</span><span class="n">Types</span><span class="p">)</span>
    51915530            <span class="n">MapPeaks</span><span class="o">.</span><span class="n">SetTable</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">MapPeaksTable</span><span class="p">,</span> <span class="bp">True</span><span class="p">)</span>
     
    52035542            <span class="n">Ind</span> <span class="o">=</span> <span class="n">MapPeaks</span><span class="o">.</span><span class="n">GetSelectedRows</span><span class="p">()</span>
    52045543            <span class="k">for</span> <span class="n">ind</span> <span class="ow">in</span> <span class="n">Ind</span><span class="p">:</span>
    5205                 <span class="n">mag</span><span class="p">,</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">,</span><span class="n">z</span><span class="p">,</span><span class="n">d</span> <span class="o">=</span> <span class="n">mapPeaks</span><span class="p">[</span><span class="n">ind</span><span class="p">]</span>
     5544                <span class="n">mag</span><span class="p">,</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">,</span><span class="n">z</span> <span class="o">=</span> <span class="n">mapPeaks</span><span class="p">[</span><span class="n">ind</span><span class="p">][:</span><span class="mi">4</span><span class="p">]</span>
    52065545                <span class="n">AtomAdd</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">y</span><span class="p">,</span><span class="n">z</span><span class="p">,</span><span class="s">&#39;H&#39;</span><span class="p">,</span><span class="n">Name</span><span class="o">=</span><span class="s">&#39;M &#39;</span><span class="o">+</span><span class="s">&#39;</span><span class="si">%d</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="mi">100</span><span class="o">*</span><span class="n">mag</span><span class="o">/</span><span class="n">peakMax</span><span class="p">)))</span>
    52075546            <span class="n">G2plt</span><span class="o">.</span><span class="n">PlotStructure</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">data</span><span class="p">)</span>
     
    53215660        <span class="n">generalData</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;General&#39;</span><span class="p">]</span>
    53225661        <span class="n">mapData</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Map&#39;</span><span class="p">]</span>
    5323         <span class="n">reflName</span> <span class="o">=</span> <span class="n">mapData</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">]</span>
    5324         <span class="k">if</span> <span class="ow">not</span> <span class="n">reflName</span><span class="p">:</span>
    5325             <span class="n">G2frame</span><span class="o">.</span><span class="n">ErrorDialog</span><span class="p">(</span><span class="s">&#39;Fourier map&#39;</span><span class="p">,</span><span class="s">&#39;No reflections defined for Fourier map&#39;</span><span class="p">)</span>
     5662        <span class="n">reflNames</span> <span class="o">=</span> <span class="n">mapData</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">]</span>
     5663        <span class="k">if</span> <span class="ow">not</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Map&#39;</span><span class="p">][</span><span class="s">&#39;MapType&#39;</span><span class="p">]:</span>
     5664            <span class="n">G2frame</span><span class="o">.</span><span class="n">ErrorDialog</span><span class="p">(</span><span class="s">&#39;Fourier map error&#39;</span><span class="p">,</span><span class="s">&#39;Fourier map type not defined&#39;</span><span class="p">)</span>
     5665            <span class="k">return</span>
     5666        <span class="k">if</span> <span class="ow">not</span> <span class="nb">len</span><span class="p">(</span><span class="n">reflNames</span><span class="p">):</span>
     5667            <span class="n">G2frame</span><span class="o">.</span><span class="n">ErrorDialog</span><span class="p">(</span><span class="s">&#39;Fourier map error&#39;</span><span class="p">,</span><span class="s">&#39;No reflections defined for Fourier map&#39;</span><span class="p">)</span>
    53265668            <span class="k">return</span>
    53275669        <span class="n">phaseName</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Name&#39;</span><span class="p">]</span>
    5328         <span class="k">if</span> <span class="s">&#39;PWDR&#39;</span> <span class="ow">in</span> <span class="n">reflName</span><span class="p">:</span>
    5329             <span class="n">PatternId</span> <span class="o">=</span> <span class="n">G2gd</span><span class="o">.</span><span class="n">GetPatternTreeItemId</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">G2frame</span><span class="o">.</span><span class="n">root</span><span class="p">,</span> <span class="n">reflName</span><span class="p">)</span>
    5330             <span class="n">reflSets</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemPyData</span><span class="p">(</span><span class="n">G2gd</span><span class="o">.</span><span class="n">GetPatternTreeItemId</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">PatternId</span><span class="p">,</span><span class="s">&#39;Reflection Lists&#39;</span><span class="p">))</span>
    5331             <span class="n">reflData</span> <span class="o">=</span> <span class="n">reflSets</span><span class="p">[</span><span class="n">phaseName</span><span class="p">]</span>
    5332             <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">reflData</span><span class="p">,</span><span class="nb">list</span><span class="p">):</span>       <span class="c">#patch for old reflection data</span>
    5333                 <span class="n">RefData</span> <span class="o">=</span> <span class="p">{</span><span class="s">&#39;RefList&#39;</span><span class="p">:[],</span><span class="s">&#39;FF&#39;</span><span class="p">:[]}</span>
    5334                 <span class="k">for</span> <span class="n">ref</span> <span class="ow">in</span> <span class="n">reflData</span><span class="p">:</span>
    5335                     <span class="n">RefData</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">ref</span><span class="p">[:</span><span class="mi">11</span><span class="p">]</span><span class="o">+</span><span class="p">[</span><span class="n">ref</span><span class="p">[</span><span class="mi">13</span><span class="p">],])</span>
    5336                     <span class="n">RefData</span><span class="p">[</span><span class="s">&#39;FF&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">ref</span><span class="p">[</span><span class="mi">14</span><span class="p">])</span>
    5337                 <span class="n">RefData</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">RefData</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">])</span>
    5338                 <span class="n">reflData</span> <span class="o">=</span> <span class="n">RefData</span>
    5339         <span class="k">elif</span> <span class="s">&#39;HKLF&#39;</span> <span class="ow">in</span> <span class="n">reflName</span><span class="p">:</span>
    5340             <span class="n">PatternId</span> <span class="o">=</span> <span class="n">G2gd</span><span class="o">.</span><span class="n">GetPatternTreeItemId</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">G2frame</span><span class="o">.</span><span class="n">root</span><span class="p">,</span> <span class="n">reflName</span><span class="p">)</span>
    5341             <span class="n">reflData</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemPyData</span><span class="p">(</span><span class="n">PatternId</span><span class="p">)[</span><span class="mi">1</span><span class="p">]</span>
     5670        <span class="n">ReflData</span> <span class="o">=</span> <span class="n">GetReflData</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">phaseName</span><span class="p">,</span><span class="n">reflNames</span><span class="p">)</span>
     5671        <span class="k">if</span> <span class="n">ReflData</span> <span class="o">==</span> <span class="bp">None</span><span class="p">:</span> <span class="k">return</span>
    53425672        <span class="k">if</span> <span class="s">&#39;Omit&#39;</span> <span class="ow">in</span> <span class="n">mapData</span><span class="p">[</span><span class="s">&#39;MapType&#39;</span><span class="p">]:</span>
    53435673            <span class="n">pgbar</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">ProgressDialog</span><span class="p">(</span><span class="s">&#39;Omit map&#39;</span><span class="p">,</span><span class="s">&#39;Blocks done&#39;</span><span class="p">,</span><span class="mi">65</span><span class="p">,</span>
    53445674            <span class="n">style</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">PD_ELAPSED_TIME</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">PD_AUTO_HIDE</span><span class="p">)</span>
    5345             <span class="n">mapData</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">G2mth</span><span class="o">.</span><span class="n">OmitMap</span><span class="p">(</span><span class="n">data</span><span class="p">,</span><span class="n">reflData</span><span class="p">,</span><span class="n">pgbar</span><span class="p">))</span>
     5675            <span class="n">mapData</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">G2mth</span><span class="o">.</span><span class="n">OmitMap</span><span class="p">(</span><span class="n">data</span><span class="p">,</span><span class="n">ReflData</span><span class="p">,</span><span class="n">pgbar</span><span class="p">))</span>
    53465676            <span class="n">pgbar</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span>
    53475677        <span class="k">else</span><span class="p">:</span>
    5348             <span class="n">mapData</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">G2mth</span><span class="o">.</span><span class="n">FourierMap</span><span class="p">(</span><span class="n">data</span><span class="p">,</span><span class="n">reflData</span><span class="p">))</span>
     5678            <span class="n">mapData</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">G2mth</span><span class="o">.</span><span class="n">FourierMap</span><span class="p">(</span><span class="n">data</span><span class="p">,</span><span class="n">ReflData</span><span class="p">))</span>
    53495679        <span class="n">mapData</span><span class="p">[</span><span class="s">&#39;Flip&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">False</span>
    53505680        <span class="n">mapSig</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">std</span><span class="p">(</span><span class="n">mapData</span><span class="p">[</span><span class="s">&#39;rho&#39;</span><span class="p">])</span>
     
    53595689    <span class="k">def</span> <span class="nf">OnFourClear</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
    53605690        <span class="n">generalData</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;General&#39;</span><span class="p">]</span>
    5361         <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Map&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">mapDefault</span>
     5691        <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Map&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">mapDefault</span><span class="o">.</span><span class="n">copy</span><span class="p">()</span>
    53625692        <span class="n">G2plt</span><span class="o">.</span><span class="n">PlotStructure</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">data</span><span class="p">)</span>
    53635693       
     5694<span class="c"># map printing for testing purposes</span>
    53645695    <span class="k">def</span> <span class="nf">printRho</span><span class="p">(</span><span class="n">SGLaue</span><span class="p">,</span><span class="n">rho</span><span class="p">,</span><span class="n">rhoMax</span><span class="p">):</span>                         
    5365 <span class="c"># map printing for testing purposes</span>
    53665696        <span class="n">dim</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">rho</span><span class="o">.</span><span class="n">shape</span><span class="p">)</span>
    53675697        <span class="k">if</span> <span class="n">dim</span> <span class="o">==</span> <span class="mi">2</span><span class="p">:</span>
     
    53915721    <span class="k">def</span> <span class="nf">OnSearchMaps</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
    53925722                                   
    5393         <span class="n">peaks</span> <span class="o">=</span> <span class="p">[]</span>
    5394         <span class="n">mags</span> <span class="o">=</span> <span class="p">[]</span>
    53955723        <span class="k">print</span> <span class="s">&#39; Begin fourier map search - can take some time&#39;</span>
    53965724        <span class="n">time0</span> <span class="o">=</span> <span class="n">time</span><span class="o">.</span><span class="n">time</span><span class="p">()</span>
    53975725        <span class="n">generalData</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;General&#39;</span><span class="p">]</span>
     5726        <span class="n">drawingData</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;Drawing&#39;</span><span class="p">]</span>
    53985727        <span class="n">mapData</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Map&#39;</span><span class="p">]</span>
    53995728        <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">mapData</span><span class="p">[</span><span class="s">&#39;rho&#39;</span><span class="p">]):</span>
    54005729            <span class="n">wx</span><span class="o">.</span><span class="n">BeginBusyCursor</span><span class="p">()</span>
    54015730            <span class="k">try</span><span class="p">:</span>
    5402                 <span class="n">peaks</span><span class="p">,</span><span class="n">mags</span><span class="p">,</span><span class="n">dzeros</span> <span class="o">=</span> <span class="n">G2mth</span><span class="o">.</span><span class="n">SearchMap</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
     5731                <span class="n">peaks</span><span class="p">,</span><span class="n">mags</span><span class="p">,</span><span class="n">dzeros</span><span class="p">,</span><span class="n">dcents</span> <span class="o">=</span> <span class="n">G2mth</span><span class="o">.</span><span class="n">SearchMap</span><span class="p">(</span><span class="n">generalData</span><span class="p">,</span><span class="n">drawingData</span><span class="p">)</span>
     5732                <span class="k">if</span> <span class="s">&#39;N&#39;</span> <span class="ow">in</span> <span class="n">mapData</span><span class="p">[</span><span class="s">&#39;Type&#39;</span><span class="p">]:</span>      <span class="c">#look for negatives in neutron maps</span>
     5733                    <span class="n">npeaks</span><span class="p">,</span><span class="n">nmags</span><span class="p">,</span><span class="n">ndzeros</span><span class="p">,</span><span class="n">ndcents</span> <span class="o">=</span> <span class="n">G2mth</span><span class="o">.</span><span class="n">SearchMap</span><span class="p">(</span><span class="n">generalData</span><span class="p">,</span><span class="n">drawingData</span><span class="p">,</span><span class="n">Neg</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
     5734                    <span class="n">peaks</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">concatenate</span><span class="p">((</span><span class="n">peaks</span><span class="p">,</span><span class="n">npeaks</span><span class="p">))</span>
     5735                    <span class="n">mags</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">concatenate</span><span class="p">((</span><span class="n">mags</span><span class="p">,</span><span class="n">nmags</span><span class="p">))</span>
     5736                    <span class="n">dzeros</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">concatenate</span><span class="p">((</span><span class="n">dzeros</span><span class="p">,</span><span class="n">ndzeros</span><span class="p">))</span>
     5737                    <span class="n">dcents</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">concatenate</span><span class="p">((</span><span class="n">dcents</span><span class="p">,</span><span class="n">ndcents</span><span class="p">))</span>
    54035738            <span class="k">finally</span><span class="p">:</span>
    54045739                <span class="n">wx</span><span class="o">.</span><span class="n">EndBusyCursor</span><span class="p">()</span>
    54055740            <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">peaks</span><span class="p">):</span>
    5406                 <span class="n">mapPeaks</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">concatenate</span><span class="p">((</span><span class="n">mags</span><span class="p">,</span><span class="n">peaks</span><span class="p">,</span><span class="n">dzeros</span><span class="p">),</span><span class="n">axis</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
     5741                <span class="n">mapPeaks</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">concatenate</span><span class="p">((</span><span class="n">mags</span><span class="p">,</span><span class="n">peaks</span><span class="p">,</span><span class="n">dzeros</span><span class="p">,</span><span class="n">dcents</span><span class="p">),</span><span class="n">axis</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
    54075742                <span class="n">data</span><span class="p">[</span><span class="s">&#39;Map Peaks&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">G2mth</span><span class="o">.</span><span class="n">sortArray</span><span class="p">(</span><span class="n">mapPeaks</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">reverse</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>           
    54085743            <span class="k">print</span> <span class="s">&#39; Map search finished, time = </span><span class="si">%.2f</span><span class="s">s&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">time</span><span class="o">.</span><span class="n">time</span><span class="p">()</span><span class="o">-</span><span class="n">time0</span><span class="p">)</span>
     
    54145749        <span class="k">else</span><span class="p">:</span>
    54155750            <span class="k">print</span> <span class="s">&#39;No map available&#39;</span>
     5751           
     5752    <span class="k">def</span> <span class="nf">On4DChargeFlip</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
     5753        <span class="n">generalData</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;General&#39;</span><span class="p">]</span>
     5754        <span class="n">mapData</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Map&#39;</span><span class="p">]</span>
     5755        <span class="n">map4DData</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;4DmapData&#39;</span><span class="p">]</span>
     5756        <span class="n">flipData</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Flip&#39;</span><span class="p">]</span>
     5757        <span class="n">reflNames</span> <span class="o">=</span> <span class="n">flipData</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">]</span>
     5758        <span class="k">if</span> <span class="ow">not</span> <span class="nb">len</span><span class="p">(</span><span class="n">reflNames</span><span class="p">):</span>
     5759            <span class="n">G2frame</span><span class="o">.</span><span class="n">ErrorDialog</span><span class="p">(</span><span class="s">&#39;Charge flip error&#39;</span><span class="p">,</span><span class="s">&#39;No reflections defined for charge flipping&#39;</span><span class="p">)</span>
     5760            <span class="k">return</span>
     5761        <span class="n">phaseName</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Name&#39;</span><span class="p">]</span>
     5762        <span class="n">ReflData</span> <span class="o">=</span> <span class="n">GetReflData</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">phaseName</span><span class="p">,</span><span class="n">reflNames</span><span class="p">)</span>
     5763        <span class="k">if</span> <span class="n">ReflData</span> <span class="o">==</span> <span class="bp">None</span><span class="p">:</span> <span class="k">return</span>
     5764        <span class="n">pgbar</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">ProgressDialog</span><span class="p">(</span><span class="s">&#39;Charge flipping&#39;</span><span class="p">,</span><span class="s">&#39;Residual Rcf =&#39;</span><span class="p">,</span><span class="mf">101.0</span><span class="p">,</span>
     5765            <span class="n">style</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">PD_ELAPSED_TIME</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">PD_AUTO_HIDE</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">PD_CAN_ABORT</span><span class="p">)</span>
     5766        <span class="n">screenSize</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">ClientDisplayRect</span><span class="p">()</span>
     5767        <span class="n">Size</span> <span class="o">=</span> <span class="n">pgbar</span><span class="o">.</span><span class="n">GetSize</span><span class="p">()</span>
     5768        <span class="k">if</span> <span class="mi">50</span> <span class="o">&lt;</span> <span class="n">Size</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">&lt;</span> <span class="mi">500</span><span class="p">:</span> <span class="c"># sanity check on size, since this fails w/Win &amp; wx3.0</span>
     5769            <span class="n">pgbar</span><span class="o">.</span><span class="n">SetSize</span><span class="p">((</span><span class="nb">int</span><span class="p">(</span><span class="n">Size</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="mf">1.2</span><span class="p">),</span><span class="n">Size</span><span class="p">[</span><span class="mi">1</span><span class="p">]))</span> <span class="c"># increase size a bit along x</span>
     5770            <span class="n">pgbar</span><span class="o">.</span><span class="n">SetPosition</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">Point</span><span class="p">(</span><span class="n">screenSize</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">-</span><span class="n">Size</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">-</span><span class="mi">305</span><span class="p">,</span><span class="n">screenSize</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">+</span><span class="mi">5</span><span class="p">))</span>
     5771        <span class="k">try</span><span class="p">:</span>
     5772            <span class="n">newMap</span><span class="p">,</span><span class="n">new4Dmap</span> <span class="o">=</span> <span class="n">G2mth</span><span class="o">.</span><span class="n">SSChargeFlip</span><span class="p">(</span><span class="n">data</span><span class="p">,</span><span class="n">ReflData</span><span class="p">,</span><span class="n">pgbar</span><span class="p">)</span>
     5773        <span class="k">finally</span><span class="p">:</span>
     5774            <span class="n">pgbar</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span>
     5775        <span class="n">mapData</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">newMap</span><span class="p">)</span>
     5776        <span class="n">map4DData</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">new4Dmap</span><span class="p">)</span>
     5777        <span class="n">mapData</span><span class="p">[</span><span class="s">&#39;Flip&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">True</span>       
     5778        <span class="n">mapSig</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">std</span><span class="p">(</span><span class="n">mapData</span><span class="p">[</span><span class="s">&#39;rho&#39;</span><span class="p">])</span>
     5779        <span class="k">if</span> <span class="ow">not</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;Drawing&#39;</span><span class="p">]:</span>                 <span class="c">#if new drawing - no drawing data!</span>
     5780            <span class="n">SetupDrawingData</span><span class="p">()</span>
     5781        <span class="n">data</span><span class="p">[</span><span class="s">&#39;Drawing&#39;</span><span class="p">][</span><span class="s">&#39;contourLevel&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="mf">1.</span>
     5782        <span class="n">data</span><span class="p">[</span><span class="s">&#39;Drawing&#39;</span><span class="p">][</span><span class="s">&#39;mapSize&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="mf">10.</span>
     5783        <span class="k">print</span> <span class="s">&#39; 4D Charge flip map computed: rhomax = </span><span class="si">%.3f</span><span class="s"> rhomin = </span><span class="si">%.3f</span><span class="s"> sigma = </span><span class="si">%.3f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">mapData</span><span class="p">[</span><span class="s">&#39;rho&#39;</span><span class="p">]),</span><span class="n">np</span><span class="o">.</span><span class="n">min</span><span class="p">(</span><span class="n">mapData</span><span class="p">[</span><span class="s">&#39;rho&#39;</span><span class="p">]),</span><span class="n">mapSig</span><span class="p">)</span>
     5784        <span class="k">if</span> <span class="n">mapData</span><span class="p">[</span><span class="s">&#39;Rcf&#39;</span><span class="p">]</span> <span class="o">&lt;</span> <span class="mf">99.</span><span class="p">:</span>
     5785            <span class="n">OnSearchMaps</span><span class="p">(</span><span class="n">event</span><span class="p">)</span>             <span class="c">#does a plot structure at end</span>
     5786        <span class="k">else</span><span class="p">:</span>
     5787            <span class="k">print</span> <span class="s">&#39;Bad charge flip map - no peak search done&#39;</span>
    54165788       
    54175789    <span class="k">def</span> <span class="nf">OnChargeFlip</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
     
    54195791        <span class="n">mapData</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Map&#39;</span><span class="p">]</span>
    54205792        <span class="n">flipData</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Flip&#39;</span><span class="p">]</span>
    5421         <span class="n">reflName</span> <span class="o">=</span> <span class="n">flipData</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">]</span>
     5793        <span class="n">reflNames</span> <span class="o">=</span> <span class="n">flipData</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">]</span>
     5794        <span class="k">if</span> <span class="ow">not</span> <span class="nb">len</span><span class="p">(</span><span class="n">reflNames</span><span class="p">):</span>
     5795            <span class="n">G2frame</span><span class="o">.</span><span class="n">ErrorDialog</span><span class="p">(</span><span class="s">&#39;Charge flip error&#39;</span><span class="p">,</span><span class="s">&#39;No reflections defined for charge flipping&#39;</span><span class="p">)</span>
     5796            <span class="k">return</span>
    54225797        <span class="n">phaseName</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">&#39;Name&#39;</span><span class="p">]</span>
    5423         <span class="k">if</span> <span class="s">&#39;PWDR&#39;</span> <span class="ow">in</span> <span class="n">reflName</span><span class="p">:</span>
    5424             <span class="n">PatternId</span> <span class="o">=</span> <span class="n">G2gd</span><span class="o">.</span><span class="n">GetPatternTreeItemId</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">G2frame</span><span class="o">.</span><span class="n">root</span><span class="p">,</span> <span class="n">reflName</span><span class="p">)</span>
    5425             <span class="n">reflSets</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemPyData</span><span class="p">(</span><span class="n">G2gd</span><span class="o">.</span><span class="n">GetPatternTreeItemId</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">PatternId</span><span class="p">,</span><span class="s">&#39;Reflection Lists&#39;</span><span class="p">))</span>
    5426             <span class="n">reflDict</span> <span class="o">=</span> <span class="n">reflSets</span><span class="p">[</span><span class="n">phaseName</span><span class="p">]</span>
    5427             <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">reflDict</span><span class="p">,</span><span class="nb">list</span><span class="p">):</span>       <span class="c">#patch for old reflection data</span>
    5428                 <span class="n">RefData</span> <span class="o">=</span> <span class="p">{</span><span class="s">&#39;RefList&#39;</span><span class="p">:[],</span><span class="s">&#39;FF&#39;</span><span class="p">:[]}</span>
    5429                 <span class="k">for</span> <span class="n">ref</span> <span class="ow">in</span> <span class="n">reflDict</span><span class="p">:</span>
    5430                     <span class="n">RefData</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">ref</span><span class="p">[:</span><span class="mi">11</span><span class="p">]</span><span class="o">+</span><span class="p">[</span><span class="n">ref</span><span class="p">[</span><span class="mi">13</span><span class="p">],])</span>
    5431                     <span class="n">RefData</span><span class="p">[</span><span class="s">&#39;FF&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">ref</span><span class="p">[</span><span class="mi">14</span><span class="p">])</span>
    5432                 <span class="n">RefData</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">RefData</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">])</span>
    5433                 <span class="n">reflDict</span> <span class="o">=</span> <span class="n">RefData</span>
    5434         <span class="k">elif</span> <span class="s">&#39;HKLF&#39;</span> <span class="ow">in</span> <span class="n">reflName</span><span class="p">:</span>
    5435             <span class="n">PatternId</span> <span class="o">=</span> <span class="n">G2gd</span><span class="o">.</span><span class="n">GetPatternTreeItemId</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">G2frame</span><span class="o">.</span><span class="n">root</span><span class="p">,</span> <span class="n">reflName</span><span class="p">)</span>
    5436             <span class="n">reflDict</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemPyData</span><span class="p">(</span><span class="n">PatternId</span><span class="p">)[</span><span class="mi">1</span><span class="p">]</span>
    5437         <span class="k">else</span><span class="p">:</span>
    5438             <span class="k">print</span> <span class="s">&#39;**** ERROR - No data defined for charge flipping&#39;</span>
    5439             <span class="k">return</span>
     5798        <span class="n">ReflData</span> <span class="o">=</span> <span class="n">GetReflData</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">phaseName</span><span class="p">,</span><span class="n">reflNames</span><span class="p">)</span>
     5799        <span class="k">if</span> <span class="n">ReflData</span> <span class="o">==</span> <span class="bp">None</span><span class="p">:</span> <span class="k">return</span>
    54405800        <span class="n">pgbar</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">ProgressDialog</span><span class="p">(</span><span class="s">&#39;Charge flipping&#39;</span><span class="p">,</span><span class="s">&#39;Residual Rcf =&#39;</span><span class="p">,</span><span class="mf">101.0</span><span class="p">,</span>
    54415801            <span class="n">style</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">PD_ELAPSED_TIME</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">PD_AUTO_HIDE</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">PD_CAN_ABORT</span><span class="p">)</span>
    54425802        <span class="n">screenSize</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">ClientDisplayRect</span><span class="p">()</span>
    54435803        <span class="n">Size</span> <span class="o">=</span> <span class="n">pgbar</span><span class="o">.</span><span class="n">GetSize</span><span class="p">()</span>
    5444         <span class="n">Size</span> <span class="o">=</span> <span class="p">(</span><span class="nb">int</span><span class="p">(</span><span class="n">Size</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="mf">1.2</span><span class="p">),</span><span class="n">Size</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span> <span class="c"># increase size a bit along x</span>
    5445         <span class="n">pgbar</span><span class="o">.</span><span class="n">SetPosition</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">Point</span><span class="p">(</span><span class="n">screenSize</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">-</span><span class="n">Size</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">-</span><span class="mi">305</span><span class="p">,</span><span class="n">screenSize</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">+</span><span class="mi">5</span><span class="p">))</span>
    5446         <span class="n">pgbar</span><span class="o">.</span><span class="n">SetSize</span><span class="p">(</span><span class="n">Size</span><span class="p">)</span>
     5804        <span class="k">if</span> <span class="mi">50</span> <span class="o">&lt;</span> <span class="n">Size</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">&lt;</span> <span class="mi">500</span><span class="p">:</span> <span class="c"># sanity check on size, since this fails w/Win &amp; wx3.0</span>
     5805            <span class="n">pgbar</span><span class="o">.</span><span class="n">SetSize</span><span class="p">((</span><span class="nb">int</span><span class="p">(</span><span class="n">Size</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">*</span><span class="mf">1.2</span><span class="p">),</span><span class="n">Size</span><span class="p">[</span><span class="mi">1</span><span class="p">]))</span> <span class="c"># increase size a bit along x</span>
     5806            <span class="n">pgbar</span><span class="o">.</span><span class="n">SetPosition</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">Point</span><span class="p">(</span><span class="n">screenSize</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">-</span><span class="n">Size</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">-</span><span class="mi">305</span><span class="p">,</span><span class="n">screenSize</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">+</span><span class="mi">5</span><span class="p">))</span>
    54475807        <span class="k">try</span><span class="p">:</span>
    5448             <span class="n">mapData</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">G2mth</span><span class="o">.</span><span class="n">ChargeFlip</span><span class="p">(</span><span class="n">data</span><span class="p">,</span><span class="n">reflDict</span><span class="p">,</span><span class="n">pgbar</span><span class="p">))</span>
     5808            <span class="n">mapData</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">G2mth</span><span class="o">.</span><span class="n">ChargeFlip</span><span class="p">(</span><span class="n">data</span><span class="p">,</span><span class="n">ReflData</span><span class="p">,</span><span class="n">pgbar</span><span class="p">))</span>
    54495809        <span class="k">finally</span><span class="p">:</span>
    54505810            <span class="n">pgbar</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span>
     
    54695829        <span class="n">event</span><span class="o">.</span><span class="n">Skip</span><span class="p">()</span>
    54705830
    5471     <span class="k">def</span> <span class="nf">FillSelectPageMenu</span><span class="p">(</span><span class="n">menuBar</span><span class="p">):</span>
    5472         <span class="sd">&#39;&#39;&#39;Assign bindings to the menu buttons to switch between phase tabs;</span>
    5473 <span class="sd">        define a dictionary with the page index for each tab</span>
     5831    <span class="k">def</span> <span class="nf">FillSelectPageMenu</span><span class="p">(</span><span class="n">TabSelectionIdDict</span><span class="p">,</span> <span class="n">menuBar</span><span class="p">):</span>
     5832        <span class="sd">&#39;&#39;&#39;Fill &quot;Select tab&quot; menu with menu items for each tab and assign</span>
     5833<span class="sd">        bindings to the menu ietm to switch between phase tabs</span>
    54745834<span class="sd">        &#39;&#39;&#39;</span>
    54755835        <span class="k">def</span> <span class="nf">OnSelectPage</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
    54765836            <span class="s">&#39;Called when an item is selected from the Select page menu&#39;</span>
    5477             <span class="n">page</span> <span class="o">=</span> <span class="n">Pagedict</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">event</span><span class="o">.</span><span class="n">GetId</span><span class="p">())</span>
    5478             <span class="k">if</span> <span class="n">page</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="o">.</span><span class="n">SetSelection</span><span class="p">(</span><span class="n">page</span><span class="p">)</span>
     5837            <span class="c"># lookup the menu item that called us and get its text</span>
     5838            <span class="n">tabname</span> <span class="o">=</span> <span class="n">TabSelectionIdDict</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">event</span><span class="o">.</span><span class="n">GetId</span><span class="p">())</span>
     5839            <span class="k">if</span> <span class="ow">not</span> <span class="n">tabname</span><span class="p">:</span>
     5840                <span class="k">print</span> <span class="s">&#39;Warning: menu item not in dict! id=&#39;</span><span class="p">,</span><span class="n">event</span><span class="o">.</span><span class="n">GetId</span><span class="p">()</span>
     5841                <span class="k">return</span>               
     5842            <span class="c"># find the matching tab</span>
     5843            <span class="k">for</span> <span class="n">PageNum</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="o">.</span><span class="n">GetPageCount</span><span class="p">()):</span>
     5844                <span class="k">if</span> <span class="n">tabname</span> <span class="o">==</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="o">.</span><span class="n">GetPageText</span><span class="p">(</span><span class="n">PageNum</span><span class="p">):</span>
     5845                    <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="o">.</span><span class="n">SetSelection</span><span class="p">(</span><span class="n">PageNum</span><span class="p">)</span>
     5846                    <span class="k">return</span>
     5847            <span class="k">else</span><span class="p">:</span>
     5848                <span class="k">print</span> <span class="s">&quot;Warning: tab &quot;</span><span class="o">+</span><span class="n">tabname</span><span class="o">+</span><span class="s">&quot; was not found&quot;</span>
    54795849        <span class="n">mid</span> <span class="o">=</span> <span class="n">menuBar</span><span class="o">.</span><span class="n">FindMenu</span><span class="p">(</span><span class="s">&#39;Select tab&#39;</span><span class="p">)</span>
    5480         <span class="n">Pagedict</span> <span class="o">=</span> <span class="p">{}</span>
     5850        <span class="n">menu</span> <span class="o">=</span> <span class="n">menuBar</span><span class="o">.</span><span class="n">GetMenu</span><span class="p">(</span><span class="n">mid</span><span class="p">)</span>
    54815851        <span class="k">for</span> <span class="n">ipage</span><span class="p">,</span><span class="n">page</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">Pages</span><span class="p">):</span>
    5482             <span class="n">menu</span> <span class="o">=</span> <span class="n">menuBar</span><span class="o">.</span><span class="n">GetMenu</span><span class="p">(</span><span class="n">mid</span><span class="p">)</span>
    5483             <span class="k">if</span> <span class="n">menu</span><span class="o">.</span><span class="n">FindItem</span><span class="p">(</span><span class="n">page</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="p">:</span>
     5852            <span class="k">if</span> <span class="n">menu</span><span class="o">.</span><span class="n">FindItem</span><span class="p">(</span><span class="n">page</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="p">:</span> <span class="c"># is tab already in menu?</span>
    54845853                <span class="n">Id</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">NewId</span><span class="p">()</span>
     5854                <span class="n">TabSelectionIdDict</span><span class="p">[</span><span class="n">Id</span><span class="p">]</span> <span class="o">=</span> <span class="n">page</span>
    54855855                <span class="n">menu</span><span class="o">.</span><span class="n">Append</span><span class="p">(</span><span class="nb">id</span><span class="o">=</span><span class="n">Id</span><span class="p">,</span><span class="n">kind</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">ITEM_NORMAL</span><span class="p">,</span><span class="n">text</span><span class="o">=</span><span class="n">page</span><span class="p">)</span>
    54865856                <span class="n">G2frame</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="n">OnSelectPage</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">Id</span><span class="p">)</span>
    5487                 <span class="n">Pagedict</span><span class="p">[</span><span class="n">Id</span><span class="p">]</span> <span class="o">=</span> <span class="n">ipage</span>
    5488 
    54895857       
    54905858    <span class="k">def</span> <span class="nf">OnPageChanged</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
     
    54995867       
    55005868    <span class="k">def</span> <span class="nf">ChangePage</span><span class="p">(</span><span class="n">page</span><span class="p">):</span>
    5501         <span class="c"># development: Log Tab Selection</span>
    5502         <span class="c">#G2gd.LogTabPress(G2frame,page)</span>
    55035869        <span class="n">text</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="o">.</span><span class="n">GetPageText</span><span class="p">(</span><span class="n">page</span><span class="p">)</span>
    5504 <span class="c">#        print &#39;Select&#39;,page,text</span>
    55055870        <span class="k">if</span> <span class="n">text</span> <span class="o">==</span> <span class="s">&#39;General&#39;</span><span class="p">:</span>
    55065871            <span class="n">G2gd</span><span class="o">.</span><span class="n">SetDataMenuBar</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">DataGeneral</span><span class="p">)</span>
    5507             <span class="n">FillSelectPageMenu</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">DataGeneral</span><span class="p">)</span>
    5508             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">OnFourierMaps</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_FOURCALC</span><span class="p">)</span>
    5509             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">OnSearchMaps</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_FOURSEARCH</span><span class="p">)</span>
    5510             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">OnChargeFlip</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_CHARGEFLIP</span><span class="p">)</span>
    5511             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">OnFourClear</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_FOURCLEAR</span><span class="p">)</span>
    5512             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">OnRunSingleMCSA</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_SINGLEMCSA</span><span class="p">)</span>
    5513             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">OnRunMultiMCSA</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_MULTIMCSA</span><span class="p">)</span>
    55145872            <span class="n">UpdateGeneral</span><span class="p">()</span>
    55155873        <span class="k">elif</span> <span class="n">text</span> <span class="o">==</span> <span class="s">&#39;Data&#39;</span><span class="p">:</span>
    55165874            <span class="n">G2gd</span><span class="o">.</span><span class="n">SetDataMenuBar</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">DataMenu</span><span class="p">)</span>
    5517             <span class="n">FillSelectPageMenu</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">DataMenu</span><span class="p">)</span>
    5518             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">OnPwdrAdd</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_PWDRADD</span><span class="p">)</span>
    5519             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">OnHklfAdd</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_HKLFADD</span><span class="p">)</span>
    5520             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">OnDataDelete</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_DATADELETE</span><span class="p">)</span>
    55215875            <span class="n">G2ddG</span><span class="o">.</span><span class="n">UpdateDData</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">DData</span><span class="p">,</span><span class="n">data</span><span class="p">)</span>
    55225876            <span class="n">G2plt</span><span class="o">.</span><span class="n">PlotSizeStrainPO</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">data</span><span class="p">,</span><span class="n">Start</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>           
    55235877        <span class="k">elif</span> <span class="n">text</span> <span class="o">==</span> <span class="s">&#39;Atoms&#39;</span><span class="p">:</span>
    55245878            <span class="n">G2gd</span><span class="o">.</span><span class="n">SetDataMenuBar</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">AtomsMenu</span><span class="p">)</span>
    5525             <span class="n">FillSelectPageMenu</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">AtomsMenu</span><span class="p">)</span>
    5526             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">OnAtomAdd</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_ATOMSEDITADD</span><span class="p">)</span>
    5527             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">OnAtomViewAdd</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_ATOMSVIEWADD</span><span class="p">)</span>
    5528             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">OnAtomInsert</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_ATOMSEDITINSERT</span><span class="p">)</span>
    5529             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">OnAtomViewInsert</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_ATOMVIEWINSERT</span><span class="p">)</span>
    5530             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">OnAtomMove</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_ATOMMOVE</span><span class="p">)</span>
    5531             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">AtomDelete</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_ATOMSEDITDELETE</span><span class="p">)</span>
    5532             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">AtomRefine</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_ATOMSREFINE</span><span class="p">)</span>
    5533             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">AtomModify</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_ATOMSMODIFY</span><span class="p">)</span>
    5534             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">AtomTransform</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_ATOMSTRANSFORM</span><span class="p">)</span>
    5535             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">OnReloadDrawAtoms</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_RELOADDRAWATOMS</span><span class="p">)</span>
    5536             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">OnDistAngle</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_ATOMSDISAGL</span><span class="p">)</span>
    5537             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">OnDistAnglePrt</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_ATOMSPDISAGL</span><span class="p">)</span>
    5538             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">OnIsoDistortCalc</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_ISODISP</span><span class="p">)</span>
    5539             <span class="k">for</span> <span class="nb">id</span> <span class="ow">in</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">ReImportMenuId</span><span class="p">:</span>     <span class="c">#loop over submenu items</span>
    5540                 <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">OnReImport</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="nb">id</span><span class="p">)</span>               
    55415879            <span class="n">FillAtomsGrid</span><span class="p">(</span><span class="n">Atoms</span><span class="p">)</span>
    55425880        <span class="k">elif</span> <span class="n">text</span> <span class="o">==</span> <span class="s">&#39;Wave Data&#39;</span> <span class="ow">and</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;General&#39;</span><span class="p">][</span><span class="s">&#39;Type&#39;</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;modulated&#39;</span><span class="p">,</span><span class="s">&#39;magnetic&#39;</span><span class="p">]:</span>
    55435881            <span class="n">G2gd</span><span class="o">.</span><span class="n">SetDataMenuBar</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">WavesData</span><span class="p">)</span>
    5544             <span class="n">FillSelectPageMenu</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">WavesData</span><span class="p">)</span>
    55455882            <span class="n">UpdateWavesData</span><span class="p">()</span>
    55465883            <span class="n">wx</span><span class="o">.</span><span class="n">CallAfter</span><span class="p">(</span><span class="n">G2plt</span><span class="o">.</span><span class="n">PlotStructure</span><span class="p">,</span><span class="n">G2frame</span><span class="p">,</span><span class="n">data</span><span class="p">,</span><span class="n">firstCall</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
    55475884        <span class="k">elif</span> <span class="n">text</span> <span class="o">==</span> <span class="s">&#39;Draw Options&#39;</span><span class="p">:</span>
    55485885            <span class="n">G2gd</span><span class="o">.</span><span class="n">SetDataMenuBar</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">DataDrawOptions</span><span class="p">)</span>
    5549             <span class="n">FillSelectPageMenu</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">DataDrawOptions</span><span class="p">)</span>
    55505886            <span class="n">UpdateDrawOptions</span><span class="p">()</span>
    55515887            <span class="n">wx</span><span class="o">.</span><span class="n">CallAfter</span><span class="p">(</span><span class="n">G2plt</span><span class="o">.</span><span class="n">PlotStructure</span><span class="p">,</span><span class="n">G2frame</span><span class="p">,</span><span class="n">data</span><span class="p">,</span><span class="n">firstCall</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
    55525888        <span class="k">elif</span> <span class="n">text</span> <span class="o">==</span> <span class="s">&#39;Draw Atoms&#39;</span><span class="p">:</span>
    55535889            <span class="n">G2gd</span><span class="o">.</span><span class="n">SetDataMenuBar</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">DrawAtomsMenu</span><span class="p">)</span>
    5554             <span class="n">FillSelectPageMenu</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">DrawAtomsMenu</span><span class="p">)</span>
    5555             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">DrawAtomStyle</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_DRAWATOMSTYLE</span><span class="p">)</span>
    5556             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">DrawAtomLabel</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_DRAWATOMLABEL</span><span class="p">)</span>
    5557             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">DrawAtomColor</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_DRAWATOMCOLOR</span><span class="p">)</span>
    5558             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">ResetAtomColors</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_DRAWATOMRESETCOLOR</span><span class="p">)</span>
    5559             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">SetViewPoint</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_DRAWVIEWPOINT</span><span class="p">)</span>
    5560             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">AddSymEquiv</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_DRAWADDEQUIV</span><span class="p">)</span>
    5561             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">TransformSymEquiv</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_DRAWTRANSFORM</span><span class="p">)</span>
    5562             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">FillCoordSphere</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_DRAWFILLCOORD</span><span class="p">)</span>           
    5563             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">FillUnitCell</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_DRAWFILLCELL</span><span class="p">)</span>
    5564             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">DrawAtomsDelete</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_DRAWDELETE</span><span class="p">)</span>
    5565             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">OnDrawDistVP</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_DRAWDISTVP</span><span class="p">)</span>
    5566             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">OnDrawDAT</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_DRAWDISAGLTOR</span><span class="p">)</span>
    5567             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">OnDrawPlane</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_DRAWPLANE</span><span class="p">)</span>
    5568             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">OnRestraint</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_DRAWRESTRBOND</span><span class="p">)</span>
    5569             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">OnRestraint</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_DRAWRESTRANGLE</span><span class="p">)</span>
    5570             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">OnRestraint</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_DRAWRESTRPLANE</span><span class="p">)</span>
    5571             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">OnRestraint</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_DRAWRESTRCHIRAL</span><span class="p">)</span>
    5572             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">OnDefineRB</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_DRAWDEFINERB</span><span class="p">)</span>
    55735890            <span class="n">UpdateDrawAtoms</span><span class="p">()</span>
    55745891            <span class="n">wx</span><span class="o">.</span><span class="n">CallAfter</span><span class="p">(</span><span class="n">G2plt</span><span class="o">.</span><span class="n">PlotStructure</span><span class="p">,</span><span class="n">G2frame</span><span class="p">,</span><span class="n">data</span><span class="p">,</span><span class="n">firstCall</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
    55755892        <span class="k">elif</span> <span class="n">text</span> <span class="o">==</span> <span class="s">&#39;RB Models&#39;</span><span class="p">:</span>
    55765893            <span class="n">G2gd</span><span class="o">.</span><span class="n">SetDataMenuBar</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">RigidBodiesMenu</span><span class="p">)</span>
    5577             <span class="n">FillSelectPageMenu</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">RigidBodiesMenu</span><span class="p">)</span>
    5578             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">OnAutoFindResRB</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_AUTOFINDRESRB</span><span class="p">)</span>
    5579             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">OnRBAssign</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_ASSIGNATMS2RB</span><span class="p">)</span>
    5580             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">OnRBCopyParms</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_COPYRBPARMS</span><span class="p">)</span>
    5581             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">OnGlobalResRBTherm</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_GLOBALTHERM</span><span class="p">)</span>
    5582             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">OnGlobalResRBRef</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_GLOBALRESREFINE</span><span class="p">)</span>
    5583             <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</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="n">OnRBRemoveAll</span><span class="p">,</