Changeset 1709 for sphinxdocs/build/html/_modules/GSASIIphsGUI.html
- Timestamp:
- Mar 14, 2015 5:35:03 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sphinxdocs/build/html/_modules/GSASIIphsGUI.html
r1513 r1709 52 52 <span class="c">#GSASII - phase data display routines</span> 53 53 <span class="c">########### SVN repository information ###################</span> 54 <span class="c"># $Date: 201 4-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> 55 55 <span class="c"># $Author: vondreele $</span> 56 <span class="c"># $Revision: 1 506$</span>56 <span class="c"># $Revision: 1699 $</span> 57 57 <span class="c"># $URL: https://subversion.xray.aps.anl.gov/pyGSAS/trunk/GSASIIphsGUI.py $</span> 58 <span class="c"># $Id: GSASIIphsGUI.py 1 506 2014-09-26 14:41:33Z vondreele $</span>58 <span class="c"># $Id: GSASIIphsGUI.py 1699 2015-03-13 20:46:05Z vondreele $</span> 59 59 <span class="c">########### SVN repository information ###################</span> 60 60 <span class="sd">'''</span> … … 85 85 <span class="kn">import</span> <span class="nn">cPickle</span> 86 86 <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">"$Revision: 1 506$"</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">"$Revision: 1699 $"</span><span class="p">)</span> 88 88 <span class="kn">import</span> <span class="nn">GSASIIlattice</span> <span class="kn">as</span> <span class="nn">G2lat</span> 89 89 <span class="kn">import</span> <span class="nn">GSASIIspc</span> <span class="kn">as</span> <span class="nn">G2spc</span> … … 99 99 <span class="kn">import</span> <span class="nn">GSASIIpy3</span> <span class="kn">as</span> <span class="nn">G2py3</span> 100 100 <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> 101 102 <span class="kn">import</span> <span class="nn">numpy</span> <span class="kn">as</span> <span class="nn">np</span> 102 103 <span class="kn">import</span> <span class="nn">numpy.linalg</span> <span class="kn">as</span> <span class="nn">nl</span> … … 109 110 <span class="n">mapDefault</span> <span class="o">=</span> <span class="p">{</span><span class="s">'MapType'</span><span class="p">:</span><span class="s">''</span><span class="p">,</span><span class="s">'RefList'</span><span class="p">:</span><span class="s">''</span><span class="p">,</span><span class="s">'Resolution'</span><span class="p">:</span><span class="mf">0.5</span><span class="p">,</span><span class="s">'Show bonds'</span><span class="p">:</span><span class="bp">True</span><span class="p">,</span> 110 111 <span class="s">'rho'</span><span class="p">:[],</span><span class="s">'rhoMax'</span><span class="p">:</span><span class="mf">0.</span><span class="p">,</span><span class="s">'mapSize'</span><span class="p">:</span><span class="mf">10.0</span><span class="p">,</span><span class="s">'cutOff'</span><span class="p">:</span><span class="mf">50.</span><span class="p">,</span><span class="s">'Flip'</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> 111 113 <span class="c"># trig functions in degrees</span> 112 114 <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> … … 120 122 <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> 121 123 <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>123 124 <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> 124 125 <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> 125 126 <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> 126 127 <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> 127 129 128 130 <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> … … 143 145 144 146 <span class="sd"> '''</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">'RefList'</span><span class="p">:[],</span><span class="s">'Type'</span><span class="p">:</span><span class="s">''</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">'PWDR'</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">'Reflection Lists'</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">'list'</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">'RefList'</span><span class="p">:[],</span><span class="s">'FF'</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">'RefList'</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">'FF'</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">'RefList'</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">'RefList'</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">'HKLF'</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">'Type'</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">'Type'</span><span class="p">]</span> <span class="o">=</span> <span class="s">'SXC'</span> 167 <span class="k">if</span> <span class="n">ReflData</span><span class="p">[</span><span class="s">'Type'</span><span class="p">]</span> <span class="ow">and</span> <span class="n">reflData</span><span class="p">[</span><span class="s">'Type'</span><span class="p">]</span> <span class="o">!=</span> <span class="n">ReflData</span><span class="p">[</span><span class="s">'Type'</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">'Data type conflict'</span><span class="p">,</span> 169 <span class="n">reflName</span><span class="o">+</span><span class="s">' conflicts with previous '</span><span class="o">+</span><span class="n">ReflData</span><span class="p">[</span><span class="s">'Type'</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">'RefList'</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">'RefList'</span><span class="p">])</span> 172 <span class="n">ReflData</span><span class="p">[</span><span class="s">'Type'</span><span class="p">]</span> <span class="o">=</span> <span class="n">reflData</span><span class="p">[</span><span class="s">'Type'</span><span class="p">]</span> 173 <span class="k">return</span> <span class="n">ReflData</span> 145 174 146 175 <span class="c"># UpdatePhaseData execution continues below</span> … … 159 188 <span class="n">generalData</span><span class="p">[</span><span class="s">'POhkl'</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> 160 189 <span class="k">if</span> <span class="s">'Map'</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">'Map'</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">'Map'</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> 162 191 <span class="k">if</span> <span class="s">'Flip'</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">generalData</span><span class="p">:</span> 163 192 <span class="n">generalData</span><span class="p">[</span><span class="s">'Flip'</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span><span class="s">'RefList'</span><span class="p">:</span><span class="s">''</span><span class="p">,</span><span class="s">'Resolution'</span><span class="p">:</span><span class="mf">0.5</span><span class="p">,</span><span class="s">'Norm element'</span><span class="p">:</span><span class="s">'None'</span><span class="p">,</span> … … 178 207 <span class="k">if</span> <span class="n">generalData</span><span class="p">[</span><span class="s">'Type'</span><span class="p">]</span> <span class="o">==</span><span class="s">'macromolecular'</span><span class="p">:</span> 179 208 <span class="n">generalData</span><span class="p">[</span><span class="s">'AtomPtrs'</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">'Type'</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'modulated'</span><span class="p">,</span><span class="s">'magnetic'</span><span class="p">,]</span> <span class="ow">and</span> <span class="s">'Super'</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">'SuperSg'</span><span class="p">]</span> <span class="o">=</span> <span class="s">''</span> 182 <span class="n">generalData</span><span class="p">[</span><span class="s">'Super'</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">'SuperVec'</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">'Type'</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'modulated'</span><span class="p">,</span><span class="s">'magnetic'</span><span class="p">,]:</span> 210 <span class="k">if</span> <span class="s">'Super'</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">'Super'</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">'SuperVec'</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">'SSGData'</span><span class="p">]</span> <span class="o">=</span> <span class="p">{}</span> 214 <span class="k">if</span> <span class="s">'4DmapData'</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">'4DmapData'</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">'4DmapData'</span><span class="p">]</span><span class="o">.</span><span class="n">update</span><span class="p">({</span><span class="s">'MapType'</span><span class="p">:</span><span class="s">'Fobs'</span><span class="p">})</span> 184 217 <span class="c"># end of patches</span> 185 218 <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">'AtomPtrs'</span><span class="p">]</span> … … 191 224 <span class="n">generalData</span><span class="p">[</span><span class="s">'Color'</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span> 192 225 <span class="n">generalData</span><span class="p">[</span><span class="s">'Mydir'</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> 193 227 <span class="k">for</span> <span class="n">atom</span> <span class="ow">in</span> <span class="n">atomData</span><span class="p">:</span> 194 228 <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> … … 197 231 <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">'UNK'</span><span class="p">:</span> 198 232 <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">'UNK'</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">'Symbol'</span><span class="p">]</span> <span class="c"># N.B. symbol might be changed by GetAtomInfo</span> 199 240 <span class="n">generalData</span><span class="p">[</span><span class="s">'AtomTypes'</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> 200 241 <span class="n">generalData</span><span class="p">[</span><span class="s">'Z'</span><span class="p">]</span> <span class="o">=</span> <span class="n">Info</span><span class="p">[</span><span class="s">'Z'</span><span class="p">]</span> … … 210 251 <span class="n">generalData</span><span class="p">[</span><span class="s">'NoAtoms'</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> 211 252 <span class="n">generalData</span><span class="p">[</span><span class="s">'Color'</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">'Color'</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">'Warning: element symbol(s) not found:'</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">'</span><span class="se">\n\t</span><span class="s">'</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">></span> <span class="mi">1</span><span class="p">:</span> 258 <span class="n">msg</span> <span class="o">+=</span> <span class="s">' ('</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">' times)'</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">'Element symbol error'</span><span class="p">)</span> 212 260 <span class="n">F000X</span> <span class="o">=</span> <span class="mf">0.</span> 213 261 <span class="n">F000N</span> <span class="o">=</span> <span class="mf">0.</span> … … 236 284 <span class="sd"> 'Cell':[False,10.,10.,10.,90.,90.,90,1000.]</span> 237 285 <span class="sd"> 'AtomPtrs':[]</span> 238 <span class="sd"> 'Histogram list':['',]</span>239 286 <span class="sd"> 'Pawley dmin':1.0,</span> 240 287 <span class="sd"> 'Pawley neg wt':0.0}</span> … … 252 299 <span class="c"># UpdateGeneral execution continues below</span> 253 300 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">'SGData'</span><span class="p">][</span><span class="s">'SGLaue'</span><span class="p">]</span> <span class="ow">in</span> <span class="s">'-1'</span><span class="p">:</span> 305 <span class="k">return</span> <span class="s">'(abg)'</span> 306 <span class="k">elif</span> <span class="n">generalData</span><span class="p">[</span><span class="s">'SGData'</span><span class="p">][</span><span class="s">'SGLaue'</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'2/m'</span><span class="p">]:</span> 307 <span class="k">if</span> <span class="n">generalData</span><span class="p">[</span><span class="s">'SGData'</span><span class="p">][</span><span class="s">'SGUniq'</span><span class="p">]</span> <span class="o">==</span> <span class="s">'a'</span><span class="p">:</span> 308 <span class="k">return</span> <span class="s">'(a00)'</span> 309 <span class="k">elif</span> <span class="n">generalData</span><span class="p">[</span><span class="s">'SGData'</span><span class="p">][</span><span class="s">'SGUniq'</span><span class="p">]</span> <span class="o">==</span> <span class="s">'b'</span><span class="p">:</span> 310 <span class="k">return</span> <span class="s">'(0b0)'</span> 311 <span class="k">elif</span> <span class="n">generalData</span><span class="p">[</span><span class="s">'SGData'</span><span class="p">][</span><span class="s">'SGUniq'</span><span class="p">]</span> <span class="o">==</span> <span class="s">'c'</span><span class="p">:</span> 312 <span class="k">return</span> <span class="s">'(00g)'</span> 313 <span class="k">else</span><span class="p">:</span> 314 <span class="k">return</span> <span class="s">'(00g)'</span> 315 255 316 <span class="k">def</span> <span class="nf">OnPhaseName</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> 256 317 <span class="n">oldName</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">'Name'</span><span class="p">]</span> 257 <span class="n">generalData</span><span class="p">[</span><span class="s">'Name'</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">'Name'</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">'Phase Data for '</span><span class="o">+</span><span class="n">generalData</span><span class="p">[</span><span class="s">'Name'</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">'Name'</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">'Name'</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">'Name'</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">'Phase Data for '</span><span class="o">+</span><span class="n">generalData</span><span class="p">[</span><span class="s">'Name'</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">'Name'</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">'Histograms'</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">'Reflection Lists'</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">'Warning: '</span><span class="o">+</span><span class="n">oldName</span><span class="o">+</span><span class="s">' not in Reflection List for '</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">'Name'</span><span class="p">])</span> 340 263 341 <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">'AtomTypes'</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">'AtomTypes'</span><span class="p">]):</span> <span class="c">#can change only if no atoms!</span> 265 343 <span class="n">generalData</span><span class="p">[</span><span class="s">'Type'</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">'Type'</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'modulated'</span><span class="p">,</span><span class="s">'magnetic'</span><span class="p">]:</span> 346 <span class="k">if</span> <span class="s">'SuperSg'</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">'SuperSg'</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">'SSGData'</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">'SGData'</span><span class="p">],</span><span class="n">generalData</span><span class="p">[</span><span class="s">'SuperSg'</span><span class="p">])[</span><span class="mi">1</span><span class="p">]</span> 349 <span class="k">if</span> <span class="s">'MC/SA'</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('MC/SA')) #this crashes!!</span> 352 <span class="k">if</span> <span class="s">'Wave Data'</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">'Wave Data'</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">'Wave Data'</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">'Wave Data'</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">'Wave Data'</span><span class="p">))</span> 361 <span class="k">if</span> <span class="s">'MC/SA'</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">'MC/SA'</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">'MC/SA'</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> 267 367 <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">'Phase type change error'</span><span class="p">,</span><span class="s">'Can change phase type only if there are no atoms'</span><span class="p">)</span> 268 369 <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">'Type'</span><span class="p">])</span> 269 370 270 371 <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">' '</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">Flds</span><span class="p">)</span> 273 376 <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> 279 382 <span class="k">if</span> <span class="n">SGErr</span><span class="p">:</span> 280 383 <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">'</span><span class="se">\n</span><span class="s">Space Group set to previous'</span><span class="p">]</span> … … 282 385 <span class="n">msg</span> <span class="o">=</span> <span class="s">'Space Group Error'</span> 283 386 <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">'</span><span class="se">\n</span><span class="s">'</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> 284 389 <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> 286 391 <span class="n">generalData</span><span class="p">[</span><span class="s">'SGData'</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">'SGData'</span><span class="p">][</span><span class="s">'SpGrp'</span><span class="p">])</span> 287 393 <span class="n">msg</span> <span class="o">=</span> <span class="s">'Space Group Information'</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">''</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">'</span><span class="se">\n</span><span class="s">'</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">'Type'</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'modulated'</span><span class="p">,]:</span> 396 <span class="n">generalData</span><span class="p">[</span><span class="s">'SuperSg'</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">'SSGData'</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">'SGData'</span><span class="p">],</span><span class="n">generalData</span><span class="p">[</span><span class="s">'SuperSg'</span><span class="p">])[</span><span class="mi">1</span><span class="p">]</span> 293 398 <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> 294 399 … … 313 418 314 419 <span class="n">cellGUIlist</span> <span class="o">=</span> <span class="p">[[[</span><span class="s">'m3'</span><span class="p">,</span><span class="s">'m3m'</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">" Unit cell: a = "</span><span class="p">,</span><span class="s">" Vol = "</span><span class="p">],[</span><span class="s">"</span><span class="si">%.5f</span><span class="s">"</span><span class="p">,</span><span class="s">"</span><span class="si">%.3f</span><span class="s">"</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">'3R'</span><span class="p">,</span><span class="s">'3mR'</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">" a = "</span><span class="p">,</span><span class="s">" alpha = "</span><span class="p">,</span><span class="s">" Vol = "</span><span class="p">],[</span><span class="s">"</span><span class="si">%.5f</span><span class="s">"</span><span class="p">,</span><span class="s">"</span><span class="si">%.3f</span><span class="s">"</span><span class="p">,</span><span class="s">"</span><span class="si">%.3f</span><span class="s">"</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">'3R'</span><span class="p">,</span><span class="s">'3mR'</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">" a = "</span><span class="p">,</span><span class="s">" alpha = "</span><span class="p">,</span><span class="s">" Vol = "</span><span class="p">],[</span><span class="s">"</span><span class="si">%.5f</span><span class="s">"</span><span class="p">,</span><span class="s">"</span><span class="si">%.3f</span><span class="s">"</span><span class="p">,</span><span class="s">"</span><span class="si">%.3f</span><span class="s">"</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> 316 421 <span class="p">[[</span><span class="s">'3'</span><span class="p">,</span><span class="s">'3m1'</span><span class="p">,</span><span class="s">'31m'</span><span class="p">,</span><span class="s">'6/m'</span><span class="p">,</span><span class="s">'6/mmm'</span><span class="p">,</span><span class="s">'4/m'</span><span class="p">,</span><span class="s">'4/mmm'</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">" a = "</span><span class="p">,</span><span class="s">" c = "</span><span class="p">,</span><span class="s">" Vol = "</span><span class="p">],[</span><span class="s">"</span><span class="si">%.5f</span><span class="s">"</span><span class="p">,</span><span class="s">"</span><span class="si">%.5f</span><span class="s">"</span><span class="p">,</span><span class="s">"</span><span class="si">%.3f</span><span class="s">"</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> 317 422 <span class="p">[[</span><span class="s">'mmm'</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">" a = "</span><span class="p">,</span><span class="s">" b = "</span><span class="p">,</span><span class="s">" c = "</span><span class="p">,</span><span class="s">" Vol = "</span><span class="p">],[</span><span class="s">"</span><span class="si">%.5f</span><span class="s">"</span><span class="p">,</span><span class="s">"</span><span class="si">%.5f</span><span class="s">"</span><span class="p">,</span><span class="s">"</span><span class="si">%.5f</span><span class="s">"</span><span class="p">,</span><span class="s">"</span><span class="si">%.3f</span><span class="s">"</span><span class="p">],</span> … … 408 513 <span class="k">if</span> <span class="n">denSizer</span><span class="p">[</span><span class="mi">2</span><span class="p">]:</span> 409 514 <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">'</span><span class="si">%.3f</span><span class="s">'</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">'Cell'</span><span class="p">]</span> <span class="o">=</span> <span class="n">cell</span>411 515 412 516 <span class="n">cell</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">'Cell'</span><span class="p">]</span> … … 561 665 <span class="k">def</span> <span class="nf">ModulatedSizer</span><span class="p">(</span><span class="n">name</span><span class="p">):</span> 562 666 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">'SuperSg'</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">'SGData'</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">'SuperVec'</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">'modSymb'</span><span class="p">]</span> 673 <span class="n">generalData</span><span class="p">[</span><span class="s">'SuperVec'</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">'SGData'</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">'SSGData'</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">'SuperSg'</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">'Superspace Group Information'</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">'</span><span class="se">\n</span><span class="s">Superspace Group set to previous'</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">'SuperSg'</span><span class="p">])</span> 682 <span class="n">msg</span> <span class="o">=</span> <span class="s">'Superspace Group Error'</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">'</span><span class="se">\n</span><span class="s">'</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> 565 687 566 688 <span class="k">def</span> <span class="nf">OnDim</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> … … 571 693 <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> 572 694 <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">v ec</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> 574 696 <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">'SuperVec'</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">'SuperVec'</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">'modVects'</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">'</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">'</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">'SuperVec'</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">'SuperVec'</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">'</span><span class="si">%.4f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">generalData</span><span class="p">[</span><span class="s">'SuperVec'</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="n">ind</span><span class="p">]))</span> 583 702 584 703 <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">'SuperVec'</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">'SuperVec'</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> 588 705 589 706 <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">'SuperVec'</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">'SuperVec'</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> 593 708 594 709 <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">' '</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">' structure controls: '</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">' Modulated structure dimension: '</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">'1'</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">'Super'</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">' '</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">' structure controls: '</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">' Superspace group: '</span><span class="o">+</span><span class="n">generalData</span><span class="p">[</span><span class="s">'SGData'</span><span class="p">][</span><span class="s">'SpGrp'</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">'SGData'</span><span class="p">][</span><span class="s">'SpGrp'</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">'SuperSg'</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">'SuperSg'</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">' Max index: '</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">'1'</span><span class="p">,</span><span class="s">'2'</span><span class="p">,</span><span class="s">'3'</span><span class="p">,</span><span class="s">'4'</span><span class="p">,</span><span class="s">'5'</span><span class="p">,</span><span class="s">'6'</span><span class="p">,</span><span class="s">'7'</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">'</span><span class="si">%d</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">generalData</span><span class="p">[</span><span class="s">'SuperVec'</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> 601 726 <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">' Superspace group: '</span><span class="o">+</span><span class="n">generalData</span><span class="p">[</span><span class="s">'SGData'</span><span class="p">][</span><span class="s">'SpGrp'</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">'SuperSg'</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> 610 730 <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">'0'</span><span class="p">,</span><span class="s">'1'</span><span class="p">,</span><span class="s">'2'</span><span class="p">,</span><span class="s">'3'</span><span class="p">,</span><span class="s">'4'</span><span class="p">,</span><span class="s">'5'</span><span class="p">,</span><span class="s">'6'</span><span class="p">,</span><span class="s">'7'</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">'Super'</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">' Modulation vector #</span><span class="si">%d</span><span class="s">: '</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">'SuperVec'</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">' </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"> '</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">'Refine?'</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">'SuperVec'</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">' max index: '</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">'</span><span class="si">%d</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">generalData</span><span class="p">[</span><span class="s">'SuperVec'</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">' Modulation vector: '</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">'SuperSg'</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">'SuperVec'</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">'SuperVec'</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">'SuperVec'</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">'SuperVec'</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">'</span><span class="si">%.4f</span><span class="s">'</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">'</span><span class="si">%.3f</span><span class="s">'</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">'Refine?'</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">'SuperVec'</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> 636 754 637 755 <span class="k">def</span> <span class="nf">MapSizer</span><span class="p">():</span> … … 641 759 642 760 <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">'RefList'</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">'Select reflection sets to use'</span><span class="p">,</span> 762 <span class="s">'Use data'</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">'RefList'</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> 644 771 645 772 <span class="k">def</span> <span class="nf">OnResVal</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> … … 665 792 <span class="n">Map</span><span class="p">[</span><span class="s">'cutOff'</span><span class="p">]</span> <span class="o">=</span> <span class="mf">100.0</span> 666 793 <span class="n">mapTypes</span> <span class="o">=</span> <span class="p">[</span><span class="s">'Fobs'</span><span class="p">,</span><span class="s">'Fcalc'</span><span class="p">,</span><span class="s">'delt-F'</span><span class="p">,</span><span class="s">'2*Fo-Fc'</span><span class="p">,</span><span class="s">'Omit'</span><span class="p">,</span><span class="s">'2Fo-Fc Omit'</span><span class="p">,</span><span class="s">'Patterson'</span><span class="p">]</span> 667 <span class="n">ref List</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">'Histograms'</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">'Histograms'</span><span class="p">]</span><span class="o">.</span><span class="n">keys</span><span class="p">()</span> 668 795 <span class="k">if</span> <span class="ow">not</span> <span class="n">generalData</span><span class="p">[</span><span class="s">'AtomTypes'</span><span class="p">]:</span> 669 796 <span class="n">mapTypes</span> <span class="o">=</span> <span class="p">[</span><span class="s">'Patterson'</span><span class="p">,]</span> … … 672 799 <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> 673 800 <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">' Fourier map controls: Map type: '</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">'MapType'</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">'MapType'</span><span class="p">],</span><span class="n">choices</span><span class="o">=</span><span class="n">mapTypes</span><span class="p">,</span> 675 802 <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> 676 803 <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> 677 804 <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">' Reflection set from: '</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">'RefList'</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">' Reflection sets: '</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">'list'</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">'RefList'</span><span class="p">])):</span> <span class="c">#patch</span> 807 <span class="n">Map</span><span class="p">[</span><span class="s">'RefList'</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">'RefList'</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">'RefList'</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">'RefList'</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">'Select reflection sets'</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> 682 812 <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> 683 813 <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> … … 700 830 701 831 <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">'RefList'</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">'Select reflection sets to use'</span><span class="p">,</span> 833 <span class="s">'Use data'</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">'RefList'</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> 703 842 704 843 <span class="k">def</span> <span class="nf">OnNormElem</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> … … 736 875 <span class="n">kMax</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="s">"</span><span class="si">%.1f</span><span class="s">"</span><span class="o">%</span><span class="p">(</span><span class="n">Flip</span><span class="p">[</span><span class="s">'k-Max'</span><span class="p">]))</span> <span class="c">#reset in case of error</span> 737 876 738 <span class="n">ref List</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">'Histograms'</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">'Histograms'</span><span class="p">]</span><span class="o">.</span><span class="n">keys</span><span class="p">()</span> 739 878 <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> 740 879 <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">' Charge flip controls: Reflection set from: '</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">'RefList'</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">' Charge flip controls: Reflection sets: '</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">'list'</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">'RefList'</span><span class="p">])):</span> <span class="c">#patch</span> 882 <span class="n">Flip</span><span class="p">[</span><span class="s">'RefList'</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">'RefList'</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">'RefList'</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">'RefList'</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">'Select reflection sets'</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> 745 887 <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> 746 888 <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">' Normalizing element: '</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> … … 958 1100 959 1101 <span class="k">if</span> <span class="n">generalData</span><span class="p">[</span><span class="s">'Type'</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'modulated'</span><span class="p">,</span><span class="s">'magnetic'</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">'NB: This does nothing yet'</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> 961 1105 <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">'Type'</span><span class="p">]))</span> 962 1106 <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> 963 1111 964 1112 <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> … … 972 1120 <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> 973 1121 <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">''</span><span class="p">)</span> 974 1123 <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">''</span><span class="p">)</span>976 1124 977 1125 <span class="c">################################################################################</span> … … 979 1127 <span class="c">################################################################################</span> 980 1128 1129 <span class="n">SSdefault</span> <span class="o">=</span> <span class="p">{</span><span class="s">'SS1'</span><span class="p">:{</span><span class="s">'waveType'</span><span class="p">:</span><span class="s">'Fourier'</span><span class="p">,</span><span class="s">'crenelType'</span><span class="p">:</span><span class="bp">None</span><span class="p">,</span><span class="s">'Sfrac'</span><span class="p">:[],</span><span class="s">'Spos'</span><span class="p">:[],</span><span class="s">'Sadp'</span><span class="p">:[],</span><span class="s">'Smag'</span><span class="p">:[]}}</span> 981 1130 <span class="k">def</span> <span class="nf">FillAtomsGrid</span><span class="p">(</span><span class="n">Atoms</span><span class="p">):</span> 982 1131 <span class="sd">'''Display the contents of the Atoms tab</span> … … 993 1142 <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">'refine'</span><span class="p">:</span> 994 1143 <span class="n">Type</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">'Type'</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">'nuclear'</span><span class="p">,</span><span class="s">'macromolecular'</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">'nuclear'</span><span class="p">,</span><span class="s">'macromolecular'</span><span class="p">,</span><span class="s">'modulated'</span><span class="p">]:</span> 996 1145 <span class="n">choice</span> <span class="o">=</span> <span class="p">[</span><span class="s">'F - site fraction'</span><span class="p">,</span><span class="s">'X - coordinates'</span><span class="p">,</span><span class="s">'U - thermal parameters'</span><span class="p">]</span> 997 1146 <span class="k">elif</span> <span class="n">Type</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'magnetic'</span><span class="p">,]:</span> … … 1077 1226 <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">'site sym'</span><span class="p">)</span> 1078 1227 <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> 1080 1229 <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">'I/A'</span><span class="p">:</span> 1081 1230 <span class="k">if</span> <span class="n">parms</span> <span class="o">==</span> <span class="s">'A'</span><span class="p">:</span> <span class="c">#'I' --> 'A'</span> … … 1102 1251 <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> 1103 1252 <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">'refine'</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">''</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">''</span><span class="p">)</span> 1105 1254 <span class="k">if</span> <span class="n">rbExcl</span><span class="p">:</span> 1106 1255 <span class="k">for</span> <span class="n">excl</span> <span class="ow">in</span> <span class="n">rbExcl</span><span class="p">:</span> … … 1121 1270 <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> 1122 1271 <span class="k">if</span> <span class="n">r</span> <span class="o">>=</span> <span class="mi">0</span> <span class="ow">and</span> <span class="n">c</span> <span class="o">>=</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">'I/A'</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> 1124 1274 <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">'x'</span><span class="p">,</span><span class="s">'y'</span><span class="p">,</span><span class="s">'z'</span><span class="p">]:</span> 1125 1275 <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">'x'</span><span class="p">)</span> … … 1175 1325 <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">'U11'</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> 1176 1326 <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">'refine'</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">''</span><span class="p">),</span><span class="s">''</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">'I/A'</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">''</span><span class="p">),</span><span class="s">''</span><span class="p">)</span> 1178 1329 <span class="k">if</span> <span class="s">'Atoms'</span> <span class="ow">in</span> <span class="n">data</span><span class="p">[</span><span class="s">'Drawing'</span><span class="p">]:</span> 1179 1330 <span class="n">DrawAtomsReplaceByID</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="s">'Drawing'</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> … … 1197 1348 <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> 1198 1349 <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">'I/A'</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> 1200 1352 <span class="k">if</span> <span class="s">'Atoms'</span> <span class="ow">in</span> <span class="n">data</span><span class="p">[</span><span class="s">'Drawing'</span><span class="p">]:</span> 1201 1353 <span class="n">DrawAtomsReplaceByID</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="s">'Drawing'</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> … … 1213 1365 <span class="n">Atoms</span><span class="o">.</span><span class="n">ClearSelection</span><span class="p">()</span> 1214 1366 <span class="k">elif</span> <span class="n">c</span> <span class="o"><</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">'I/A'</span><span class="p">)</span> 1215 1368 <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> 1216 1369 <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> … … 1227 1380 <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> 1228 1381 <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">'**** ERROR - atom is in a rigid body and can not be moved ****'</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">'Atom move error'</span><span class="p">,</span><span class="s">'Atoms in rigid bodies can not be moved'</span><span class="p">)</span> 1231 1384 <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> 1232 1385 <span class="n">Atoms</span><span class="o">.</span><span class="n">ClearSelection</span><span class="p">()</span> … … 1283 1436 <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> 1284 1437 <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> 1285 1441 <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> 1286 1442 <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> 1287 1443 <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> 1288 1444 <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> 1290 1446 <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">''</span><span class="p">)</span> 1291 1447 <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> … … 1301 1457 <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> 1302 1458 <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">c i</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">c i</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">c i</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> 1306 1462 <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">'U'</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">c i</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> 1308 1464 <span class="k">else</span><span class="p">:</span> 1309 1465 <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> … … 1312 1468 <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> 1313 1469 <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">c i</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">c i</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">c i</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> 1317 1473 <span class="k">if</span> <span class="s">'X'</span> <span class="ow">in</span> <span class="n">rbExcl</span><span class="p">:</span> 1318 1474 <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> … … 1322 1478 1323 1479 <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">'Drawing'</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> 1324 1482 <span class="n">generalData</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">'General'</span><span class="p">]</span> 1325 1483 <span class="n">atomData</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">'Atoms'</span><span class="p">]</span> … … 1336 1494 <span class="c"># exclList will be 'x' or 'xu' if TLS used in RB</span> 1337 1495 <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> 1339 1498 <span class="k">if</span> <span class="n">atomData</span><span class="p">:</span> 1340 1499 <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">Items</span><span class="p">:</span> … … 1350 1509 <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">Items</span><span class="p">:</span> 1351 1510 <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 1353 1511 <span class="n">AAchoice</span> <span class="o">=</span> <span class="s">": ,ALA,ARG,ASN,ASP,CYS,GLN,GLU,GLY,HIS,ILE,LEU,LYS,MET,PHE,PRO,SER,THR,TRP,TYR,VAL,MSE,HOH,UNK"</span> 1354 1512 <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">": ,X,XU,U,F,FX,FXU,FU"</span><span class="p">,]</span><span class="o">+</span> \ … … 1406 1564 <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">''</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">'I'</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> 1407 1565 <span class="k">elif</span> <span class="n">generalData</span><span class="p">[</span><span class="s">'Type'</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'modulated'</span><span class="p">,</span><span class="s">'magnetic'</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">''</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">'I'</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">''</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">'I'</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> 1409 1567 <span class="n">SetupGeneral</span><span class="p">()</span> 1410 1568 <span class="k">if</span> <span class="s">'Atoms'</span> <span class="ow">in</span> <span class="n">data</span><span class="p">[</span><span class="s">'Drawing'</span><span class="p">]:</span> … … 1431 1589 <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> 1432 1590 <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">'x'</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">'I/A'</span><span class="p">)</span> 1433 1592 <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> 1434 1593 <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">'**** ERROR - only one atom can be moved ****'</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">'**** ERROR - Atoms in rigid bodies can not be moved ****'</span>1594 <span class="n">G2frame</span><span class="o">.</span><span class="n">ErrorDialog</span><span class="p">(</span><span class="s">'Atom move error'</span><span class="p">,</span><span class="s">'Only one atom can be moved'</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">'Atom move error'</span><span class="p">,</span><span class="s">'Atoms in rigid bodies can not be moved'</span><span class="p">)</span> 1438 1597 <span class="k">else</span><span class="p">:</span> 1439 1598 <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> 1440 1599 <span class="n">SetupGeneral</span><span class="p">()</span> 1441 1600 <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> 1443 1602 <span class="n">DrawAtomsReplaceByID</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="s">'Drawing'</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> 1444 1603 <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> … … 1459 1618 <span class="n">generalData</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">'General'</span><span class="p">]</span> 1460 1619 <span class="n">SGData</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">'SGData'</span><span class="p">]</span> 1461 <span class="k">if</span> <span class="n">generalData</span><span class="p">[</span><span class="s">'Type'</span><span class="p">]</span> <span class="o ">==</span> <span class="s">'nuclear'</span><span class="p">:</span>1620 <span class="k">if</span> <span class="n">generalData</span><span class="p">[</span><span class="s">'Type'</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'nuclear'</span><span class="p">,</span><span class="s">'modulated'</span><span class="p">,]:</span> 1462 1621 <span class="k">if</span> <span class="n">oldatom</span><span class="p">:</span> 1463 1622 <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> … … 1500 1659 <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">'UNK'</span><span class="p">,</span><span class="s">'UNK'</span><span class="p">,</span><span class="s">''</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">'I'</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> 1501 1660 <span class="k">elif</span> <span class="n">generalData</span><span class="p">[</span><span class="s">'Type'</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'modulated'</span><span class="p">,</span><span class="s">'magnetic'</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">'UNK'</span><span class="p">,</span><span class="s">'UNK'</span><span class="p">,</span><span class="s">''</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">'I'</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">'UNK'</span><span class="p">,</span><span class="s">'UNK'</span><span class="p">,</span><span class="s">''</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">'I'</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> 1503 1662 <span class="n">SetupGeneral</span><span class="p">()</span> 1504 1663 1505 1664 <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">'I/A'</span><span class="p">)</span> 1506 1667 <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> 1507 1668 <span class="n">IDs</span> <span class="o">=</span> <span class="p">[]</span> … … 1511 1672 <span class="k">for</span> <span class="n">ind</span> <span class="ow">in</span> <span class="n">indx</span><span class="p">:</span> 1512 1673 <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> 1514 1675 <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">'**** ERROR - atom is in a rigid body and can not be deleted ****'</span><span class="p">)</span> 1515 1676 <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> 1517 1678 <span class="k">del</span> <span class="n">atomData</span><span class="p">[</span><span class="n">ind</span><span class="p">]</span> 1518 1679 <span class="k">if</span> <span class="s">'Atoms'</span> <span class="ow">in</span> <span class="n">data</span><span class="p">[</span><span class="s">'Drawing'</span><span class="p">]:</span> … … 1553 1714 <span class="n">generalData</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">'General'</span><span class="p">]</span> 1554 1715 <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">'I/A'</span><span class="p">)</span> 1555 1717 <span class="n">choices</span> <span class="o">=</span> <span class="p">[</span><span class="s">'Type'</span><span class="p">,</span><span class="s">'Name'</span><span class="p">,</span><span class="s">'x'</span><span class="p">,</span><span class="s">'y'</span><span class="p">,</span><span class="s">'z'</span><span class="p">,</span><span class="s">'frac'</span><span class="p">,</span><span class="s">'I/A'</span><span class="p">,</span><span class="s">'Uiso'</span><span class="p">]</span> 1556 1718 <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">'Select'</span><span class="p">,</span><span class="s">'Atom parameter'</span><span class="p">,</span><span class="n">choices</span><span class="p">)</span> … … 1576 1738 <span class="k">if</span> <span class="s">'Atoms'</span> <span class="ow">in</span> <span class="n">data</span><span class="p">[</span><span class="s">'Drawing'</span><span class="p">]:</span> 1577 1739 <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> 1579 1741 <span class="n">DrawAtomsReplaceByID</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="s">'Drawing'</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> 1580 1742 <span class="n">FillAtomsGrid</span><span class="p">(</span><span class="n">Atoms</span><span class="p">)</span> … … 1685 1847 <span class="k">else</span><span class="p">:</span> 1686 1848 <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">'General'</span><span class="p">]</span> 1857 <span class="k">if</span> <span class="s">'DisAglCtls'</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">'DisAglCtls'</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">'DisAglCtls'</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">'Atoms'</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">'str'</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">'Assemble molecule'</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">'Atoms'</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('Distance/Angle calculation','try again but do "Reset" to fill in missing atom types')</span> 1878 <span class="k">else</span><span class="p">:</span> 1879 <span class="k">print</span> <span class="s">"select one atom"</span> 1880 <span class="n">G2frame</span><span class="o">.</span><span class="n">ErrorDialog</span><span class="p">(</span><span class="s">'Select one atom'</span><span class="p">,</span><span class="s">"select one atom to begin molecule build then redo"</span><span class="p">)</span> 1687 1881 1688 1882 <span class="k">def</span> <span class="nf">OnDistAnglePrt</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> … … 1835 2029 <span class="n">ISO</span><span class="p">[</span><span class="s">'IsoModeList'</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">'G2ModeList'</span><span class="p">]):</span> 1836 2030 <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">G2 gd</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> 1838 2032 <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> 1839 2033 <span class="k">else</span><span class="p">:</span> … … 1869 2063 <span class="n">ISO</span><span class="p">[</span><span class="s">'OccModeList'</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">'G2OccModeList'</span><span class="p">]):</span> 1870 2064 <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">G2 gd</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> 1872 2066 <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> 1873 2067 <span class="k">else</span><span class="p">:</span> … … 1936 2130 <span class="k">try</span><span class="p">:</span> 1937 2131 <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> 1938 2133 <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> 1939 2135 <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span> 1940 2136 <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">'not in Atom array; not updated'</span> … … 1947 2143 <span class="k">def</span> <span class="nf">UpdateWavesData</span><span class="p">():</span> 1948 2144 2145 <span class="n">generalData</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">'General'</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">'AtomPtrs'</span><span class="p">]</span> 2147 1949 2148 <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> 1950 2149 1951 2150 <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">'waveType'</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">'waveType'</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">'Spos'</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> 1953 2160 1954 2161 <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">' Modulation data for atom: '</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">' WaveType: '</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">'waveType'</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">' 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: '</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">'waveType'</span><span class="p">],</span><span class="n">choices</span><span class="o">=</span><span class="n">waveTypes</span><span class="p">,</span> 1957 2165 <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> 1958 2166 <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> 1959 2167 <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">'x'</span><span class="p">,</span><span class="s">'y'</span><span class="p">,</span><span class="s">'z'</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">'rho'</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">' Show contour map for axis:'</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">' '</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> 1960 2176 <span class="k">return</span> <span class="n">atomSizer</span> 1961 2177 1962 <span class="k">def</span> <span class="nf">WaveSizer</span><span class="p">(</span><span class="n">wave Blk</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> 1963 2179 1964 2180 <span class="k">def</span> <span class="nf">OnAddWave</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> 1965 2181 <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> 1966 2182 <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">'ZigZag'</span><span class="p">,</span><span class="s">'Sawtooth'</span><span class="p">]</span> <span class="ow">and</span> <span class="n">Stype</span> <span class="o">==</span> <span class="s">'Spos'</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> 1968 2187 <span class="n">UpdateWavesData</span><span class="p">()</span> 1969 2188 … … 1974 2193 <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> 1975 2194 <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> 1977 2196 <span class="n">Obj</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="s">'</span><span class="si">%.4f</span><span class="s">'</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> 1979 2198 1980 2199 <span class="k">def</span> <span class="nf">OnRefWave</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> 1981 2200 <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> 1982 2201 <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> 1984 2203 1985 2204 <span class="k">def</span> <span class="nf">OnDelWave</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> 1986 2205 <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> 1987 2206 <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> 1989 2208 <span class="n">UpdateWavesData</span><span class="p">()</span> 1990 2209 1991 2210 <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> 1992 2211 <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> … … 1998 2217 <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> 1999 2218 <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">' Parameters: '</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">']'</span><span class="p">)</span><span class="o">.</span><span class="n">lstrip</span><span class="p">(</span><span class="s">'['</span><span class="p">)</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s">"'"</span><span class="p">,</span><span class="s">''</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">'Sfrac'</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> 2005 2220 <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">'Fourier'</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">'Fourier'</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">'Fourier'</span> 2228 <span class="k">if</span> <span class="n">Stype</span> <span class="o">==</span> <span class="s">'Sfrac'</span><span class="p">:</span> 2229 <span class="k">if</span> <span class="s">'Crenel'</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">'Crenel'</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">'Spos'</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">'ZigZag'</span><span class="p">,</span><span class="s">'Sawtooth'</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">' </span><span class="si">%s</span><span class="s"> parameters: </span><span class="si">%s</span><span class="s">'</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">']'</span><span class="p">)</span><span class="o">.</span><span class="n">lstrip</span><span class="p">(</span><span class="s">'['</span><span class="p">)</span><span class="o">.</span><span class="n">replace</span><span class="p">(</span><span class="s">"'"</span><span class="p">,</span><span class="s">''</span><span class="p">))),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 2006 2247 <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">'</span><span class="si">%.4f</span><span class="s">'</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">'</span><span class="si">%.4f</span><span class="s">'</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">'</span><span class="si">%.4f</span><span class="s">'</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> 2011 2256 <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> 2012 2257 <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">></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> … … 2018 2263 <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> 2019 2264 <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">'Delete?'</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"><</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">'Delete?'</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> 2025 2273 <span class="k">return</span> <span class="n">waveSizer</span> 2026 2274 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">'Select reflection sets to use'</span><span class="p">,</span> 2279 <span class="s">'Use data'</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">'RefList'</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">'MapType'</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">'Resolution'</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">'Histograms'</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">' 4D map data: Reflection set from: '</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">'list'</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">'RefList'</span><span class="p">])):</span> <span class="c">#patch</span> 2298 <span class="n">Map</span><span class="p">[</span><span class="s">'RefList'</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">'RefList'</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">'RefList'</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">'RefList'</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">'Select reflection sets'</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">'Fobs'</span><span class="p">,</span><span class="s">'delt-F'</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">' Map type: '</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">'MapType'</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 2027 2313 <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> 2028 2315 <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">''</span><span class="p">)</span> 2029 2316 <span class="n">generalData</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">'General'</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">'SGData'</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">'SSGData'</span><span class="p">]</span> 2030 2319 <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">'AtomPtrs'</span><span class="p">]</span> 2031 2320 <span class="n">atomData</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">'Atoms'</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">'4DmapData'</span><span class="p">]</span> 2032 2322 <span class="k">if</span> <span class="n">waveData</span><span class="o">.</span><span class="n">GetSizer</span><span class="p">():</span> 2033 2323 <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> … … 2035 2325 <span class="n">typeNames</span> <span class="o">=</span> <span class="p">{</span><span class="s">'Sfrac'</span><span class="p">:</span><span class="s">' Site fraction'</span><span class="p">,</span><span class="s">'Spos'</span><span class="p">:</span><span class="s">' Position'</span><span class="p">,</span><span class="s">'Sadp'</span><span class="p">:</span><span class="s">' Thermal motion'</span><span class="p">,</span><span class="s">'Smag'</span><span class="p">:</span><span class="s">' Magnetic moment'</span><span class="p">}</span> 2036 2326 <span class="n">numVals</span> <span class="o">=</span> <span class="p">{</span><span class="s">'Sfrac'</span><span class="p">:</span><span class="mi">2</span><span class="p">,</span><span class="s">'Spos'</span><span class="p">:</span><span class="mi">6</span><span class="p">,</span><span class="s">'Sadp'</span><span class="p">:</span><span class="mi">12</span><span class="p">,</span><span class="s">'Smag'</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">'Xsin'</span><span class="p">,</span><span class="s">'Ysin'</span><span class="p">,</span><span class="s">'Zsin'</span><span class="p">,</span><span class="s">'Xcos'</span><span class="p">,</span><span class="s">'Y sin'</span><span class="p">,</span><span class="s">'Zsin'</span><span class="p">]</span>2327 <span class="n">posNames</span> <span class="o">=</span> <span class="p">[</span><span class="s">'Xsin'</span><span class="p">,</span><span class="s">'Ysin'</span><span class="p">,</span><span class="s">'Zsin'</span><span class="p">,</span><span class="s">'Xcos'</span><span class="p">,</span><span class="s">'Ycos'</span><span class="p">,</span><span class="s">'Zcos'</span><span class="p">,</span><span class="s">'Tzero'</span><span class="p">,</span><span class="s">'Xslope'</span><span class="p">,</span><span class="s">'Yslope'</span><span class="p">,</span><span class="s">'Zslope'</span><span class="p">]</span> 2038 2328 <span class="n">adpNames</span> <span class="o">=</span> <span class="p">[</span><span class="s">'U11sin'</span><span class="p">,</span><span class="s">'U22sin'</span><span class="p">,</span><span class="s">'U33sin'</span><span class="p">,</span><span class="s">'U12sin'</span><span class="p">,</span><span class="s">'U13sin'</span><span class="p">,</span><span class="s">'U23sin'</span><span class="p">,</span> 2039 2329 <span class="s">'U11cos'</span><span class="p">,</span><span class="s">'U22cos'</span><span class="p">,</span><span class="s">'U33cos'</span><span class="p">,</span><span class="s">'U12cos'</span><span class="p">,</span><span class="s">'U13cos'</span><span class="p">,</span><span class="s">'U23cos'</span><span class="p">]</span> 2040 2330 <span class="n">magNames</span> <span class="o">=</span> <span class="p">[</span><span class="s">'MXsin'</span><span class="p">,</span><span class="s">'MYsin'</span><span class="p">,</span><span class="s">'MZsin'</span><span class="p">,</span><span class="s">'MXcos'</span><span class="p">,</span><span class="s">'MYcos'</span><span class="p">,</span><span class="s">'MZcos'</span><span class="p">]</span> 2041 <span class="n">fracNames</span> <span class="o">=</span> <span class="p">[</span><span class="s">'F len'</span><span class="p">,</span><span class="s">'Fcent'</span><span class="p">,</span><span class="s">'Fsin'</span><span class="p">,</span><span class="s">'Fcos'</span><span class="p">]</span>2331 <span class="n">fracNames</span> <span class="o">=</span> <span class="p">[</span><span class="s">'Fsin'</span><span class="p">,</span><span class="s">'Fcos'</span><span class="p">,</span><span class="s">'Fzero'</span><span class="p">,</span><span class="s">'Fwid'</span><span class="p">]</span> 2042 2332 <span class="n">waveTypes</span> <span class="o">=</span> <span class="p">[</span><span class="s">'Fourier'</span><span class="p">,</span><span class="s">'Sawtooth'</span><span class="p">,</span><span class="s">'ZigZag'</span><span class="p">,</span><span class="s">'Crenel/Fourier'</span><span class="p">]</span> 2043 2333 <span class="n">Labels</span> <span class="o">=</span> <span class="p">{</span><span class="s">'Spos'</span><span class="p">:</span><span class="n">posNames</span><span class="p">,</span><span class="s">'Sfrac'</span><span class="p">:</span><span class="n">fracNames</span><span class="p">,</span><span class="s">'Sadp'</span><span class="p">:</span><span class="n">adpNames</span><span class="p">,</span><span class="s">'Smag'</span><span class="p">:</span><span class="n">magNames</span><span class="p">}</span> 2044 2334 <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">' Incommensurate propagation wave data:'</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 2045 2335 <span class="k">if</span> <span class="n">generalData</span><span class="p">[</span><span class="s">'Type'</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'modulated'</span><span class="p">,</span><span class="s">'magnetic'</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> 2046 2337 <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">'SS1'</span><span class="p">,]:</span> <span class="c">#future SS2 & 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">'SS1'</span><span class="p">,]:</span> <span class="c">#future SS2 & SS3 - I doubt it!</span> 2048 2341 <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> 2049 2342 <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> 2050 2343 <span class="k">for</span> <span class="n">Stype</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'Sfrac'</span><span class="p">,</span><span class="s">'Spos'</span><span class="p">,</span><span class="s">'Sadp'</span><span class="p">,</span><span class="s">'Smag'</span><span class="p">]:</span> 2051 <span class="k">if</span> <span class="n">generalData</span><span class="p">[</span><span class="s">'Type'</span><span class="p">]</span> <span class="o">==</span> <span class="s">'modulated'</span> <span class="ow">and</span> <span class="n">Stype</span> <span class="o">==</span> <span class="s">'Smag'</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">'A'</span> <span class="ow">and</span> <span class="n">Stype</span> <span class="o">==</span> <span class="s">'Sadp'</span><span class="p">:</span> <span class="c">#Uiso can'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">'Type'</span><span class="p">]</span> <span class="o">!=</span> <span class="s">'magnetic'</span> <span class="ow">and</span> <span class="n">Stype</span> <span class="o">==</span> <span class="s">'Smag'</span><span class="p">:</span> 2052 2347 <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">'waveType'</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> 2055 2349 <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> 2056 2350 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">'General'</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">'4DmapData'</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">'RefList'</span><span class="p">]</span> 2355 <span class="n">generalData</span><span class="p">[</span><span class="s">'Map'</span><span class="p">][</span><span class="s">'Flip'</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">'Fourier map error'</span><span class="p">,</span><span class="s">'No reflections defined for Fourier map'</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">'Name'</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">'rho'</span><span class="p">])</span> 2364 <span class="k">print</span> <span class="n">mapData</span><span class="p">[</span><span class="s">'MapType'</span><span class="p">]</span><span class="o">+</span><span class="s">' 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">'</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">'rho'</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">'rho'</span><span class="p">]),</span><span class="n">mapSig</span><span class="p">)</span> 2365 2057 2366 <span class="c">################################################################################</span> 2058 2367 <span class="c">#Structure drawing GUI stuff </span> … … 2084 2393 <span class="n">drawingData</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">'Drawing'</span><span class="p">]</span> 2085 2394 <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> 2087 2396 <span class="k">if</span> <span class="s">'Zstep'</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">drawingData</span><span class="p">:</span> 2088 2397 <span class="n">drawingData</span><span class="p">[</span><span class="s">'Zstep'</span><span class="p">]</span> <span class="o">=</span> <span class="mf">0.5</span> … … 2096 2405 <span class="n">drawingData</span><span class="p">[</span><span class="s">'showRigidBodies'</span><span class="p">]</span> <span class="o">=</span> <span class="bp">True</span> 2097 2406 <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">'Type'</span><span class="p">]</span> <span class="o ">==</span> <span class="s">'nuclear'</span><span class="p">:</span>2407 <span class="k">if</span> <span class="n">generalData</span><span class="p">[</span><span class="s">'Type'</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'nuclear'</span><span class="p">,</span><span class="s">'modulated'</span><span class="p">]:</span> 2099 2408 <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 & index</span> 2100 2409 <span class="k">elif</span> <span class="n">generalData</span><span class="p">[</span><span class="s">'Type'</span><span class="p">]</span> <span class="o">==</span> <span class="s">'macromolecular'</span><span class="p">:</span> … … 2544 2853 <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> 2545 2854 <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> 2547 2856 <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> 2548 2857 <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> … … 2554 2863 <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">'A'</span><span class="p">:</span> 2555 2864 <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> 2559 2866 <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> 2560 2867 <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> … … 3272 3579 <span class="n">textureData</span><span class="p">[</span><span class="s">'Order'</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> 3273 3580 <span class="n">textureData</span><span class="p">[</span><span class="s">'SH Coeff'</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">Call After</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> 3275 3582 <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> 3276 3583 … … 3279 3586 <span class="n">textureData</span><span class="p">[</span><span class="s">'Model'</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> 3280 3587 <span class="n">textureData</span><span class="p">[</span><span class="s">'SH Coeff'</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">Call After</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> 3282 3589 <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> 3283 3590 … … 3289 3596 <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> 3290 3597 <span class="n">textureData</span><span class="p">[</span><span class="s">'SHShow'</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">Call After</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> 3292 3599 3293 3600 <span class="k">def</span> <span class="nf">OnProjSel</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> … … 3327 3634 <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> 3328 3635 <span class="n">textureData</span><span class="p">[</span><span class="s">'PlotType'</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">Call After</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> 3330 3637 <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> 3331 3638 … … 3526 3833 <span class="s">'Babinet'</span><span class="p">:{</span><span class="s">'BabA'</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">'BabU'</span><span class="p">:[</span><span class="mf">0.0</span><span class="p">,</span><span class="bp">False</span><span class="p">]},</span> 3527 3834 <span class="s">'Extinction'</span><span class="p">:[</span><span class="s">'Lorentzian'</span><span class="p">,</span><span class="s">'None'</span><span class="p">,</span> 3528 <span class="p">{</span><span class="s">'Tbar'</span><span class="p">:</span><span class="mf">0.1</span><span class="p">,</span><span class="s">'Cos2TM'</span><span class="p">:</span><span class="mf">0.955</span><span class="p">,</span><span class="s">'Eg'</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">'Es'</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">'Ep'</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">'Tbar'</span><span class="p">:</span><span class="mf">0.1</span><span class="p">,</span><span class="s">'Cos2TM'</span><span class="p">:</span><span class="mf">0.955</span><span class="p">,</span><span class="s">'Eg'</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">'Es'</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">'Ep'</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> 3529 3836 <span class="n">UpdateHKLFdata</span><span class="p">(</span><span class="n">histoName</span><span class="p">)</span> 3530 3837 <span class="n">data</span><span class="p">[</span><span class="s">'Histograms'</span><span class="p">]</span> <span class="o">=</span> <span class="n">UseList</span> … … 3584 3891 <span class="k">finally</span><span class="p">:</span> 3585 3892 <span class="n">dlg</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span> 3586 3893 3587 3894 <span class="k">def</span> <span class="nf">OnDataDelete</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> 3588 3895 <span class="n">UseList</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">'Histograms'</span><span class="p">]</span> … … 3889 4196 <span class="k">if</span> <span class="n">refresh</span><span class="p">:</span> 3890 4197 <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">'Atoms'</span><span class="p">])</span>3892 4198 <span class="n">general</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">'General'</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">'AtomPtrs'</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">'AtomPtrs'</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">'Atoms'</span><span class="p">],</span><span class="n">cia</span><span class="o">+</span><span class="mi">8</span><span class="p">)</span> 3894 4201 <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">'Cell'</span><span class="p">][</span><span class="mi">1</span><span class="p">:</span><span class="mi">7</span><span class="p">])</span> 3895 4202 <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> … … 4261 4568 <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> 4262 4569 <span class="n">general</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">'General'</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">'AtomPtrs'</span><span class="p">]</span> 4263 4571 <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">'Cell'</span><span class="p">][</span><span class="mi">1</span><span class="p">:</span><span class="mi">7</span><span class="p">])</span> 4264 4572 <span class="n">Atoms</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">'Atoms'</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> 4266 4574 <span class="k">if</span> <span class="s">'macro'</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">general</span><span class="p">[</span><span class="s">'Type'</span><span class="p">]:</span> 4267 4575 <span class="k">print</span> <span class="s">'**** ERROR - this phase is not a macromolecule ****'</span> … … 4346 4654 4347 4655 <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">'Atoms'</span><span class="p">])</span>4349 4656 <span class="n">RBObjs</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">'RBModels'</span><span class="p">][</span><span class="s">'Residue'</span><span class="p">]</span> 4350 4657 <span class="n">names</span> <span class="o">=</span> <span class="p">[</span><span class="s">'None'</span><span class="p">,</span><span class="s">'Uiso'</span><span class="p">,</span><span class="s">'T'</span><span class="p">,</span><span class="s">'TL'</span><span class="p">,</span><span class="s">'TLS'</span><span class="p">]</span> 4351 4658 <span class="n">cia</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">'General'</span><span class="p">][</span><span class="s">'AtomPtrs'</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">'Atoms'</span><span class="p">],</span><span class="n">cia</span><span class="o">+</span><span class="mi">8</span><span class="p">)</span> 4352 4660 <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">'Select'</span><span class="p">,</span><span class="s">'Residue thermal motion model'</span><span class="p">,</span><span class="n">names</span><span class="p">)</span> 4353 4661 <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> … … 4475 4783 4476 4784 <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">' Atom: '</span><span class="o">+</span><span class="n">model</span><span class="p">[</span><span class="s">'name'</span><span class="p">]</span><span class="o">+</span><span class="s">': '</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">' Atom: '</span><span class="o">+</span><span class="n">model</span><span class="p">[</span><span class="s">'name'</span><span class="p">]</span><span class="o">+</span><span class="s">': '</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 4478 4786 <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">'x'</span><span class="p">,</span><span class="s">'y'</span><span class="p">,</span><span class="s">'z'</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">': '</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">': '</span><span class="p">)</span> 4480 4788 <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">'Pos'</span><span class="p">][</span><span class="mi">1</span><span class="p">][</span><span class="n">ix</span><span class="p">])</span> 4481 4789 <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> 4482 4790 <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">'Pos'</span><span class="p">,</span><span class="n">ix</span><span class="p">]</span> 4483 4791 <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">'</span><span class="si">%.4f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">model</span><span class="p">[</span><span class="s">'Pos'</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">'</span><span class="si">%.4f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">model</span><span class="p">[</span><span class="s">'Pos'</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> 4485 4793 <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> 4486 4794 <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> … … 4489 4797 <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> 4490 4798 <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">'x'</span><span class="p">,</span><span class="s">'y'</span><span class="p">,</span><span class="s">'z'</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">' Range: '</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">' Range: '</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 4492 4800 <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">'Pos'</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">'</span><span class="si">%.3f</span><span class="s"> </span><span class="si">%.3f</span><span class="s">'</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">'</span><span class="si">%.3f</span><span class="s"> </span><span class="si">%.3f</span><span class="s">'</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> 4494 4802 <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">'Pos'</span><span class="p">,</span><span class="n">ix</span><span class="p">]</span> 4495 4803 <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> … … 4547 4855 <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> 4548 4856 <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">'Type'</span><span class="p">]</span><span class="o">+</span><span class="s">': '</span><span class="o">+</span><span class="n">model</span><span class="p">[</span><span class="s">'name'</span><span class="p">]</span><span class="o">+</span><span class="s">': '</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">'Type'</span><span class="p">]</span><span class="o">+</span><span class="s">': '</span><span class="o">+</span><span class="n">model</span><span class="p">[</span><span class="s">'name'</span><span class="p">]</span><span class="o">+</span><span class="s">': '</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 4550 4858 <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">'x'</span><span class="p">,</span><span class="s">'y'</span><span class="p">,</span><span class="s">'z'</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">': '</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">': '</span><span class="p">)</span> 4552 4860 <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">'Pos'</span><span class="p">][</span><span class="mi">1</span><span class="p">][</span><span class="n">ix</span><span class="p">])</span> 4553 4861 <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> 4554 4862 <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">'Pos'</span><span class="p">,</span><span class="n">ix</span><span class="p">]</span> 4555 4863 <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">'</span><span class="si">%.4f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">model</span><span class="p">[</span><span class="s">'Pos'</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">'</span><span class="si">%.4f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">model</span><span class="p">[</span><span class="s">'Pos'</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> 4557 4865 <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> 4558 4866 <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> 4559 4867 <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">'Pos'</span><span class="p">,</span><span class="n">ix</span><span class="p">]</span> 4560 4868 <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">' Use mol. center? '</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">' Use mol. center? '</span><span class="p">)</span> 4562 4870 <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">'MolCent'</span><span class="p">][</span><span class="mi">1</span><span class="p">])</span> 4563 4871 <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> … … 4565 4873 <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> 4566 4874 <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">'x'</span><span class="p">,</span><span class="s">'y'</span><span class="p">,</span><span class="s">'z'</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">' Range: '</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">' Range: '</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 4568 4876 <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">'Pos'</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">'</span><span class="si">%.3f</span><span class="s"> </span><span class="si">%.3f</span><span class="s">'</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">'</span><span class="si">%.3f</span><span class="s"> </span><span class="si">%.3f</span><span class="s">'</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> 4570 4878 <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">'Pos'</span><span class="p">,</span><span class="n">ix</span><span class="p">]</span> 4571 4879 <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> … … 4575 4883 <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> 4576 4884 <span class="n">Ori</span> <span class="o">=</span> <span class="n">model</span><span class="p">[</span><span class="s">'Ori'</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">'Oa: '</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">'</span><span class="si">%.5f</span><span class="s">'</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">'Oa: '</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">'</span><span class="si">%.5f</span><span class="s">'</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> 4579 4887 <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> 4580 4888 <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> 4581 4889 <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">'Oi,Oj,Ok: '</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">'</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">'</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">'Oi,Oj,Ok: '</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">'</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">'</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> 4584 4892 <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> 4585 4893 <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> … … 4587 4895 <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> 4588 4896 <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">' Vary? '</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">' Vary? '</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 4590 4898 <span class="n">choice</span> <span class="o">=</span> <span class="p">[</span><span class="s">' '</span><span class="p">,</span><span class="s">'A'</span><span class="p">,</span><span class="s">'AV'</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">'Ovar'</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">'Ovar'</span><span class="p">],</span><span class="n">choices</span><span class="o">=</span><span class="n">choice</span><span class="p">,</span> 4592 4900 <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> 4593 4901 <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> 4594 4902 <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> 4595 4903 <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">' Range: Oa: '</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">' Range: Oa: '</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 4597 4905 <span class="n">Rge</span> <span class="o">=</span> <span class="n">model</span><span class="p">[</span><span class="s">'Ori'</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">'</span><span class="si">%.3f</span><span class="s"> </span><span class="si">%.3f</span><span class="s">'</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">'</span><span class="si">%.3f</span><span class="s"> </span><span class="si">%.3f</span><span class="s">'</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> 4599 4907 <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">'Ori'</span><span class="p">,</span><span class="mi">0</span><span class="p">]</span> 4600 4908 <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> 4601 4909 <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> 4602 4910 <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">'Oi,Oj,Ok: '</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">'Oi,Oj,Ok: '</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 4604 4912 <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">'Oi'</span><span class="p">,</span><span class="s">'Oj'</span><span class="p">,</span><span class="s">'Ok'</span><span class="p">]):</span> 4605 4913 <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">'</span><span class="si">%.3f</span><span class="s"> </span><span class="si">%.3f</span><span class="s"> '</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">'</span><span class="si">%.3f</span><span class="s"> </span><span class="si">%.3f</span><span class="s"> '</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> 4607 4915 <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">'Ori'</span><span class="p">,</span><span class="n">io</span><span class="o">+</span><span class="mi">1</span><span class="p">]</span> 4608 4916 <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> … … 4613 4921 <span class="k">if</span> <span class="n">model</span><span class="p">[</span><span class="s">'Type'</span><span class="p">]</span> <span class="o">==</span> <span class="s">'Residue'</span><span class="p">:</span> 4614 4922 <span class="n">atNames</span> <span class="o">=</span> <span class="n">RBData</span><span class="p">[</span><span class="s">'Residue'</span><span class="p">][</span><span class="n">model</span><span class="p">[</span><span class="s">'RBId'</span><span class="p">]][</span><span class="s">'atNames'</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">'Torsions:'</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">'Torsions:'</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 4616 4924 <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> 4617 4925 <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">'Tor'</span><span class="p">][</span><span class="mi">0</span><span class="p">]):</span> 4618 4926 <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">'Residue'</span><span class="p">][</span><span class="n">model</span><span class="p">[</span><span class="s">'RBId'</span><span class="p">]][</span><span class="s">'rbSeq'</span><span class="p">][</span><span class="n">it</span><span class="p">][:</span><span class="mi">2</span><span class="p">]</span> 4619 4927 <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">'-'</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">' </span><span class="si">%s</span><span class="s">: '</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">' </span><span class="si">%s</span><span class="s">: '</span><span class="o">%</span><span class="p">(</span><span class="n">name</span><span class="p">))</span> 4621 4929 <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">'Tor'</span><span class="p">][</span><span class="mi">1</span><span class="p">][</span><span class="n">it</span><span class="p">])</span> 4622 4930 <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> 4623 4931 <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">'Tor'</span><span class="p">,</span><span class="n">it</span><span class="p">]</span> 4624 4932 <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">'</span><span class="si">%.4f</span><span class="s">'</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">'</span><span class="si">%.4f</span><span class="s">'</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> 4626 4934 <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> 4627 4935 <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> 4628 4936 <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">'Tor'</span><span class="p">,</span><span class="n">it</span><span class="p">]</span> 4629 4937 <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">' Range: '</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">' Range: '</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 4631 4939 <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">'Tor'</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">'</span><span class="si">%.3f</span><span class="s"> </span><span class="si">%.3f</span><span class="s">'</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">'</span><span class="si">%.3f</span><span class="s"> </span><span class="si">%.3f</span><span class="s">'</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> 4633 4941 <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">'Tor'</span><span class="p">,</span><span class="n">it</span><span class="p">]</span> 4634 4942 <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> … … 4679 4987 4680 4988 <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">' March-Dollase ratio: '</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">' March-Dollase ratio: '</span><span class="p">)</span> 4682 4990 <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">'Coef'</span><span class="p">][</span><span class="mi">1</span><span class="p">])</span> 4683 4991 <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> 4684 4992 <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">'</span><span class="si">%.3f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">POData</span><span class="p">[</span><span class="s">'Coef'</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">'</span><span class="si">%.3f</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">POData</span><span class="p">[</span><span class="s">'Coef'</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> 4686 4994 <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> 4687 4995 <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> 4688 4996 <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">' Range: '</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">' Range: '</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 4690 4998 <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">'Coef'</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">'</span><span class="si">%.3f</span><span class="s"> </span><span class="si">%.3f</span><span class="s">'</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">'</span><span class="si">%.3f</span><span class="s"> </span><span class="si">%.3f</span><span class="s">'</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> 4692 5000 <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> 4693 5001 <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> 4694 5002 <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">' Unique axis, H K L: '</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">' Unique axis, H K L: '</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 4696 5004 <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">'axis'</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">'</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">'</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">'</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">'</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> 4698 5006 <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> 4699 5007 <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> … … 4715 5023 <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> 4716 5024 <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> 4718 5026 <span class="n">resultsGrid</span><span class="o">.</span><span class="n">ForceRefresh</span><span class="p">()</span> 4719 5027 <span class="k">elif</span> <span class="n">c</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span> … … 4738 5046 <span class="n">wg</span><span class="o">.</span><span class="n">GRID_VALUE_FLOAT</span><span class="o">+</span><span class="s">':10,4'</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">':10,5'</span><span class="p">,]</span> 4739 5047 <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> 4741 5049 <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> 4742 5050 <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> … … 4752 5060 4753 5061 <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> 4755 5063 <span class="k">if</span> <span class="ow">not</span> <span class="n">data</span><span class="p">[</span><span class="s">'Drawing'</span><span class="p">]:</span> <span class="c">#if new drawing - no drawing data!</span> 4756 5064 <span class="n">SetupDrawingData</span><span class="p">()</span> … … 4767 5075 <span class="k">if</span> <span class="ow">not</span> <span class="n">data</span><span class="p">[</span><span class="s">'MCSA'</span><span class="p">][</span><span class="s">'Models'</span><span class="p">]:</span> 4768 5076 <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">'No MC/SA models:'</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">'No MC/SA models:'</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 4770 5078 <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> 4771 5079 <span class="k">else</span><span class="p">:</span> 4772 5080 <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">'MC/SA models:'</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">'MC/SA models:'</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 4774 5082 <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> 4775 5083 <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">'MCSA'</span><span class="p">][</span><span class="s">'Models'</span><span class="p">]:</span> … … 4785 5093 <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> 4786 5094 <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> 4788 5096 4789 5097 <span class="k">if</span> <span class="ow">not</span> <span class="n">data</span><span class="p">[</span><span class="s">'MCSA'</span><span class="p">][</span><span class="s">'Results'</span><span class="p">]:</span> 4790 5098 <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">'No MC/SA results:'</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">'No MC/SA results:'</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 4792 5100 <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> 4793 5101 <span class="k">else</span><span class="p">:</span> 4794 5102 <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">'MC/SA results:'</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">'MC/SA results:'</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span> 4796 5104 <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> 4797 5105 <span class="n">Results</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">'MCSA'</span><span class="p">][</span><span class="s">'Results'</span><span class="p">]</span> 4798 5106 <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> 4799 5107 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> 4802 5110 <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> 4803 5111 <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> 4805 5113 4806 5114 <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> … … 4877 5185 <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> 4878 5186 <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"><</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">500</span><span class="p">:</span> <span class="c"># sanity check on size, since this fails w/Win & 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> 4882 5190 <span class="k">else</span><span class="p">:</span> 4883 5191 <span class="n">pgbar</span> <span class="o">=</span> <span class="bp">None</span> … … 5008 5316 5009 5317 <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">'To delete a few Pawley reflections: select rows & press Delete'</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">'To delete a Pawley reflection: select row & press Delete'</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">'General'</span><span class="p">]</span> 5011 5320 <span class="k">if</span> <span class="s">'Pawley ref'</span> <span class="ow">in</span> <span class="n">data</span><span class="p">:</span> 5012 5321 <span class="n">PawleyPeaks</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">'Pawley ref'</span><span class="p">]</span> 5013 5322 <span class="n">rowLabels</span> <span class="o">=</span> <span class="p">[]</span> 5014 5323 <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">'h'</span><span class="p">,</span><span class="s">'k'</span><span class="p">,</span><span class="s">'l'</span><span class="p">,</span><span class="s">'mul'</span><span class="p">,</span><span class="s">'d'</span><span class="p">,</span><span class="s">'refine'</span><span class="p">,</span><span class="s">'Fsq(hkl)'</span><span class="p">,</span><span class="s">'sig(Fsq)'</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">':10,4'</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">':10,2'</span><span class="p">,]</span> 5324 <span class="k">if</span> <span class="n">generalData</span><span class="p">[</span><span class="s">'Type'</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'modulated'</span><span class="p">,</span><span class="s">'magnetic'</span><span class="p">,]:</span> 5325 <span class="n">colLabels</span> <span class="o">=</span> <span class="p">[</span><span class="s">'h'</span><span class="p">,</span><span class="s">'k'</span><span class="p">,</span><span class="s">'l'</span><span class="p">,</span><span class="s">'m'</span><span class="p">,</span><span class="s">'mul'</span><span class="p">,</span><span class="s">'d'</span><span class="p">,</span><span class="s">'refine'</span><span class="p">,</span><span class="s">'Fsq(hkl)'</span><span class="p">,</span><span class="s">'sig(Fsq)'</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">':10,4'</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">':10,2'</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">'h'</span><span class="p">,</span><span class="s">'k'</span><span class="p">,</span><span class="s">'l'</span><span class="p">,</span><span class="s">'mul'</span><span class="p">,</span><span class="s">'d'</span><span class="p">,</span><span class="s">'refine'</span><span class="p">,</span><span class="s">'Fsq(hkl)'</span><span class="p">,</span><span class="s">'sig(Fsq)'</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">':10,4'</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">':10,2'</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> 5018 5334 <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> 5019 5335 <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> … … 5021 5337 <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> 5022 5338 <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> 5024 5340 <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> 5025 5341 <span class="k">else</span><span class="p">:</span> … … 5031 5347 <span class="k">def</span> <span class="nf">OnPawleyLoad</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> 5032 5348 <span class="n">generalData</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">'General'</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">'Pawley dmin'</span><span class="p">]</span>5034 5349 <span class="n">cell</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">'Cell'</span><span class="p">][</span><span class="mi">1</span><span class="p">:</span><span class="mi">7</span><span class="p">]</span> 5035 5350 <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> 5036 5351 <span class="n">SGData</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">'SGData'</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">'Pawley dmin'</span><span class="p">]</span> 5353 <span class="n">PawleyPeaks</span> <span class="o">=</span> <span class="p">[]</span> 5037 5354 <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">'Type'</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'modulated'</span><span class="p">,</span><span class="s">'magnetic'</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">'SuperVec'</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">'SuperSg'</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> 5048 5380 <span class="n">data</span><span class="p">[</span><span class="s">'Pawley ref'</span><span class="p">]</span> <span class="o">=</span> <span class="n">PawleyPeaks</span> 5049 5381 <span class="n">FillPawleyReflectionsGrid</span><span class="p">()</span> … … 5058 5390 <span class="k">return</span> 5059 5391 <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">'General'</span><span class="p">][</span><span class="s">'Cell'</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">'General'</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">'Type'</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'modulated'</span><span class="p">,</span><span class="s">'magnetic'</span><span class="p">,]:</span> 5395 <span class="n">im</span> <span class="o">=</span> <span class="mi">1</span> 5060 5396 <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">'Use'</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> 5061 5397 <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> … … 5071 5407 <span class="k">try</span><span class="p">:</span> 5072 5408 <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> 5074 5410 <span class="k">if</span> <span class="s">'Bragg'</span> <span class="ow">in</span> <span class="n">Sample</span><span class="p">[</span><span class="s">'Type'</span><span class="p">]:</span> 5075 5411 <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">'Shift'</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> \ … … 5084 5420 <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> 5085 5421 <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> 5087 5423 <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> 5088 5424 <span class="n">pola</span> <span class="o">=</span> <span class="mf">1.0</span> … … 5092 5428 <span class="n">pola</span> <span class="o">=</span> <span class="mf">1.0</span> 5093 5429 <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">'Scale'</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">'Scale'</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> 5095 5431 <span class="k">except</span> <span class="ne">IndexError</span><span class="p">:</span> 5096 5432 <span class="k">pass</span> … … 5113 5449 <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> \ 5114 5450 <span class="n">PatternId</span><span class="p">,</span><span class="s">'Reflection Lists'</span><span class="p">))[</span><span class="n">PhaseName</span><span class="p">][</span><span class="s">'RefList'</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">'General'</span><span class="p">][</span><span class="s">'Type'</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'modulated'</span><span class="p">,</span><span class="s">'magnetic'</span><span class="p">,]:</span> 5453 <span class="n">im</span> <span class="o">=</span> <span class="mi">1</span> 5115 5454 <span class="n">Inv</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">'General'</span><span class="p">][</span><span class="s">'SGData'</span><span class="p">][</span><span class="s">'SGInv'</span><span class="p">]</span> 5116 5455 <span class="n">mult</span> <span class="o">=</span> <span class="mf">0.5</span> … … 5121 5460 <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> 5122 5461 <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"><</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"><</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> 5129 5468 <span class="k">except</span> <span class="ne">IndexError</span><span class="p">:</span> 5130 5469 <span class="k">print</span> <span class="s">'skipped'</span><span class="p">,</span><span class="n">ref</span> … … 5169 5508 <span class="n">mapPeaks</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">'Map Peaks'</span><span class="p">]</span> 5170 5509 <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">'mag'</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">'mag'</span><span class="p">:</span> <span class="c">#big to small order</span> 5172 5511 <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">'x'</span><span class="p">,</span><span class="s">'y'</span><span class="p">,</span><span class="s">'z'</span><span class="p">,</span><span class="s">'dzero'</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">'x'</span><span class="p">,</span><span class="s">'y'</span><span class="p">,</span><span class="s">'z'</span><span class="p">,</span><span class="s">'dzero'</span><span class="p">,</span><span class="s">'dcent'</span><span class="p">]:</span> <span class="c">#small to big</span> 5174 5513 <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> 5175 5514 <span class="k">else</span><span class="p">:</span> … … 5179 5518 <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> 5180 5519 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> 5182 5521 <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">''</span><span class="p">)</span> 5183 5522 <span class="k">if</span> <span class="s">'Map Peaks'</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">' Select mag or dzero columnsto sort'</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">'Double click any column heading to sort'</span><span class="p">)</span> 5185 5524 <span class="n">mapPeaks</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">'Map Peaks'</span><span class="p">]</span> 5186 5525 <span class="n">rowLabels</span> <span class="o">=</span> <span class="p">[]</span> 5187 5526 <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">'mag'</span><span class="p">,</span><span class="s">'x'</span><span class="p">,</span><span class="s">'y'</span><span class="p">,</span><span class="s">'z'</span><span class="p">,</span><span class="s">'dzero'</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">':10,4'</span><span class="p">,]</span>5527 <span class="n">colLabels</span> <span class="o">=</span> <span class="p">[</span><span class="s">'mag'</span><span class="p">,</span><span class="s">'x'</span><span class="p">,</span><span class="s">'y'</span><span class="p">,</span><span class="s">'z'</span><span class="p">,</span><span class="s">'dzero'</span><span class="p">,</span><span class="s">'dcent'</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">':10,4'</span><span class="p">,]</span> 5190 5529 <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> 5191 5530 <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> … … 5203 5542 <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> 5204 5543 <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> 5206 5545 <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">'H'</span><span class="p">,</span><span class="n">Name</span><span class="o">=</span><span class="s">'M '</span><span class="o">+</span><span class="s">'</span><span class="si">%d</span><span class="s">'</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> 5207 5546 <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> … … 5321 5660 <span class="n">generalData</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">'General'</span><span class="p">]</span> 5322 5661 <span class="n">mapData</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">'Map'</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">'RefList'</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">'Fourier map'</span><span class="p">,</span><span class="s">'No reflections defined for Fourier map'</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">'RefList'</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">'Map'</span><span class="p">][</span><span class="s">'MapType'</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">'Fourier map error'</span><span class="p">,</span><span class="s">'Fourier map type not defined'</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">'Fourier map error'</span><span class="p">,</span><span class="s">'No reflections defined for Fourier map'</span><span class="p">)</span> 5326 5668 <span class="k">return</span> 5327 5669 <span class="n">phaseName</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">'Name'</span><span class="p">]</span> 5328 <span class="k">if</span> <span class="s">'PWDR'</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">'Reflection Lists'</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">'RefList'</span><span class="p">:[],</span><span class="s">'FF'</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">'RefList'</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">'FF'</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">'RefList'</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">'RefList'</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">'HKLF'</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> 5342 5672 <span class="k">if</span> <span class="s">'Omit'</span> <span class="ow">in</span> <span class="n">mapData</span><span class="p">[</span><span class="s">'MapType'</span><span class="p">]:</span> 5343 5673 <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">'Omit map'</span><span class="p">,</span><span class="s">'Blocks done'</span><span class="p">,</span><span class="mi">65</span><span class="p">,</span> 5344 5674 <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> 5346 5676 <span class="n">pgbar</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span> 5347 5677 <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> 5349 5679 <span class="n">mapData</span><span class="p">[</span><span class="s">'Flip'</span><span class="p">]</span> <span class="o">=</span> <span class="bp">False</span> 5350 5680 <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">'rho'</span><span class="p">])</span> … … 5359 5689 <span class="k">def</span> <span class="nf">OnFourClear</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> 5360 5690 <span class="n">generalData</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">'General'</span><span class="p">]</span> 5361 <span class="n">generalData</span><span class="p">[</span><span class="s">'Map'</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">'Map'</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> 5362 5692 <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> 5363 5693 5694 <span class="c"># map printing for testing purposes</span> 5364 5695 <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>5366 5696 <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> 5367 5697 <span class="k">if</span> <span class="n">dim</span> <span class="o">==</span> <span class="mi">2</span><span class="p">:</span> … … 5391 5721 <span class="k">def</span> <span class="nf">OnSearchMaps</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> 5392 5722 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>5395 5723 <span class="k">print</span> <span class="s">' Begin fourier map search - can take some time'</span> 5396 5724 <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> 5397 5725 <span class="n">generalData</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">'General'</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">'Drawing'</span><span class="p">]</span> 5398 5727 <span class="n">mapData</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">'Map'</span><span class="p">]</span> 5399 5728 <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">'rho'</span><span class="p">]):</span> 5400 5729 <span class="n">wx</span><span class="o">.</span><span class="n">BeginBusyCursor</span><span class="p">()</span> 5401 5730 <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">'N'</span> <span class="ow">in</span> <span class="n">mapData</span><span class="p">[</span><span class="s">'Type'</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> 5403 5738 <span class="k">finally</span><span class="p">:</span> 5404 5739 <span class="n">wx</span><span class="o">.</span><span class="n">EndBusyCursor</span><span class="p">()</span> 5405 5740 <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> 5407 5742 <span class="n">data</span><span class="p">[</span><span class="s">'Map Peaks'</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> 5408 5743 <span class="k">print</span> <span class="s">' Map search finished, time = </span><span class="si">%.2f</span><span class="s">s'</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> … … 5414 5749 <span class="k">else</span><span class="p">:</span> 5415 5750 <span class="k">print</span> <span class="s">'No map available'</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">'General'</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">'Map'</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">'4DmapData'</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">'Flip'</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">'RefList'</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">'Charge flip error'</span><span class="p">,</span><span class="s">'No reflections defined for charge flipping'</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">'Name'</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">'Charge flipping'</span><span class="p">,</span><span class="s">'Residual Rcf ='</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"><</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">500</span><span class="p">:</span> <span class="c"># sanity check on size, since this fails w/Win & 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">'Flip'</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">'rho'</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">'Drawing'</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">'Drawing'</span><span class="p">][</span><span class="s">'contourLevel'</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">'Drawing'</span><span class="p">][</span><span class="s">'mapSize'</span><span class="p">]</span> <span class="o">=</span> <span class="mf">10.</span> 5783 <span class="k">print</span> <span class="s">' 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">'</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">'rho'</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">'rho'</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">'Rcf'</span><span class="p">]</span> <span class="o"><</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">'Bad charge flip map - no peak search done'</span> 5416 5788 5417 5789 <span class="k">def</span> <span class="nf">OnChargeFlip</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> … … 5419 5791 <span class="n">mapData</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">'Map'</span><span class="p">]</span> 5420 5792 <span class="n">flipData</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">'Flip'</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">'RefList'</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">'RefList'</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">'Charge flip error'</span><span class="p">,</span><span class="s">'No reflections defined for charge flipping'</span><span class="p">)</span> 5796 <span class="k">return</span> 5422 5797 <span class="n">phaseName</span> <span class="o">=</span> <span class="n">generalData</span><span class="p">[</span><span class="s">'Name'</span><span class="p">]</span> 5423 <span class="k">if</span> <span class="s">'PWDR'</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">'Reflection Lists'</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">'RefList'</span><span class="p">:[],</span><span class="s">'FF'</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">'RefList'</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">'FF'</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">'RefList'</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">'RefList'</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">'HKLF'</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">'**** ERROR - No data defined for charge flipping'</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> 5440 5800 <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">'Charge flipping'</span><span class="p">,</span><span class="s">'Residual Rcf ='</span><span class="p">,</span><span class="mf">101.0</span><span class="p">,</span> 5441 5801 <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> 5442 5802 <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> 5443 5803 <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"><</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">500</span><span class="p">:</span> <span class="c"># sanity check on size, since this fails w/Win & 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> 5447 5807 <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> 5449 5809 <span class="k">finally</span><span class="p">:</span> 5450 5810 <span class="n">pgbar</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span> … … 5469 5829 <span class="n">event</span><span class="o">.</span><span class="n">Skip</span><span class="p">()</span> 5470 5830 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">''' 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">'''Fill "Select tab" 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> 5474 5834 <span class="sd"> '''</span> 5475 5835 <span class="k">def</span> <span class="nf">OnSelectPage</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> 5476 5836 <span class="s">'Called when an item is selected from the Select page menu'</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">'Warning: menu item not in dict! id='</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">"Warning: tab "</span><span class="o">+</span><span class="n">tabname</span><span class="o">+</span><span class="s">" was not found"</span> 5479 5849 <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">'Select tab'</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> 5481 5851 <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"><</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"><</span> <span class="mi">0</span><span class="p">:</span> <span class="c"># is tab already in menu?</span> 5484 5853 <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> 5485 5855 <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> 5486 5856 <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 5489 5857 5490 5858 <span class="k">def</span> <span class="nf">OnPageChanged</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> … … 5499 5867 5500 5868 <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>5503 5869 <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 'Select',page,text</span>5505 5870 <span class="k">if</span> <span class="n">text</span> <span class="o">==</span> <span class="s">'General'</span><span class="p">:</span> 5506 5871 <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>5514 5872 <span class="n">UpdateGeneral</span><span class="p">()</span> 5515 5873 <span class="k">elif</span> <span class="n">text</span> <span class="o">==</span> <span class="s">'Data'</span><span class="p">:</span> 5516 5874 <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>5521 5875 <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> 5522 5876 <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> 5523 5877 <span class="k">elif</span> <span class="n">text</span> <span class="o">==</span> <span class="s">'Atoms'</span><span class="p">:</span> 5524 5878 <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>5541 5879 <span class="n">FillAtomsGrid</span><span class="p">(</span><span class="n">Atoms</span><span class="p">)</span> 5542 5880 <span class="k">elif</span> <span class="n">text</span> <span class="o">==</span> <span class="s">'Wave Data'</span> <span class="ow">and</span> <span class="n">data</span><span class="p">[</span><span class="s">'General'</span><span class="p">][</span><span class="s">'Type'</span><span class="p">]</span> <span class="ow">in</span> <span class="p">[</span><span class="s">'modulated'</span><span class="p">,</span><span class="s">'magnetic'</span><span class="p">]:</span> 5543 5881 <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>5545 5882 <span class="n">UpdateWavesData</span><span class="p">()</span> 5546 5883 <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> 5547 5884 <span class="k">elif</span> <span class="n">text</span> <span class="o">==</span> <span class="s">'Draw Options'</span><span class="p">:</span> 5548 5885 <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>5550 5886 <span class="n">UpdateDrawOptions</span><span class="p">()</span> 5551 5887 <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> 5552 5888 <span class="k">elif</span> <span class="n">text</span> <span class="o">==</span> <span class="s">'Draw Atoms'</span><span class="p">:</span> 5553 5889 <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>5573 5890 <span class="n">UpdateDrawAtoms</span><span class="p">()</span> 5574 5891 <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> 5575 5892 <span class="k">elif</span> <span class="n">text</span> <span class="o">==</span> <span class="s">'RB Models'</span><span class="p">:</span> 5576 5893 <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">,</