Ignore:
Timestamp:
May 2, 2015 5:30:05 PM (8 years ago)
Author:
toby
Message:

bug fix in unused grid code; doc fixes and cleanup

File:
1 edited

Legend:

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

    r1709 r1832  
    5252<span class="c">#GSASIIgrid - data display routines</span>
    5353<span class="c">########### SVN repository information ###################</span>
    54 <span class="c"># $Date: 2015-03-13 15:46:05 -0500 (Fri, 13 Mar 2015) $</span>
    55 <span class="c"># $Author: vondreele $</span>
    56 <span class="c"># $Revision: 1699 $</span>
     54<span class="c"># $Date: 2015-05-01 18:38:23 -0500 (Fri, 01 May 2015) $</span>
     55<span class="c"># $Author: toby $</span>
     56<span class="c"># $Revision: 1831 $</span>
    5757<span class="c"># $URL: https://subversion.xray.aps.anl.gov/pyGSAS/trunk/GSASIIgrid.py $</span>
    58 <span class="c"># $Id: GSASIIgrid.py 1699 2015-03-13 20:46:05Z vondreele $</span>
     58<span class="c"># $Id: GSASIIgrid.py 1831 2015-05-01 23:38:23Z toby $</span>
    5959<span class="c">########### SVN repository information ###################</span>
    6060<span class="sd">&#39;&#39;&#39;</span>
     
    6262<span class="sd">--------------------------------</span>
    6363
    64 <span class="sd">Note that a number of routines here should be moved to GSASIIctrls eventually, such as</span>
    65 <span class="sd">G2LoggedButton, EnumSelector, G2ChoiceButton, SingleFloatDialog, SingleStringDialog,</span>
    66 <span class="sd">MultiStringDialog, G2MultiChoiceDialog, G2SingleChoiceDialog, G2ColumnIDDialog, ItemSelector, GridFractionEditor</span>
    67 
    68 <span class="sd">Probably SGMessageBox, SymOpDialog, DisAglDialog, too. </span>
    69 
    7064<span class="sd">&#39;&#39;&#39;</span>
    7165<span class="kn">import</span> <span class="nn">wx</span>
    7266<span class="kn">import</span> <span class="nn">wx.grid</span> <span class="kn">as</span> <span class="nn">wg</span>
    73 <span class="kn">import</span> <span class="nn">wx.wizard</span> <span class="kn">as</span> <span class="nn">wz</span>
    74 <span class="kn">import</span> <span class="nn">wx.aui</span>
     67<span class="c">#import wx.wizard as wz</span>
     68<span class="c">#import wx.aui</span>
    7569<span class="kn">import</span> <span class="nn">wx.lib.scrolledpanel</span> <span class="kn">as</span> <span class="nn">wxscroll</span>
    7670<span class="kn">import</span> <span class="nn">time</span>
     
    8377<span class="kn">import</span> <span class="nn">scipy.optimize</span> <span class="kn">as</span> <span class="nn">so</span>
    8478<span class="kn">import</span> <span class="nn">GSASIIpath</span>
    85 <span class="n">GSASIIpath</span><span class="o">.</span><span class="n">SetVersionNumber</span><span class="p">(</span><span class="s">&quot;$Revision: 1699 $&quot;</span><span class="p">)</span>
     79<span class="n">GSASIIpath</span><span class="o">.</span><span class="n">SetVersionNumber</span><span class="p">(</span><span class="s">&quot;$Revision: 1831 $&quot;</span><span class="p">)</span>
    8680<span class="kn">import</span> <span class="nn">GSASIImath</span> <span class="kn">as</span> <span class="nn">G2mth</span>
    8781<span class="kn">import</span> <span class="nn">GSASIIIO</span> <span class="kn">as</span> <span class="nn">G2IO</span>
     
    117111
    118112<span class="p">[</span> <span class="n">wxID_PWDRADD</span><span class="p">,</span> <span class="n">wxID_HKLFADD</span><span class="p">,</span> <span class="n">wxID_PWDANALYSIS</span><span class="p">,</span> <span class="n">wxID_PWDCOPY</span><span class="p">,</span> <span class="n">wxID_PLOTCTRLCOPY</span><span class="p">,</span>
    119     <span class="n">wxID_DATADELETE</span><span class="p">,</span>
    120 <span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="n">wx</span><span class="o">.</span><span class="n">NewId</span><span class="p">()</span> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">6</span><span class="p">)]</span>
     113    <span class="n">wxID_DATADELETE</span><span class="p">,</span><span class="n">wxID_DATACOPY</span><span class="p">,</span><span class="n">wxID_DATACOPYFLAGS</span><span class="p">,</span><span class="n">wxID_DATASELCOPY</span><span class="p">,</span>
     114<span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="n">wx</span><span class="o">.</span><span class="n">NewId</span><span class="p">()</span> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">9</span><span class="p">)]</span>
    121115
    122116<span class="p">[</span> <span class="n">wxID_ATOMSEDITADD</span><span class="p">,</span> <span class="n">wxID_ATOMSEDITINSERT</span><span class="p">,</span> <span class="n">wxID_ATOMSEDITDELETE</span><span class="p">,</span> <span class="n">wxID_ATOMSREFINE</span><span class="p">,</span>
     
    158152<span class="p">[</span> <span class="n">wxID_BACKCOPY</span><span class="p">,</span><span class="n">wxID_LIMITCOPY</span><span class="p">,</span> <span class="n">wxID_SAMPLECOPY</span><span class="p">,</span> <span class="n">wxID_SAMPLECOPYSOME</span><span class="p">,</span> <span class="n">wxID_BACKFLAGCOPY</span><span class="p">,</span> <span class="n">wxID_SAMPLEFLAGCOPY</span><span class="p">,</span>
    159153    <span class="n">wxID_SAMPLESAVE</span><span class="p">,</span> <span class="n">wxID_SAMPLELOAD</span><span class="p">,</span><span class="n">wxID_ADDEXCLREGION</span><span class="p">,</span><span class="n">wxID_SETSCALE</span><span class="p">,</span><span class="n">wxID_SAMPLE1VAL</span><span class="p">,</span><span class="n">wxID_ALLSAMPLELOAD</span><span class="p">,</span>
    160 <span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="n">wx</span><span class="o">.</span><span class="n">NewId</span><span class="p">()</span> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">12</span><span class="p">)]</span>
     154    <span class="n">wxID_PEAKSMOVE</span><span class="p">,</span>
     155<span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="n">wx</span><span class="o">.</span><span class="n">NewId</span><span class="p">()</span> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">13</span><span class="p">)]</span>
    161156
    162157<span class="p">[</span> <span class="n">wxID_INSTPRMRESET</span><span class="p">,</span><span class="n">wxID_CHANGEWAVETYPE</span><span class="p">,</span><span class="n">wxID_INSTCOPY</span><span class="p">,</span> <span class="n">wxID_INSTFLAGCOPY</span><span class="p">,</span> <span class="n">wxID_INSTLOAD</span><span class="p">,</span>
     
    185180
    186181<span class="p">[</span> <span class="n">wxID_RENAMESEQSEL</span><span class="p">,</span><span class="n">wxID_SAVESEQSEL</span><span class="p">,</span><span class="n">wxID_SAVESEQSELCSV</span><span class="p">,</span><span class="n">wxID_SAVESEQCSV</span><span class="p">,</span><span class="n">wxID_PLOTSEQSEL</span><span class="p">,</span>
    187   <span class="n">wxID_ORGSEQSEL</span><span class="p">,</span><span class="n">wxADDSEQVAR</span><span class="p">,</span><span class="n">wxDELSEQVAR</span><span class="p">,</span><span class="n">wxEDITSEQVAR</span><span class="p">,</span><span class="n">wxCOPYPARFIT</span><span class="p">,</span>
     182  <span class="n">wxID_ORGSEQSEL</span><span class="p">,</span><span class="n">wxADDSEQVAR</span><span class="p">,</span><span class="n">wxDELSEQVAR</span><span class="p">,</span><span class="n">wxEDITSEQVAR</span><span class="p">,</span><span class="n">wxCOPYPARFIT</span><span class="p">,</span><span class="n">wxID_AVESEQSEL</span><span class="p">,</span>
    188183  <span class="n">wxADDPARFIT</span><span class="p">,</span><span class="n">wxDELPARFIT</span><span class="p">,</span><span class="n">wxEDITPARFIT</span><span class="p">,</span><span class="n">wxDOPARFIT</span><span class="p">,</span>
    189 <span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="n">wx</span><span class="o">.</span><span class="n">NewId</span><span class="p">()</span> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">14</span><span class="p">)]</span>
     184<span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="n">wx</span><span class="o">.</span><span class="n">NewId</span><span class="p">()</span> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">15</span><span class="p">)]</span>
    190185
    191186<span class="p">[</span> <span class="n">wxID_MODELCOPY</span><span class="p">,</span><span class="n">wxID_MODELFIT</span><span class="p">,</span><span class="n">wxID_MODELADD</span><span class="p">,</span><span class="n">wxID_ELEMENTADD</span><span class="p">,</span><span class="n">wxID_ELEMENTDELETE</span><span class="p">,</span>
     
    194189<span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="n">wx</span><span class="o">.</span><span class="n">NewId</span><span class="p">()</span> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">12</span><span class="p">)]</span>
    195190
    196 <span class="p">[</span> <span class="n">wxID_SELECTPHASE</span><span class="p">,</span><span class="n">wxID_PWDHKLPLOT</span><span class="p">,</span><span class="n">wxID_PWD3DHKLPLOT</span><span class="p">,</span>
    197 <span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="n">wx</span><span class="o">.</span><span class="n">NewId</span><span class="p">()</span> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">3</span><span class="p">)]</span>
     191<span class="p">[</span> <span class="n">wxID_SELECTPHASE</span><span class="p">,</span><span class="n">wxID_PWDHKLPLOT</span><span class="p">,</span><span class="n">wxID_PWD3DHKLPLOT</span><span class="p">,</span><span class="n">wxID_3DALLHKLPLOT</span><span class="p">,</span>
     192<span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="n">wx</span><span class="o">.</span><span class="n">NewId</span><span class="p">()</span> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">4</span><span class="p">)]</span>
    198193
    199194<span class="p">[</span> <span class="n">wxID_PDFCOPYCONTROLS</span><span class="p">,</span> <span class="n">wxID_PDFSAVECONTROLS</span><span class="p">,</span> <span class="n">wxID_PDFLOADCONTROLS</span><span class="p">,</span>
     
    205200
    206201<span class="n">VERY_LIGHT_GREY</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">Colour</span><span class="p">(</span><span class="mi">235</span><span class="p">,</span><span class="mi">235</span><span class="p">,</span><span class="mi">235</span><span class="p">)</span>
     202
     203<span class="c"># Aliases for Classes/Functions moved to GSASIIctrls, all should be tracked down but leaving as a reminder</span>
     204<span class="c">#SingleFloatDialog = G2G.SingleFloatDialog</span>
     205<span class="c">#SingleStringDialog = G2G.SingleStringDialog</span>
     206<span class="c">#MultiStringDialog = G2G.MultiStringDialog</span>
     207<span class="c">#G2ColumnIDDialog = G2G.G2ColumnIDDialog</span>
     208<span class="c">#ItemSelector = G2G.ItemSelector</span>
     209<span class="c">#HorizontalLine = G2G.HorizontalLine</span>
     210<span class="c">#G2LoggedButton = G2G.G2LoggedButton</span>
     211<span class="c">#EnumSelector = G2G.EnumSelector</span>
     212<span class="c">#G2ChoiceButton = G2G.G2ChoiceButton</span>
     213<span class="c">#GSGrid = G2G.GSGrid</span>
     214<span class="c">#Table = G2G.Table</span>
     215<span class="c">#GridFractionEditor = G2G.GridFractionEditor</span>
     216<span class="c">#GSNoteBook = G2G.GSNoteBook</span>
     217
     218<span class="c"># Should SGMessageBox, SymOpDialog, DisAglDialog be moved? </span>
     219
    207220<span class="c">################################################################################</span>
    208221<span class="c">#### GSAS-II class definitions</span>
     
    255268        <span class="bp">self</span><span class="o">.</span><span class="n">ShowModal</span><span class="p">()</span>
    256269        <span class="k">return</span>
    257        
    258        
    259 </div></div>
    260 <div class="viewcode-block" id="G2LoggedButton"><a class="viewcode-back" href="../GSASIIGUIr.html#GSASIIgrid.G2LoggedButton">[docs]</a><span class="k">class</span> <span class="nc">G2LoggedButton</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">Button</span><span class="p">):</span>
    261     <span class="sd">&#39;&#39;&#39;A version of wx.Button that creates logging events. Bindings are saved</span>
    262 <span class="sd">    in the object, and are looked up rather than directly set with a bind.</span>
    263 <span class="sd">    An index to these buttons is saved as log.ButtonBindingLookup</span>
    264 <span class="sd">    :param wx.Panel parent: parent widget</span>
    265 <span class="sd">    :param int id: Id for button</span>
    266 <span class="sd">    :param str label: label for button</span>
    267 <span class="sd">    :param str locationcode: a label used internally to uniquely indentify the button</span>
    268 <span class="sd">    :param function handler: a routine to call when the button is pressed</span>
    269 <span class="sd">    &#39;&#39;&#39;</span>
    270     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">parent</span><span class="p">,</span><span class="nb">id</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">ID_ANY</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39;&#39;</span><span class="p">,</span><span class="n">locationcode</span><span class="o">=</span><span class="s">&#39;&#39;</span><span class="p">,</span>
    271                  <span class="n">handler</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span><span class="o">*</span><span class="n">args</span><span class="p">,</span><span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
    272         <span class="nb">super</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">__class__</span><span class="p">,</span><span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="n">parent</span><span class="p">,</span><span class="nb">id</span><span class="p">,</span><span class="n">label</span><span class="p">,</span><span class="o">*</span><span class="n">args</span><span class="p">,</span><span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
    273         <span class="bp">self</span><span class="o">.</span><span class="n">label</span> <span class="o">=</span> <span class="n">label</span>
    274         <span class="bp">self</span><span class="o">.</span><span class="n">handler</span> <span class="o">=</span> <span class="n">handler</span>
    275         <span class="bp">self</span><span class="o">.</span><span class="n">locationcode</span> <span class="o">=</span> <span class="n">locationcode</span>
    276         <span class="n">key</span> <span class="o">=</span> <span class="n">locationcode</span> <span class="o">+</span> <span class="s">&#39;+&#39;</span> <span class="o">+</span> <span class="n">label</span> <span class="c"># hash code to find button</span>
    277         <span class="bp">self</span><span class="o">.</span><span class="n">Bind</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">EVT_BUTTON</span><span class="p">,</span><span class="bp">self</span><span class="o">.</span><span class="n">onPress</span><span class="p">)</span>
    278         <span class="n">log</span><span class="o">.</span><span class="n">ButtonBindingLookup</span><span class="p">[</span><span class="n">key</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span>
    279 <div class="viewcode-block" id="G2LoggedButton.onPress"><a class="viewcode-back" href="../GSASIIGUIr.html#GSASIIgrid.G2LoggedButton.onPress">[docs]</a>    <span class="k">def</span> <span class="nf">onPress</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">event</span><span class="p">):</span>
    280         <span class="s">&#39;create log event and call handler&#39;</span>
    281         <span class="n">log</span><span class="o">.</span><span class="n">MakeButtonLog</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">locationcode</span><span class="p">,</span><span class="bp">self</span><span class="o">.</span><span class="n">label</span><span class="p">)</span>
    282         <span class="bp">self</span><span class="o">.</span><span class="n">handler</span><span class="p">(</span><span class="n">event</span><span class="p">)</span>
    283        
    284 <span class="c">################################################################################</span>
     270
    285271<span class="c">################################################################################</span></div></div>
    286 <div class="viewcode-block" id="EnumSelector"><a class="viewcode-back" href="../GSASIIGUIr.html#GSASIIgrid.EnumSelector">[docs]</a><span class="k">class</span> <span class="nc">EnumSelector</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">ComboBox</span><span class="p">):</span>
    287     <span class="sd">&#39;&#39;&#39;A customized :class:`wxpython.ComboBox` that selects items from a list</span>
    288 <span class="sd">    of choices, but sets a dict (list) entry to the corresponding</span>
    289 <span class="sd">    entry from the input list of values.</span>
    290 
    291 <span class="sd">    :param wx.Panel parent: the parent to the :class:`~wxpython.ComboBox` (usually a</span>
    292 <span class="sd">      frame or panel)</span>
    293 <span class="sd">    :param dict dct: a dict (or list) to contain the value set</span>
    294 <span class="sd">      for the :class:`~wxpython.ComboBox`.</span>
    295 <span class="sd">    :param item: the dict key (or list index) where ``dct[item]`` will </span>
    296 <span class="sd">      be set to the value selected in the :class:`~wxpython.ComboBox`. Also, dct[item]</span>
    297 <span class="sd">      contains the starting value shown in the widget. If the value</span>
    298 <span class="sd">      does not match an entry in :data:`values`, the first value</span>
    299 <span class="sd">      in :data:`choices` is used as the default, but ``dct[item]`` is</span>
    300 <span class="sd">      not changed.    </span>
    301 <span class="sd">    :param list choices: a list of choices to be displayed to the</span>
    302 <span class="sd">      user such as</span>
    303 <span class="sd">      ::</span>
    304 <span class="sd">      </span>
    305 <span class="sd">      [&quot;default&quot;,&quot;option 1&quot;,&quot;option 2&quot;,]</span>
    306 
    307 <span class="sd">      Note that these options will correspond to the entries in </span>
    308 <span class="sd">      :data:`values` (if specified) item by item. </span>
    309 <span class="sd">    :param list values: a list of values that correspond to</span>
    310 <span class="sd">      the options in :data:`choices`, such as</span>
    311 <span class="sd">      ::</span>
    312 <span class="sd">      </span>
    313 <span class="sd">      [0,1,2]</span>
    314 <span class="sd">      </span>
    315 <span class="sd">      The default for :data:`values` is to use the same list as</span>
    316 <span class="sd">      specified for :data:`choices`.</span>
    317 <span class="sd">    :param (other): additional keyword arguments accepted by</span>
    318 <span class="sd">      :class:`~wxpython.ComboBox` can be specified.</span>
    319 <span class="sd">    &#39;&#39;&#39;</span>
    320     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">parent</span><span class="p">,</span><span class="n">dct</span><span class="p">,</span><span class="n">item</span><span class="p">,</span><span class="n">choices</span><span class="p">,</span><span class="n">values</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span><span class="o">**</span><span class="n">kw</span><span class="p">):</span>
    321         <span class="k">if</span> <span class="n">values</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span>
    322             <span class="n">values</span> <span class="o">=</span> <span class="n">choices</span>
    323         <span class="k">if</span> <span class="n">dct</span><span class="p">[</span><span class="n">item</span><span class="p">]</span> <span class="ow">in</span> <span class="n">values</span><span class="p">:</span>
    324             <span class="n">i</span> <span class="o">=</span> <span class="n">values</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">dct</span><span class="p">[</span><span class="n">item</span><span class="p">])</span>
    325         <span class="k">else</span><span class="p">:</span>
    326             <span class="n">i</span> <span class="o">=</span> <span class="mi">0</span>
    327         <span class="n">startval</span> <span class="o">=</span> <span class="n">choices</span><span class="p">[</span><span class="n">i</span><span class="p">]</span>
    328         <span class="n">wx</span><span class="o">.</span><span class="n">ComboBox</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">parent</span><span class="p">,</span><span class="n">wx</span><span class="o">.</span><span class="n">ID_ANY</span><span class="p">,</span><span class="n">startval</span><span class="p">,</span>
    329                              <span class="n">choices</span> <span class="o">=</span> <span class="n">choices</span><span class="p">,</span>
    330                              <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="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">CB_READONLY</span><span class="p">,</span>
    331                              <span class="o">**</span><span class="n">kw</span><span class="p">)</span>
    332         <span class="bp">self</span><span class="o">.</span><span class="n">choices</span> <span class="o">=</span> <span class="n">choices</span>
    333         <span class="bp">self</span><span class="o">.</span><span class="n">values</span> <span class="o">=</span> <span class="n">values</span>
    334         <span class="bp">self</span><span class="o">.</span><span class="n">dct</span> <span class="o">=</span> <span class="n">dct</span>
    335         <span class="bp">self</span><span class="o">.</span><span class="n">item</span> <span class="o">=</span> <span class="n">item</span>
    336         <span class="bp">self</span><span class="o">.</span><span class="n">Bind</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">EVT_COMBOBOX</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">onSelection</span><span class="p">)</span>
    337     <span class="k">def</span> <span class="nf">onSelection</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">event</span><span class="p">):</span>
    338         <span class="c"># respond to a selection by setting the enum value in the CIF dictionary</span>
    339         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">GetValue</span><span class="p">()</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">choices</span><span class="p">:</span> <span class="c"># should always be true!</span>
    340             <span class="bp">self</span><span class="o">.</span><span class="n">dct</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">item</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">values</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">choices</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">GetValue</span><span class="p">())]</span>
    341         <span class="k">else</span><span class="p">:</span>
    342             <span class="bp">self</span><span class="o">.</span><span class="n">dct</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">item</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">values</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="c"># unknown</span>
    343 
    344 <span class="c">################################################################################</span>
    345 <span class="c">################################################################################</span></div>
    346 <div class="viewcode-block" id="G2ChoiceButton"><a class="viewcode-back" href="../GSASIIGUIr.html#GSASIIgrid.G2ChoiceButton">[docs]</a><span class="k">class</span> <span class="nc">G2ChoiceButton</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">Choice</span><span class="p">):</span>
    347     <span class="sd">&#39;&#39;&#39;A customized version of a wx.Choice that automatically initializes</span>
    348 <span class="sd">    the control to match a supplied value and saves the choice directly</span>
    349 <span class="sd">    into an array or list. Optionally a function can be called each time a</span>
    350 <span class="sd">    choice is selected. The widget can be used with an array item that is set to </span>
    351 <span class="sd">    to the choice by number (``indLoc[indKey]``) or by string value</span>
    352 <span class="sd">    (``strLoc[strKey]``) or both. The initial value is taken from ``indLoc[indKey]``</span>
    353 <span class="sd">    if not None or ``strLoc[strKey]`` if not None. </span>
    354 
    355 <span class="sd">    :param wx.Panel parent: name of panel or frame that will be</span>
    356 <span class="sd">      the parent to the widget. Can be None.</span>
    357 <span class="sd">    :param list choiceList: a list or tuple of choices to offer the user.</span>
    358 <span class="sd">    :param dict/list indLoc: a dict or list with the initial value to be</span>
    359 <span class="sd">      placed in the Choice button. If this is None, this is ignored. </span>
    360 <span class="sd">    :param int/str indKey: the dict key or the list index for the value to be</span>
    361 <span class="sd">      edited by the Choice button. If indLoc is not None then this</span>
    362 <span class="sd">      must be specified and the ``indLoc[indKey]`` will be set. If the value</span>
    363 <span class="sd">      for ``indLoc[indKey]`` is not None, it should be an integer in</span>
    364 <span class="sd">      range(len(choiceList)). The Choice button will be initialized to the</span>
    365 <span class="sd">      choice corresponding to the value in this element if not None.</span>
    366 <span class="sd">    :param dict/list strLoc: a dict or list with the string value corresponding to</span>
    367 <span class="sd">      indLoc/indKey. Default (None) means that this is not used. </span>
    368 <span class="sd">    :param int/str strKey: the dict key or the list index for the string value </span>
    369 <span class="sd">      The ``strLoc[strKey]`` element must exist or strLoc must be None (default).</span>
    370 <span class="sd">    :param function onChoice: name of a function to call when the choice is made.</span>
    371 <span class="sd">    &#39;&#39;&#39;</span>
    372     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">parent</span><span class="p">,</span><span class="n">choiceList</span><span class="p">,</span><span class="n">indLoc</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span><span class="n">indKey</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span><span class="n">strLoc</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span><span class="n">strKey</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
    373                  <span class="n">onChoice</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span><span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
    374         <span class="n">wx</span><span class="o">.</span><span class="n">Choice</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">parent</span><span class="p">,</span><span class="n">choices</span><span class="o">=</span><span class="n">choiceList</span><span class="p">,</span><span class="nb">id</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">ID_ANY</span><span class="p">,</span><span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
    375         <span class="bp">self</span><span class="o">.</span><span class="n">choiceList</span> <span class="o">=</span> <span class="n">choiceList</span>
    376         <span class="bp">self</span><span class="o">.</span><span class="n">indLoc</span> <span class="o">=</span> <span class="n">indLoc</span>
    377         <span class="bp">self</span><span class="o">.</span><span class="n">indKey</span> <span class="o">=</span> <span class="n">indKey</span>
    378         <span class="bp">self</span><span class="o">.</span><span class="n">strLoc</span> <span class="o">=</span> <span class="n">strLoc</span>
    379         <span class="bp">self</span><span class="o">.</span><span class="n">strKey</span> <span class="o">=</span> <span class="n">strKey</span>
    380         <span class="bp">self</span><span class="o">.</span><span class="n">onChoice</span> <span class="o">=</span> <span class="bp">None</span>
    381         <span class="bp">self</span><span class="o">.</span><span class="n">SetSelection</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">NOT_FOUND</span><span class="p">)</span>
    382         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">indLoc</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">indLoc</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">indKey</span><span class="p">)</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
    383             <span class="bp">self</span><span class="o">.</span><span class="n">SetSelection</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">indLoc</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">indKey</span><span class="p">])</span>
    384             <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">strLoc</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
    385                 <span class="bp">self</span><span class="o">.</span><span class="n">strLoc</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">strKey</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">GetStringSelection</span><span class="p">()</span>
    386                 <span class="n">log</span><span class="o">.</span><span class="n">LogVarChange</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">strLoc</span><span class="p">,</span><span class="bp">self</span><span class="o">.</span><span class="n">strKey</span><span class="p">)</span>
    387         <span class="k">elif</span> <span class="bp">self</span><span class="o">.</span><span class="n">strLoc</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">strLoc</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">strKey</span><span class="p">)</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
    388             <span class="k">try</span><span class="p">:</span>
    389                 <span class="bp">self</span><span class="o">.</span><span class="n">SetSelection</span><span class="p">(</span><span class="n">choiceList</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">strLoc</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">strKey</span><span class="p">]))</span>
    390                 <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">indLoc</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
    391                     <span class="bp">self</span><span class="o">.</span><span class="n">indLoc</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">indKey</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">GetSelection</span><span class="p">()</span>
    392                     <span class="n">log</span><span class="o">.</span><span class="n">LogVarChange</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">indLoc</span><span class="p">,</span><span class="bp">self</span><span class="o">.</span><span class="n">indKey</span><span class="p">)</span>
    393             <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
    394                 <span class="k">pass</span>
    395         <span class="bp">self</span><span class="o">.</span><span class="n">Bind</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">EVT_CHOICE</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_OnChoice</span><span class="p">)</span>
    396         <span class="c">#if self.strLoc is not None: # make sure strLoc gets initialized</span>
    397         <span class="c">#    self._OnChoice(None) # note that onChoice will not be called</span>
    398         <span class="bp">self</span><span class="o">.</span><span class="n">onChoice</span> <span class="o">=</span> <span class="n">onChoice</span>
    399     <span class="k">def</span> <span class="nf">_OnChoice</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">event</span><span class="p">):</span>
    400         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">indLoc</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
    401             <span class="bp">self</span><span class="o">.</span><span class="n">indLoc</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">indKey</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">GetSelection</span><span class="p">()</span>
    402             <span class="n">log</span><span class="o">.</span><span class="n">LogVarChange</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">indLoc</span><span class="p">,</span><span class="bp">self</span><span class="o">.</span><span class="n">indKey</span><span class="p">)</span>
    403         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">strLoc</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span>
    404             <span class="bp">self</span><span class="o">.</span><span class="n">strLoc</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">strKey</span><span class="p">]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">GetStringSelection</span><span class="p">()</span>
    405             <span class="n">log</span><span class="o">.</span><span class="n">LogVarChange</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">strLoc</span><span class="p">,</span><span class="bp">self</span><span class="o">.</span><span class="n">strKey</span><span class="p">)</span>
    406         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">onChoice</span><span class="p">:</span>
    407             <span class="bp">self</span><span class="o">.</span><span class="n">onChoice</span><span class="p">()</span>
    408 
    409 <span class="c">################################################################################</span></div>
    410272<div class="viewcode-block" id="SymOpDialog"><a class="viewcode-back" href="../GSASIIGUIr.html#GSASIIgrid.SymOpDialog">[docs]</a><span class="k">class</span> <span class="nc">SymOpDialog</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">Dialog</span><span class="p">):</span>
    411273    <span class="sd">&#39;&#39;&#39;Class to select a symmetry operator</span>
     
    627489        <span class="bp">self</span><span class="o">.</span><span class="n">_default</span><span class="p">(</span><span class="n">data</span><span class="p">,</span><span class="bp">self</span><span class="o">.</span><span class="n">default</span><span class="p">)</span>
    628490        <span class="bp">self</span><span class="o">.</span><span class="n">Draw</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">data</span><span class="p">)</span>
    629                 </div></div>
    630 <div class="viewcode-block" id="SingleFloatDialog"><a class="viewcode-back" href="../GSASIIGUIr.html#GSASIIgrid.SingleFloatDialog">[docs]</a><span class="k">class</span> <span class="nc">SingleFloatDialog</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">Dialog</span><span class="p">):</span>
    631     <span class="s">&#39;Dialog to obtain a single float value from user&#39;</span>
    632     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">parent</span><span class="p">,</span><span class="n">title</span><span class="p">,</span><span class="n">prompt</span><span class="p">,</span><span class="n">value</span><span class="p">,</span><span class="n">limits</span><span class="o">=</span><span class="p">[</span><span class="mf">0.</span><span class="p">,</span><span class="mf">1.</span><span class="p">],</span><span class="n">format</span><span class="o">=</span><span class="s">&#39;</span><span class="si">%.5g</span><span class="s">&#39;</span><span class="p">):</span>
    633         <span class="n">wx</span><span class="o">.</span><span class="n">Dialog</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">parent</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="n">title</span><span class="p">,</span>
    634             <span class="n">pos</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">DefaultPosition</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">DEFAULT_DIALOG_STYLE</span><span class="p">)</span>
    635         <span class="bp">self</span><span class="o">.</span><span class="n">panel</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">Panel</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>         <span class="c">#just a dummy - gets destroyed in Draw!</span>
    636         <span class="bp">self</span><span class="o">.</span><span class="n">limits</span> <span class="o">=</span> <span class="n">limits</span>
    637         <span class="bp">self</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="n">value</span>
    638         <span class="bp">self</span><span class="o">.</span><span class="n">prompt</span> <span class="o">=</span> <span class="n">prompt</span>
    639         <span class="bp">self</span><span class="o">.</span><span class="n">format</span> <span class="o">=</span> <span class="n">format</span>
    640         <span class="bp">self</span><span class="o">.</span><span class="n">Draw</span><span class="p">()</span>
    641        
    642     <span class="k">def</span> <span class="nf">Draw</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
    643        
    644         <span class="k">def</span> <span class="nf">OnValItem</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
    645             <span class="k">try</span><span class="p">:</span>
    646                 <span class="n">val</span> <span class="o">=</span> <span class="nb">float</span><span class="p">(</span><span class="n">valItem</span><span class="o">.</span><span class="n">GetValue</span><span class="p">())</span>
    647                 <span class="k">if</span> <span class="n">val</span> <span class="o">&lt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">limits</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="ow">or</span> <span class="n">val</span> <span class="o">&gt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">limits</span><span class="p">[</span><span class="mi">1</span><span class="p">]:</span>
    648                     <span class="k">raise</span> <span class="ne">ValueError</span>
    649             <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
    650                 <span class="n">val</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">value</span>
    651             <span class="bp">self</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="n">val</span>
    652             <span class="n">valItem</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">format</span><span class="o">%</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">value</span><span class="p">))</span>
    653            
    654         <span class="bp">self</span><span class="o">.</span><span class="n">panel</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span>
    655         <span class="bp">self</span><span class="o">.</span><span class="n">panel</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">Panel</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
    656         <span class="n">mainSizer</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>
    657         <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="bp">self</span><span class="o">.</span><span class="n">panel</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="bp">self</span><span class="o">.</span><span class="n">prompt</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">ALIGN_CENTER</span><span class="p">)</span>
    658         <span class="n">valItem</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="bp">self</span><span class="o">.</span><span class="n">panel</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="bp">self</span><span class="o">.</span><span class="n">format</span><span class="o">%</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">value</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>
    659         <span class="n">mainSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">valItem</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">ALIGN_CENTER</span><span class="p">)</span>
    660         <span class="n">valItem</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">OnValItem</span><span class="p">)</span>
    661         <span class="n">valItem</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">OnValItem</span><span class="p">)</span>
    662         <span class="n">OkBtn</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">Button</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">panel</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&quot;Ok&quot;</span><span class="p">)</span>
    663         <span class="n">OkBtn</span><span class="o">.</span><span class="n">Bind</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">EVT_BUTTON</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">OnOk</span><span class="p">)</span>
    664         <span class="n">CancelBtn</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">Button</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">panel</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="s">&#39;Cancel&#39;</span><span class="p">)</span>
    665         <span class="n">CancelBtn</span><span class="o">.</span><span class="n">Bind</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">EVT_BUTTON</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">OnCancel</span><span class="p">)</span>
    666         <span class="n">btnSizer</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>
    667         <span class="n">btnSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">((</span><span class="mi">20</span><span class="p">,</span><span class="mi">20</span><span class="p">),</span><span class="mi">1</span><span class="p">)</span>
    668         <span class="n">btnSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">OkBtn</span><span class="p">)</span>
    669         <span class="n">btnSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">CancelBtn</span><span class="p">)</span>
    670         <span class="n">btnSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">((</span><span class="mi">20</span><span class="p">,</span><span class="mi">20</span><span class="p">),</span><span class="mi">1</span><span class="p">)</span>
    671         <span class="n">mainSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">btnSizer</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">EXPAND</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">BOTTOM</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">TOP</span><span class="p">,</span> <span class="mi">10</span><span class="p">)</span>
    672         <span class="bp">self</span><span class="o">.</span><span class="n">panel</span><span class="o">.</span><span class="n">SetSizer</span><span class="p">(</span><span class="n">mainSizer</span><span class="p">)</span>
    673         <span class="bp">self</span><span class="o">.</span><span class="n">panel</span><span class="o">.</span><span class="n">Fit</span><span class="p">()</span>
    674         <span class="bp">self</span><span class="o">.</span><span class="n">Fit</span><span class="p">()</span>
    675 
    676     <span class="k">def</span> <span class="nf">GetValue</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
    677         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">value</span>
    678        
    679     <span class="k">def</span> <span class="nf">OnOk</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">event</span><span class="p">):</span>
    680         <span class="n">parent</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">GetParent</span><span class="p">()</span>
    681         <span class="n">parent</span><span class="o">.</span><span class="n">Raise</span><span class="p">()</span>
    682         <span class="bp">self</span><span class="o">.</span><span class="n">EndModal</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">ID_OK</span><span class="p">)</span>             
    683        
    684     <span class="k">def</span> <span class="nf">OnCancel</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">event</span><span class="p">):</span>
    685         <span class="n">parent</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">GetParent</span><span class="p">()</span>
    686         <span class="n">parent</span><span class="o">.</span><span class="n">Raise</span><span class="p">()</span>
    687         <span class="bp">self</span><span class="o">.</span><span class="n">EndModal</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">ID_CANCEL</span><span class="p">)</span>
    688 
    689 <span class="c">################################################################################</span></div>
    690 <div class="viewcode-block" id="SingleStringDialog"><a class="viewcode-back" href="../GSASIIGUIr.html#GSASIIgrid.SingleStringDialog">[docs]</a><span class="k">class</span> <span class="nc">SingleStringDialog</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">Dialog</span><span class="p">):</span>
    691     <span class="sd">&#39;&#39;&#39;Dialog to obtain a single string value from user</span>
    692 <span class="sd">    </span>
    693 <span class="sd">    :param wx.Frame parent: name of parent frame</span>
    694 <span class="sd">    :param str title: title string for dialog</span>
    695 <span class="sd">    :param str prompt: string to tell use what they are inputting</span>
    696 <span class="sd">    :param str value: default input value, if any</span>
    697 <span class="sd">    &#39;&#39;&#39;</span>
    698     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">parent</span><span class="p">,</span><span class="n">title</span><span class="p">,</span><span class="n">prompt</span><span class="p">,</span><span class="n">value</span><span class="o">=</span><span class="s">&#39;&#39;</span><span class="p">,</span><span class="n">size</span><span class="o">=</span><span class="p">(</span><span class="mi">200</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">)):</span>
    699         <span class="n">wx</span><span class="o">.</span><span class="n">Dialog</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">parent</span><span class="p">,</span><span class="n">wx</span><span class="o">.</span><span class="n">ID_ANY</span><span class="p">,</span><span class="n">title</span><span class="p">,</span>
    700                            <span class="n">pos</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">DefaultPosition</span><span class="p">,</span>
    701                            <span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">DEFAULT_DIALOG_STYLE</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">RESIZE_BORDER</span><span class="p">)</span>
    702         <span class="bp">self</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="n">value</span>
    703         <span class="bp">self</span><span class="o">.</span><span class="n">prompt</span> <span class="o">=</span> <span class="n">prompt</span>
    704         <span class="bp">self</span><span class="o">.</span><span class="n">CenterOnParent</span><span class="p">()</span>
    705         <span class="bp">self</span><span class="o">.</span><span class="n">panel</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">Panel</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
    706         <span class="n">mainSizer</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>
    707         <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="bp">self</span><span class="o">.</span><span class="n">panel</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="bp">self</span><span class="o">.</span><span class="n">prompt</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">ALIGN_CENTER</span><span class="p">)</span>
    708         <span class="bp">self</span><span class="o">.</span><span class="n">valItem</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="bp">self</span><span class="o">.</span><span class="n">panel</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="bp">self</span><span class="o">.</span><span class="n">value</span><span class="p">,</span><span class="n">size</span><span class="o">=</span><span class="n">size</span><span class="p">)</span>
    709         <span class="n">mainSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">valItem</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">ALIGN_CENTER</span><span class="p">)</span>
    710         <span class="n">btnsizer</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">StdDialogButtonSizer</span><span class="p">()</span>
    711         <span class="n">OKbtn</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">Button</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">panel</span><span class="p">,</span> <span class="n">wx</span><span class="o">.</span><span class="n">ID_OK</span><span class="p">)</span>
    712         <span class="n">OKbtn</span><span class="o">.</span><span class="n">SetDefault</span><span class="p">()</span>
    713         <span class="n">btnsizer</span><span class="o">.</span><span class="n">AddButton</span><span class="p">(</span><span class="n">OKbtn</span><span class="p">)</span>
    714         <span class="n">btn</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">Button</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">panel</span><span class="p">,</span> <span class="n">wx</span><span class="o">.</span><span class="n">ID_CANCEL</span><span class="p">)</span>
    715         <span class="n">btnsizer</span><span class="o">.</span><span class="n">AddButton</span><span class="p">(</span><span class="n">btn</span><span class="p">)</span>
    716         <span class="n">btnsizer</span><span class="o">.</span><span class="n">Realize</span><span class="p">()</span>
    717         <span class="n">mainSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">btnsizer</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">ALIGN_CENTER</span><span class="p">)</span>
    718         <span class="bp">self</span><span class="o">.</span><span class="n">panel</span><span class="o">.</span><span class="n">SetSizer</span><span class="p">(</span><span class="n">mainSizer</span><span class="p">)</span>
    719         <span class="bp">self</span><span class="o">.</span><span class="n">panel</span><span class="o">.</span><span class="n">Fit</span><span class="p">()</span>
    720         <span class="bp">self</span><span class="o">.</span><span class="n">Fit</span><span class="p">()</span>
    721 
    722 <div class="viewcode-block" id="SingleStringDialog.Show"><a class="viewcode-back" href="../GSASIIGUIr.html#GSASIIgrid.SingleStringDialog.Show">[docs]</a>    <span class="k">def</span> <span class="nf">Show</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
    723         <span class="sd">&#39;&#39;&#39;Use this method after creating the dialog to post it</span>
    724 <span class="sd">        :returns: True if the user pressed OK; False if the User pressed Cancel</span>
    725 <span class="sd">        &#39;&#39;&#39;</span>
    726         <span class="k">if</span> <span class="bp">self</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>
    727             <span class="bp">self</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">valItem</span><span class="o">.</span><span class="n">GetValue</span><span class="p">()</span>
    728             <span class="k">return</span> <span class="bp">True</span>
    729         <span class="k">else</span><span class="p">:</span>
    730             <span class="k">return</span> <span class="bp">False</span>
    731 </div>
    732 <div class="viewcode-block" id="SingleStringDialog.GetValue"><a class="viewcode-back" href="../GSASIIGUIr.html#GSASIIgrid.SingleStringDialog.GetValue">[docs]</a>    <span class="k">def</span> <span class="nf">GetValue</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
    733         <span class="sd">&#39;&#39;&#39;Use this method to get the value entered by the user</span>
    734 <span class="sd">        :returns: string entered by user</span>
    735 <span class="sd">        &#39;&#39;&#39;</span>
    736         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">value</span>
    737 
     491               
    738492<span class="c">################################################################################</span></div></div>
    739 <div class="viewcode-block" id="MultiStringDialog"><a class="viewcode-back" href="../GSASIIGUIr.html#GSASIIgrid.MultiStringDialog">[docs]</a><span class="k">class</span> <span class="nc">MultiStringDialog</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">Dialog</span><span class="p">):</span>
    740     <span class="sd">&#39;&#39;&#39;Dialog to obtain a multi string values from user</span>
    741 <span class="sd">    </span>
    742 <span class="sd">    :param wx.Frame parent: name of parent frame</span>
    743 <span class="sd">    :param str title: title string for dialog</span>
    744 <span class="sd">    :param str prompts: strings to tell use what they are inputting</span>
    745 <span class="sd">    :param str values: default input values, if any</span>
    746 <span class="sd">    &#39;&#39;&#39;</span>
    747     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">parent</span><span class="p">,</span><span class="n">title</span><span class="p">,</span><span class="n">prompts</span><span class="p">,</span><span class="n">values</span><span class="o">=</span><span class="p">[]):</span>      <span class="c">#,size=(200,-1)?</span>
    748        
    749         <span class="n">wx</span><span class="o">.</span><span class="n">Dialog</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">parent</span><span class="p">,</span><span class="n">wx</span><span class="o">.</span><span class="n">ID_ANY</span><span class="p">,</span><span class="n">title</span><span class="p">,</span>
    750                            <span class="n">pos</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">DefaultPosition</span><span class="p">,</span>
    751                            <span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">DEFAULT_DIALOG_STYLE</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">RESIZE_BORDER</span><span class="p">)</span>
    752         <span class="bp">self</span><span class="o">.</span><span class="n">values</span> <span class="o">=</span> <span class="n">values</span>
    753         <span class="bp">self</span><span class="o">.</span><span class="n">prompts</span> <span class="o">=</span> <span class="n">prompts</span>
    754         <span class="bp">self</span><span class="o">.</span><span class="n">CenterOnParent</span><span class="p">()</span>
    755         <span class="bp">self</span><span class="o">.</span><span class="n">panel</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">Panel</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
    756         <span class="n">mainSizer</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>
    757         <span class="n">promptSizer</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">2</span><span class="p">,</span><span class="mi">5</span><span class="p">,</span><span class="mi">5</span><span class="p">)</span>
    758         <span class="bp">self</span><span class="o">.</span><span class="n">Indx</span> <span class="o">=</span> <span class="p">{}</span>
    759         <span class="k">for</span> <span class="n">prompt</span><span class="p">,</span><span class="n">value</span> <span class="ow">in</span> <span class="nb">zip</span><span class="p">(</span><span class="n">prompts</span><span class="p">,</span><span class="n">values</span><span class="p">):</span>
    760             <span class="n">promptSizer</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="bp">self</span><span class="o">.</span><span class="n">panel</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="n">prompt</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    761             <span class="n">valItem</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="bp">self</span><span class="o">.</span><span class="n">panel</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">value</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>
    762             <span class="bp">self</span><span class="o">.</span><span class="n">Indx</span><span class="p">[</span><span class="n">valItem</span><span class="o">.</span><span class="n">GetId</span><span class="p">()]</span> <span class="o">=</span> <span class="n">prompt</span>
    763             <span class="n">valItem</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</span><span class="p">,</span><span class="bp">self</span><span class="o">.</span><span class="n">newValue</span><span class="p">)</span>
    764             <span class="n">promptSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">valItem</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    765         <span class="n">mainSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">promptSizer</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span>
    766         <span class="n">btnsizer</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">StdDialogButtonSizer</span><span class="p">()</span>
    767         <span class="n">OKbtn</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">Button</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">panel</span><span class="p">,</span> <span class="n">wx</span><span class="o">.</span><span class="n">ID_OK</span><span class="p">)</span>
    768         <span class="n">OKbtn</span><span class="o">.</span><span class="n">SetDefault</span><span class="p">()</span>
    769         <span class="n">btnsizer</span><span class="o">.</span><span class="n">AddButton</span><span class="p">(</span><span class="n">OKbtn</span><span class="p">)</span>
    770         <span class="n">btn</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">Button</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">panel</span><span class="p">,</span> <span class="n">wx</span><span class="o">.</span><span class="n">ID_CANCEL</span><span class="p">)</span>
    771         <span class="n">btnsizer</span><span class="o">.</span><span class="n">AddButton</span><span class="p">(</span><span class="n">btn</span><span class="p">)</span>
    772         <span class="n">btnsizer</span><span class="o">.</span><span class="n">Realize</span><span class="p">()</span>
    773         <span class="n">mainSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">btnsizer</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">ALIGN_CENTER</span><span class="p">)</span>
    774         <span class="bp">self</span><span class="o">.</span><span class="n">panel</span><span class="o">.</span><span class="n">SetSizer</span><span class="p">(</span><span class="n">mainSizer</span><span class="p">)</span>
    775         <span class="bp">self</span><span class="o">.</span><span class="n">panel</span><span class="o">.</span><span class="n">Fit</span><span class="p">()</span>
    776         <span class="bp">self</span><span class="o">.</span><span class="n">Fit</span><span class="p">()</span>
    777        
    778     <span class="k">def</span> <span class="nf">newValue</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">event</span><span class="p">):</span>
    779         <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>
    780         <span class="n">item</span> <span class="o">=</span> <span class="bp">self</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>
    781         <span class="nb">id</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">prompts</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
    782         <span class="bp">self</span><span class="o">.</span><span class="n">values</span><span class="p">[</span><span class="nb">id</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>
    783 
    784 <div class="viewcode-block" id="MultiStringDialog.Show"><a class="viewcode-back" href="../GSASIIGUIr.html#GSASIIgrid.MultiStringDialog.Show">[docs]</a>    <span class="k">def</span> <span class="nf">Show</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
    785         <span class="sd">&#39;&#39;&#39;Use this method after creating the dialog to post it</span>
    786 <span class="sd">        :returns: True if the user pressed OK; False if the User pressed Cancel</span>
    787 <span class="sd">        &#39;&#39;&#39;</span>
    788         <span class="k">if</span> <span class="bp">self</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>
    789             <span class="k">return</span> <span class="bp">True</span>
    790         <span class="k">else</span><span class="p">:</span>
    791             <span class="k">return</span> <span class="bp">False</span>
    792 </div>
    793 <div class="viewcode-block" id="MultiStringDialog.GetValues"><a class="viewcode-back" href="../GSASIIGUIr.html#GSASIIgrid.MultiStringDialog.GetValues">[docs]</a>    <span class="k">def</span> <span class="nf">GetValues</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
    794         <span class="sd">&#39;&#39;&#39;Use this method to get the value entered by the user</span>
    795 <span class="sd">        :returns: string entered by user</span>
    796 <span class="sd">        &#39;&#39;&#39;</span>
    797         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">values</span>
    798 
    799 <span class="c">################################################################################</span>
    800 </div></div>
    801 <div class="viewcode-block" id="G2MultiChoiceDialog"><a class="viewcode-back" href="../GSASIIGUIr.html#GSASIIgrid.G2MultiChoiceDialog">[docs]</a><span class="k">class</span> <span class="nc">G2MultiChoiceDialog</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">Dialog</span><span class="p">):</span>
    802     <span class="sd">&#39;&#39;&#39;A dialog similar to MultiChoiceDialog except that buttons are</span>
    803 <span class="sd">    added to set all choices and to toggle all choices.</span>
    804 
    805 <span class="sd">    :param wx.Frame ParentFrame: reference to parent frame</span>
    806 <span class="sd">    :param str title: heading above list of choices</span>
    807 <span class="sd">    :param str header: Title to place on window frame </span>
    808 <span class="sd">    :param list ChoiceList: a list of choices where one will be selected</span>
    809 <span class="sd">    :param bool toggle: If True (default) the toggle and select all buttons</span>
    810 <span class="sd">      are displayed</span>
    811 <span class="sd">    :param bool monoFont: If False (default), use a variable-spaced font;</span>
    812 <span class="sd">      if True use a equally-spaced font.</span>
    813 <span class="sd">    :param bool filterBox: If True (default) an input widget is placed on</span>
    814 <span class="sd">      the window and only entries matching the entered text are shown.</span>
    815 <span class="sd">    :param kw: optional keyword parameters for the wx.Dialog may</span>
    816 <span class="sd">      be included such as size [which defaults to `(320,310)`] and</span>
    817 <span class="sd">      style (which defaults to `wx.DEFAULT_DIALOG_STYLE|wx.RESIZE_BORDER|wx.CENTRE| wx.OK | wx.CANCEL`);</span>
    818 <span class="sd">      note that `wx.OK` and `wx.CANCEL` controls</span>
    819 <span class="sd">      the presence of the eponymous buttons in the dialog.</span>
    820 <span class="sd">    :returns: the name of the created dialog  </span>
    821 <span class="sd">    &#39;&#39;&#39;</span>
    822     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">parent</span><span class="p">,</span> <span class="n">title</span><span class="p">,</span> <span class="n">header</span><span class="p">,</span> <span class="n">ChoiceList</span><span class="p">,</span> <span class="n">toggle</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
    823                  <span class="n">monoFont</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">filterBox</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span> <span class="o">**</span><span class="n">kw</span><span class="p">):</span>
    824         <span class="c"># process keyword parameters, notably style</span>
    825         <span class="n">options</span> <span class="o">=</span> <span class="p">{</span><span class="s">&#39;size&#39;</span><span class="p">:(</span><span class="mi">320</span><span class="p">,</span><span class="mi">310</span><span class="p">),</span> <span class="c"># default Frame keywords</span>
    826                    <span class="s">&#39;style&#39;</span><span class="p">:</span><span class="n">wx</span><span class="o">.</span><span class="n">DEFAULT_DIALOG_STYLE</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">RESIZE_BORDER</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">CENTRE</span><span class="o">|</span> <span class="n">wx</span><span class="o">.</span><span class="n">OK</span> <span class="o">|</span> <span class="n">wx</span><span class="o">.</span><span class="n">CANCEL</span><span class="p">,</span>
    827                    <span class="p">}</span>
    828         <span class="n">options</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">kw</span><span class="p">)</span>
    829         <span class="bp">self</span><span class="o">.</span><span class="n">ChoiceList</span> <span class="o">=</span> <span class="n">ChoiceList</span> <span class="c"># list of choices (list of str values)</span>
    830         <span class="bp">self</span><span class="o">.</span><span class="n">Selections</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ChoiceList</span><span class="p">)</span> <span class="o">*</span> <span class="p">[</span><span class="bp">False</span><span class="p">,]</span> <span class="c"># selection status for each choice (list of bools)</span>
    831         <span class="bp">self</span><span class="o">.</span><span class="n">filterlist</span> <span class="o">=</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ChoiceList</span><span class="p">))</span> <span class="c"># list of the choice numbers that have been filtered (list of int indices)</span>
    832         <span class="k">if</span> <span class="n">options</span><span class="p">[</span><span class="s">&#39;style&#39;</span><span class="p">]</span> <span class="o">&amp;</span> <span class="n">wx</span><span class="o">.</span><span class="n">OK</span><span class="p">:</span>
    833             <span class="n">useOK</span> <span class="o">=</span> <span class="bp">True</span>
    834             <span class="n">options</span><span class="p">[</span><span class="s">&#39;style&#39;</span><span class="p">]</span> <span class="o">^=</span> <span class="n">wx</span><span class="o">.</span><span class="n">OK</span>
    835         <span class="k">else</span><span class="p">:</span>
    836             <span class="n">useOK</span> <span class="o">=</span> <span class="bp">False</span>
    837         <span class="k">if</span> <span class="n">options</span><span class="p">[</span><span class="s">&#39;style&#39;</span><span class="p">]</span> <span class="o">&amp;</span> <span class="n">wx</span><span class="o">.</span><span class="n">CANCEL</span><span class="p">:</span>
    838             <span class="n">useCANCEL</span> <span class="o">=</span> <span class="bp">True</span>
    839             <span class="n">options</span><span class="p">[</span><span class="s">&#39;style&#39;</span><span class="p">]</span> <span class="o">^=</span> <span class="n">wx</span><span class="o">.</span><span class="n">CANCEL</span>
    840         <span class="k">else</span><span class="p">:</span>
    841             <span class="n">useCANCEL</span> <span class="o">=</span> <span class="bp">False</span>       
    842         <span class="c"># create the dialog frame</span>
    843         <span class="n">wx</span><span class="o">.</span><span class="n">Dialog</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">parent</span><span class="p">,</span><span class="n">wx</span><span class="o">.</span><span class="n">ID_ANY</span><span class="p">,</span><span class="n">header</span><span class="p">,</span><span class="o">**</span><span class="n">options</span><span class="p">)</span>
    844         <span class="c"># fill the dialog</span>
    845         <span class="n">Sizer</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">BoxSizer</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">VERTICAL</span><span class="p">)</span>
    846         <span class="n">topSizer</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>
    847         <span class="n">topSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span>
    848             <span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">wx</span><span class="o">.</span><span class="n">ID_ANY</span><span class="p">,</span><span class="n">title</span><span class="p">,</span><span class="n">size</span><span class="o">=</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="mi">35</span><span class="p">)),</span>
    849             <span class="mi">1</span><span class="p">,</span><span class="n">wx</span><span class="o">.</span><span class="n">ALL</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">EXPAND</span><span class="o">|</span><span class="n">WACV</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span>
    850         <span class="k">if</span> <span class="n">filterBox</span><span class="p">:</span>
    851             <span class="bp">self</span><span class="o">.</span><span class="n">timer</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">Timer</span><span class="p">()</span>
    852             <span class="bp">self</span><span class="o">.</span><span class="n">timer</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_TIMER</span><span class="p">,</span><span class="bp">self</span><span class="o">.</span><span class="n">Filter</span><span class="p">)</span>
    853             <span class="n">topSizer</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="bp">self</span><span class="p">,</span><span class="n">wx</span><span class="o">.</span><span class="n">ID_ANY</span><span class="p">,</span><span class="s">&#39;Name </span><span class="se">\n</span><span class="s">Filter: &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">wx</span><span class="o">.</span><span class="n">ALL</span><span class="o">|</span><span class="n">WACV</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span>
    854             <span class="bp">self</span><span class="o">.</span><span class="n">filterBox</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="bp">self</span><span class="p">,</span> <span class="n">wx</span><span class="o">.</span><span class="n">ID_ANY</span><span class="p">,</span> <span class="n">size</span><span class="o">=</span><span class="p">(</span><span class="mi">80</span><span class="p">,</span><span class="o">-</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>
    855             <span class="bp">self</span><span class="o">.</span><span class="n">filterBox</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_CHAR</span><span class="p">,</span><span class="bp">self</span><span class="o">.</span><span class="n">onChar</span><span class="p">)</span>
    856             <span class="bp">self</span><span class="o">.</span><span class="n">filterBox</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="bp">self</span><span class="o">.</span><span class="n">Filter</span><span class="p">)</span>
    857             <span class="n">topSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">filterBox</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">wx</span><span class="o">.</span><span class="n">ALL</span><span class="o">|</span><span class="n">WACV</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span>
    858         <span class="n">Sizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">topSizer</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">wx</span><span class="o">.</span><span class="n">ALL</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">EXPAND</span><span class="p">,</span><span class="mi">8</span><span class="p">)</span>
    859         <span class="bp">self</span><span class="o">.</span><span class="n">trigger</span> <span class="o">=</span> <span class="bp">False</span>
    860         <span class="bp">self</span><span class="o">.</span><span class="n">clb</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">CheckListBox</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">wx</span><span class="o">.</span><span class="n">ID_ANY</span><span class="p">,</span> <span class="p">(</span><span class="mi">30</span><span class="p">,</span><span class="mi">30</span><span class="p">),</span> <span class="n">wx</span><span class="o">.</span><span class="n">DefaultSize</span><span class="p">,</span> <span class="n">ChoiceList</span><span class="p">)</span>
    861         <span class="bp">self</span><span class="o">.</span><span class="n">clb</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_CHECKLISTBOX</span><span class="p">,</span><span class="bp">self</span><span class="o">.</span><span class="n">OnCheck</span><span class="p">)</span>
    862         <span class="k">if</span> <span class="n">monoFont</span><span class="p">:</span>
    863             <span class="n">font1</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">Font</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">clb</span><span class="o">.</span><span class="n">GetFont</span><span class="p">()</span><span class="o">.</span><span class="n">GetPointSize</span><span class="p">(),</span>
    864                             <span class="n">wx</span><span class="o">.</span><span class="n">MODERN</span><span class="p">,</span> <span class="n">wx</span><span class="o">.</span><span class="n">NORMAL</span><span class="p">,</span> <span class="n">wx</span><span class="o">.</span><span class="n">NORMAL</span><span class="p">,</span> <span class="bp">False</span><span class="p">)</span>
    865             <span class="bp">self</span><span class="o">.</span><span class="n">clb</span><span class="o">.</span><span class="n">SetFont</span><span class="p">(</span><span class="n">font1</span><span class="p">)</span>
    866         <span class="n">Sizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">clb</span><span class="p">,</span><span class="mi">1</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">wx</span><span class="o">.</span><span class="n">EXPAND</span><span class="p">,</span><span class="mi">10</span><span class="p">)</span>
    867         <span class="n">Sizer</span><span class="o">.</span><span class="n">Add</span><span class="p">((</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="mi">10</span><span class="p">))</span>
    868         <span class="c"># set/toggle buttons</span>
    869         <span class="k">if</span> <span class="n">toggle</span><span class="p">:</span>
    870             <span class="n">bSizer</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>
    871             <span class="n">setBut</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">Button</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">wx</span><span class="o">.</span><span class="n">ID_ANY</span><span class="p">,</span><span class="s">&#39;Set All&#39;</span><span class="p">)</span>
    872             <span class="n">setBut</span><span class="o">.</span><span class="n">Bind</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">EVT_BUTTON</span><span class="p">,</span><span class="bp">self</span><span class="o">.</span><span class="n">_SetAll</span><span class="p">)</span>
    873             <span class="n">bSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">setBut</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">ALIGN_CENTER</span><span class="p">)</span>
    874             <span class="n">bSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">((</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="mi">5</span><span class="p">))</span>
    875             <span class="n">togBut</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">Button</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">wx</span><span class="o">.</span><span class="n">ID_ANY</span><span class="p">,</span><span class="s">&#39;Toggle All&#39;</span><span class="p">)</span>
    876             <span class="n">togBut</span><span class="o">.</span><span class="n">Bind</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">EVT_BUTTON</span><span class="p">,</span><span class="bp">self</span><span class="o">.</span><span class="n">_ToggleAll</span><span class="p">)</span>
    877             <span class="n">bSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">togBut</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">ALIGN_CENTER</span><span class="p">)</span>
    878             <span class="n">Sizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">bSizer</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">wx</span><span class="o">.</span><span class="n">LEFT</span><span class="p">,</span><span class="mi">12</span><span class="p">)</span>
    879         <span class="c"># OK/Cancel buttons</span>
    880         <span class="n">btnsizer</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">StdDialogButtonSizer</span><span class="p">()</span>
    881         <span class="k">if</span> <span class="n">useOK</span><span class="p">:</span>
    882             <span class="bp">self</span><span class="o">.</span><span class="n">OKbtn</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">Button</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">wx</span><span class="o">.</span><span class="n">ID_OK</span><span class="p">)</span>
    883             <span class="bp">self</span><span class="o">.</span><span class="n">OKbtn</span><span class="o">.</span><span class="n">SetDefault</span><span class="p">()</span>
    884             <span class="n">btnsizer</span><span class="o">.</span><span class="n">AddButton</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">OKbtn</span><span class="p">)</span>
    885         <span class="k">if</span> <span class="n">useCANCEL</span><span class="p">:</span>
    886             <span class="n">btn</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">Button</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">wx</span><span class="o">.</span><span class="n">ID_CANCEL</span><span class="p">)</span>
    887             <span class="n">btnsizer</span><span class="o">.</span><span class="n">AddButton</span><span class="p">(</span><span class="n">btn</span><span class="p">)</span>
    888         <span class="n">btnsizer</span><span class="o">.</span><span class="n">Realize</span><span class="p">()</span>
    889         <span class="n">Sizer</span><span class="o">.</span><span class="n">Add</span><span class="p">((</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="mi">5</span><span class="p">))</span>
    890         <span class="n">Sizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">btnsizer</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">ALIGN_RIGHT</span><span class="p">,</span><span class="mi">50</span><span class="p">)</span>
    891         <span class="n">Sizer</span><span class="o">.</span><span class="n">Add</span><span class="p">((</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="mi">20</span><span class="p">))</span>
    892         <span class="c"># OK done, let&#39;s get outa here</span>
    893         <span class="bp">self</span><span class="o">.</span><span class="n">SetSizer</span><span class="p">(</span><span class="n">Sizer</span><span class="p">)</span>
    894         <span class="bp">self</span><span class="o">.</span><span class="n">CenterOnParent</span><span class="p">()</span>
    895        
    896 <div class="viewcode-block" id="G2MultiChoiceDialog.GetSelections"><a class="viewcode-back" href="../GSASIIGUIr.html#GSASIIgrid.G2MultiChoiceDialog.GetSelections">[docs]</a>    <span class="k">def</span> <span class="nf">GetSelections</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
    897         <span class="s">&#39;Returns a list of the indices for the selected choices&#39;</span>
    898         <span class="c"># update self.Selections with settings for displayed items</span>
    899         <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="bp">self</span><span class="o">.</span><span class="n">filterlist</span><span class="p">)):</span>
    900             <span class="bp">self</span><span class="o">.</span><span class="n">Selections</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">filterlist</span><span class="p">[</span><span class="n">i</span><span class="p">]]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">clb</span><span class="o">.</span><span class="n">IsChecked</span><span class="p">(</span><span class="n">i</span><span class="p">)</span>
    901         <span class="c"># return all selections, shown or hidden</span>
    902         <span class="k">return</span> <span class="p">[</span><span class="n">i</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="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">Selections</span><span class="p">))</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">Selections</span><span class="p">[</span><span class="n">i</span><span class="p">]]</span>
    903         </div>
    904 <div class="viewcode-block" id="G2MultiChoiceDialog.SetSelections"><a class="viewcode-back" href="../GSASIIGUIr.html#GSASIIgrid.G2MultiChoiceDialog.SetSelections">[docs]</a>    <span class="k">def</span> <span class="nf">SetSelections</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">selList</span><span class="p">):</span>
    905         <span class="sd">&#39;&#39;&#39;Sets the selection indices in selList as selected. Resets any previous</span>
    906 <span class="sd">        selections for compatibility with wx.MultiChoiceDialog. Note that</span>
    907 <span class="sd">        the state for only the filtered items is shown.</span>
    908 
    909 <span class="sd">        :param list selList: indices of items to be selected. These indices</span>
    910 <span class="sd">          are referenced to the order in self.ChoiceList</span>
    911 <span class="sd">        &#39;&#39;&#39;</span>
    912         <span class="bp">self</span><span class="o">.</span><span class="n">Selections</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ChoiceList</span><span class="p">)</span> <span class="o">*</span> <span class="p">[</span><span class="bp">False</span><span class="p">,]</span> <span class="c"># reset selections</span>
    913         <span class="k">for</span> <span class="n">sel</span> <span class="ow">in</span> <span class="n">selList</span><span class="p">:</span>
    914             <span class="bp">self</span><span class="o">.</span><span class="n">Selections</span><span class="p">[</span><span class="n">sel</span><span class="p">]</span> <span class="o">=</span> <span class="bp">True</span>
    915         <span class="bp">self</span><span class="o">.</span><span class="n">_ShowSelections</span><span class="p">()</span>
    916 </div>
    917     <span class="k">def</span> <span class="nf">_ShowSelections</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
    918         <span class="s">&#39;Show the selection state for displayed items&#39;</span>
    919         <span class="bp">self</span><span class="o">.</span><span class="n">clb</span><span class="o">.</span><span class="n">SetChecked</span><span class="p">(</span>
    920             <span class="p">[</span><span class="n">i</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="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">filterlist</span><span class="p">))</span> <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">Selections</span><span class="p">[</span><span class="bp">self</span><span class="o">.</span><span class="n">filterlist</span><span class="p">[</span><span class="n">i</span><span class="p">]]]</span>
    921             <span class="p">)</span> <span class="c"># Note anything previously checked will be cleared.</span>
    922            
    923     <span class="k">def</span> <span class="nf">_SetAll</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">event</span><span class="p">):</span>
    924         <span class="s">&#39;Set all viewed choices on&#39;</span>
    925         <span class="bp">self</span><span class="o">.</span><span class="n">clb</span><span class="o">.</span><span class="n">SetChecked</span><span class="p">(</span><span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">filterlist</span><span class="p">)))</span>
    926        
    927     <span class="k">def</span> <span class="nf">_ToggleAll</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">event</span><span class="p">):</span>
    928         <span class="s">&#39;flip the state of all viewed choices&#39;</span>
    929         <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="bp">self</span><span class="o">.</span><span class="n">filterlist</span><span class="p">)):</span>
    930             <span class="bp">self</span><span class="o">.</span><span class="n">clb</span><span class="o">.</span><span class="n">Check</span><span class="p">(</span><span class="n">i</span><span class="p">,</span><span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">clb</span><span class="o">.</span><span class="n">IsChecked</span><span class="p">(</span><span class="n">i</span><span class="p">))</span>
    931            
    932 <div class="viewcode-block" id="G2MultiChoiceDialog.onChar"><a class="viewcode-back" href="../GSASIIGUIr.html#GSASIIgrid.G2MultiChoiceDialog.onChar">[docs]</a>    <span class="k">def</span> <span class="nf">onChar</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">event</span><span class="p">):</span>
    933         <span class="s">&#39;for keyboard events. self.trigger is used in self.OnCheck below&#39;</span>
    934         <span class="bp">self</span><span class="o">.</span><span class="n">OKbtn</span><span class="o">.</span><span class="n">Enable</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span>
    935         <span class="k">if</span> <span class="n">event</span><span class="o">.</span><span class="n">GetKeyCode</span><span class="p">()</span> <span class="o">==</span> <span class="n">wx</span><span class="o">.</span><span class="n">WXK_SHIFT</span><span class="p">:</span>
    936             <span class="bp">self</span><span class="o">.</span><span class="n">trigger</span> <span class="o">=</span> <span class="bp">True</span>
    937         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">timer</span><span class="o">.</span><span class="n">IsRunning</span><span class="p">():</span>
    938             <span class="bp">self</span><span class="o">.</span><span class="n">timer</span><span class="o">.</span><span class="n">Stop</span><span class="p">()</span>
    939         <span class="bp">self</span><span class="o">.</span><span class="n">timer</span><span class="o">.</span><span class="n">Start</span><span class="p">(</span><span class="mi">1000</span><span class="p">,</span><span class="n">oneShot</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
    940         <span class="n">event</span><span class="o">.</span><span class="n">Skip</span><span class="p">()</span>
    941         </div>
    942 <div class="viewcode-block" id="G2MultiChoiceDialog.OnCheck"><a class="viewcode-back" href="../GSASIIGUIr.html#GSASIIgrid.G2MultiChoiceDialog.OnCheck">[docs]</a>    <span class="k">def</span> <span class="nf">OnCheck</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">event</span><span class="p">):</span>
    943         <span class="sd">&#39;&#39;&#39;for CheckListBox events; if Shift key down this sets all unset </span>
    944 <span class="sd">            entries below the selected one&#39;&#39;&#39;</span>
    945         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">trigger</span><span class="p">:</span>
    946             <span class="nb">id</span> <span class="o">=</span> <span class="n">event</span><span class="o">.</span><span class="n">GetSelection</span><span class="p">()</span>
    947             <span class="n">name</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">clb</span><span class="o">.</span><span class="n">GetString</span><span class="p">(</span><span class="nb">id</span><span class="p">)</span>           
    948             <span class="n">iB</span> <span class="o">=</span> <span class="nb">id</span><span class="o">-</span><span class="mi">1</span>
    949             <span class="k">if</span> <span class="n">iB</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="p">:</span>
    950                 <span class="k">return</span>
    951             <span class="k">while</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">clb</span><span class="o">.</span><span class="n">IsChecked</span><span class="p">(</span><span class="n">iB</span><span class="p">):</span>
    952                 <span class="bp">self</span><span class="o">.</span><span class="n">clb</span><span class="o">.</span><span class="n">Check</span><span class="p">(</span><span class="n">iB</span><span class="p">)</span>
    953                 <span class="n">iB</span> <span class="o">-=</span> <span class="mi">1</span>
    954                 <span class="k">if</span> <span class="n">iB</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="p">:</span>
    955                     <span class="k">break</span>
    956         <span class="bp">self</span><span class="o">.</span><span class="n">trigger</span> <span class="o">=</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">trigger</span>
    957         </div>
    958     <span class="k">def</span> <span class="nf">Filter</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">event</span><span class="p">):</span>
    959         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">timer</span><span class="o">.</span><span class="n">IsRunning</span><span class="p">():</span>
    960             <span class="bp">self</span><span class="o">.</span><span class="n">timer</span><span class="o">.</span><span class="n">Stop</span><span class="p">()</span>
    961         <span class="bp">self</span><span class="o">.</span><span class="n">GetSelections</span><span class="p">()</span> <span class="c"># record current selections</span>
    962         <span class="n">txt</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">filterBox</span><span class="o">.</span><span class="n">GetValue</span><span class="p">()</span>
    963         <span class="bp">self</span><span class="o">.</span><span class="n">clb</span><span class="o">.</span><span class="n">Clear</span><span class="p">()</span>
    964        
    965         <span class="bp">self</span><span class="o">.</span><span class="n">Update</span><span class="p">()</span>
    966         <span class="bp">self</span><span class="o">.</span><span class="n">filterlist</span> <span class="o">=</span> <span class="p">[]</span>
    967         <span class="k">if</span> <span class="n">txt</span><span class="p">:</span>
    968             <span class="n">txt</span> <span class="o">=</span> <span class="n">txt</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span>
    969             <span class="n">ChoiceList</span> <span class="o">=</span> <span class="p">[]</span>
    970             <span class="k">for</span> <span class="n">i</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="bp">self</span><span class="o">.</span><span class="n">ChoiceList</span><span class="p">):</span>
    971                 <span class="k">if</span> <span class="n">item</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span><span class="o">.</span><span class="n">find</span><span class="p">(</span><span class="n">txt</span><span class="p">)</span> <span class="o">!=</span> <span class="o">-</span><span class="mi">1</span><span class="p">:</span>
    972                     <span class="n">ChoiceList</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
    973                     <span class="bp">self</span><span class="o">.</span><span class="n">filterlist</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">i</span><span class="p">)</span>
    974         <span class="k">else</span><span class="p">:</span>
    975             <span class="bp">self</span><span class="o">.</span><span class="n">filterlist</span> <span class="o">=</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ChoiceList</span><span class="p">))</span>
    976             <span class="n">ChoiceList</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">ChoiceList</span>
    977         <span class="bp">self</span><span class="o">.</span><span class="n">clb</span><span class="o">.</span><span class="n">AppendItems</span><span class="p">(</span><span class="n">ChoiceList</span><span class="p">)</span>
    978         <span class="bp">self</span><span class="o">.</span><span class="n">_ShowSelections</span><span class="p">()</span>
    979         <span class="bp">self</span><span class="o">.</span><span class="n">OKbtn</span><span class="o">.</span><span class="n">Enable</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span>
    980 
    981 <span class="c">################################################################################</span>
    982 </div>
    983 <div class="viewcode-block" id="G2SingleChoiceDialog"><a class="viewcode-back" href="../GSASIIGUIr.html#GSASIIgrid.G2SingleChoiceDialog">[docs]</a><span class="k">class</span> <span class="nc">G2SingleChoiceDialog</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">Dialog</span><span class="p">):</span>
    984     <span class="sd">&#39;&#39;&#39;A dialog similar to wx.SingleChoiceDialog except that a filter can be</span>
    985 <span class="sd">    added.</span>
    986 
    987 <span class="sd">    :param wx.Frame ParentFrame: reference to parent frame</span>
    988 <span class="sd">    :param str title: heading above list of choices</span>
    989 <span class="sd">    :param str header: Title to place on window frame </span>
    990 <span class="sd">    :param list ChoiceList: a list of choices where one will be selected</span>
    991 <span class="sd">    :param bool monoFont: If False (default), use a variable-spaced font;</span>
    992 <span class="sd">      if True use a equally-spaced font.</span>
    993 <span class="sd">    :param bool filterBox: If True (default) an input widget is placed on</span>
    994 <span class="sd">      the window and only entries matching the entered text are shown.</span>
    995 <span class="sd">    :param kw: optional keyword parameters for the wx.Dialog may</span>
    996 <span class="sd">      be included such as size [which defaults to `(320,310)`] and</span>
    997 <span class="sd">      style (which defaults to ``wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER | wx.CENTRE | wx.OK | wx.CANCEL``);</span>
    998 <span class="sd">      note that ``wx.OK`` and ``wx.CANCEL`` controls</span>
    999 <span class="sd">      the presence of the eponymous buttons in the dialog.</span>
    1000 <span class="sd">    :returns: the name of the created dialog</span>
    1001 <span class="sd">    &#39;&#39;&#39;</span>
    1002     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">parent</span><span class="p">,</span> <span class="n">title</span><span class="p">,</span> <span class="n">header</span><span class="p">,</span> <span class="n">ChoiceList</span><span class="p">,</span>
    1003                  <span class="n">monoFont</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="n">filterBox</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span> <span class="o">**</span><span class="n">kw</span><span class="p">):</span>
    1004         <span class="c"># process keyword parameters, notably style</span>
    1005         <span class="n">options</span> <span class="o">=</span> <span class="p">{</span><span class="s">&#39;size&#39;</span><span class="p">:(</span><span class="mi">320</span><span class="p">,</span><span class="mi">310</span><span class="p">),</span> <span class="c"># default Frame keywords</span>
    1006                    <span class="s">&#39;style&#39;</span><span class="p">:</span><span class="n">wx</span><span class="o">.</span><span class="n">DEFAULT_DIALOG_STYLE</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">RESIZE_BORDER</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">CENTRE</span><span class="o">|</span> <span class="n">wx</span><span class="o">.</span><span class="n">OK</span> <span class="o">|</span> <span class="n">wx</span><span class="o">.</span><span class="n">CANCEL</span><span class="p">,</span>
    1007                    <span class="p">}</span>
    1008         <span class="n">options</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">kw</span><span class="p">)</span>
    1009         <span class="bp">self</span><span class="o">.</span><span class="n">ChoiceList</span> <span class="o">=</span> <span class="n">ChoiceList</span>
    1010         <span class="bp">self</span><span class="o">.</span><span class="n">filterlist</span> <span class="o">=</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ChoiceList</span><span class="p">))</span>
    1011         <span class="k">if</span> <span class="n">options</span><span class="p">[</span><span class="s">&#39;style&#39;</span><span class="p">]</span> <span class="o">&amp;</span> <span class="n">wx</span><span class="o">.</span><span class="n">OK</span><span class="p">:</span>
    1012             <span class="n">useOK</span> <span class="o">=</span> <span class="bp">True</span>
    1013             <span class="n">options</span><span class="p">[</span><span class="s">&#39;style&#39;</span><span class="p">]</span> <span class="o">^=</span> <span class="n">wx</span><span class="o">.</span><span class="n">OK</span>
    1014         <span class="k">else</span><span class="p">:</span>
    1015             <span class="n">useOK</span> <span class="o">=</span> <span class="bp">False</span>
    1016         <span class="k">if</span> <span class="n">options</span><span class="p">[</span><span class="s">&#39;style&#39;</span><span class="p">]</span> <span class="o">&amp;</span> <span class="n">wx</span><span class="o">.</span><span class="n">CANCEL</span><span class="p">:</span>
    1017             <span class="n">useCANCEL</span> <span class="o">=</span> <span class="bp">True</span>
    1018             <span class="n">options</span><span class="p">[</span><span class="s">&#39;style&#39;</span><span class="p">]</span> <span class="o">^=</span> <span class="n">wx</span><span class="o">.</span><span class="n">CANCEL</span>
    1019         <span class="k">else</span><span class="p">:</span>
    1020             <span class="n">useCANCEL</span> <span class="o">=</span> <span class="bp">False</span>       
    1021         <span class="c"># create the dialog frame</span>
    1022         <span class="n">wx</span><span class="o">.</span><span class="n">Dialog</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">parent</span><span class="p">,</span><span class="n">wx</span><span class="o">.</span><span class="n">ID_ANY</span><span class="p">,</span><span class="n">header</span><span class="p">,</span><span class="o">**</span><span class="n">options</span><span class="p">)</span>
    1023         <span class="c"># fill the dialog</span>
    1024         <span class="n">Sizer</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">BoxSizer</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">VERTICAL</span><span class="p">)</span>
    1025         <span class="n">topSizer</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>
    1026         <span class="n">topSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span>
    1027             <span class="n">wx</span><span class="o">.</span><span class="n">StaticText</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">wx</span><span class="o">.</span><span class="n">ID_ANY</span><span class="p">,</span><span class="n">title</span><span class="p">,</span><span class="n">size</span><span class="o">=</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="mi">35</span><span class="p">)),</span>
    1028             <span class="mi">1</span><span class="p">,</span><span class="n">wx</span><span class="o">.</span><span class="n">ALL</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">EXPAND</span><span class="o">|</span><span class="n">WACV</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span>
    1029         <span class="k">if</span> <span class="n">filterBox</span><span class="p">:</span>
    1030             <span class="bp">self</span><span class="o">.</span><span class="n">timer</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">Timer</span><span class="p">()</span>
    1031             <span class="bp">self</span><span class="o">.</span><span class="n">timer</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_TIMER</span><span class="p">,</span><span class="bp">self</span><span class="o">.</span><span class="n">Filter</span><span class="p">)</span>
    1032             <span class="n">topSizer</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="bp">self</span><span class="p">,</span><span class="n">wx</span><span class="o">.</span><span class="n">ID_ANY</span><span class="p">,</span><span class="s">&#39;Filter: &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">wx</span><span class="o">.</span><span class="n">ALL</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span>
    1033             <span class="bp">self</span><span class="o">.</span><span class="n">filterBox</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="bp">self</span><span class="p">,</span> <span class="n">wx</span><span class="o">.</span><span class="n">ID_ANY</span><span class="p">,</span> <span class="n">size</span><span class="o">=</span><span class="p">(</span><span class="mi">80</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">),</span>
    1034                                          <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>
    1035             <span class="bp">self</span><span class="o">.</span><span class="n">filterBox</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_CHAR</span><span class="p">,</span><span class="bp">self</span><span class="o">.</span><span class="n">onChar</span><span class="p">)</span>
    1036             <span class="bp">self</span><span class="o">.</span><span class="n">filterBox</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="bp">self</span><span class="o">.</span><span class="n">Filter</span><span class="p">)</span>
    1037         <span class="n">topSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">filterBox</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">wx</span><span class="o">.</span><span class="n">ALL</span><span class="p">,</span><span class="mi">0</span><span class="p">)</span>
    1038         <span class="n">Sizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">topSizer</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">wx</span><span class="o">.</span><span class="n">ALL</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">EXPAND</span><span class="p">,</span><span class="mi">8</span><span class="p">)</span>
    1039         <span class="bp">self</span><span class="o">.</span><span class="n">clb</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">ListBox</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">wx</span><span class="o">.</span><span class="n">ID_ANY</span><span class="p">,</span> <span class="p">(</span><span class="mi">30</span><span class="p">,</span><span class="mi">30</span><span class="p">),</span> <span class="n">wx</span><span class="o">.</span><span class="n">DefaultSize</span><span class="p">,</span> <span class="n">ChoiceList</span><span class="p">)</span>
    1040         <span class="bp">self</span><span class="o">.</span><span class="n">clb</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_LEFT_DCLICK</span><span class="p">,</span><span class="bp">self</span><span class="o">.</span><span class="n">onDoubleClick</span><span class="p">)</span>
    1041         <span class="k">if</span> <span class="n">monoFont</span><span class="p">:</span>
    1042             <span class="n">font1</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">Font</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">clb</span><span class="o">.</span><span class="n">GetFont</span><span class="p">()</span><span class="o">.</span><span class="n">GetPointSize</span><span class="p">(),</span>
    1043                             <span class="n">wx</span><span class="o">.</span><span class="n">MODERN</span><span class="p">,</span> <span class="n">wx</span><span class="o">.</span><span class="n">NORMAL</span><span class="p">,</span> <span class="n">wx</span><span class="o">.</span><span class="n">NORMAL</span><span class="p">,</span> <span class="bp">False</span><span class="p">)</span>
    1044             <span class="bp">self</span><span class="o">.</span><span class="n">clb</span><span class="o">.</span><span class="n">SetFont</span><span class="p">(</span><span class="n">font1</span><span class="p">)</span>
    1045         <span class="n">Sizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">clb</span><span class="p">,</span><span class="mi">1</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">wx</span><span class="o">.</span><span class="n">EXPAND</span><span class="p">,</span><span class="mi">10</span><span class="p">)</span>
    1046         <span class="n">Sizer</span><span class="o">.</span><span class="n">Add</span><span class="p">((</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="mi">10</span><span class="p">))</span>
    1047         <span class="c"># OK/Cancel buttons</span>
    1048         <span class="n">btnsizer</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">StdDialogButtonSizer</span><span class="p">()</span>
    1049         <span class="k">if</span> <span class="n">useOK</span><span class="p">:</span>
    1050             <span class="bp">self</span><span class="o">.</span><span class="n">OKbtn</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">Button</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">wx</span><span class="o">.</span><span class="n">ID_OK</span><span class="p">)</span>
    1051             <span class="bp">self</span><span class="o">.</span><span class="n">OKbtn</span><span class="o">.</span><span class="n">SetDefault</span><span class="p">()</span>
    1052             <span class="n">btnsizer</span><span class="o">.</span><span class="n">AddButton</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">OKbtn</span><span class="p">)</span>
    1053         <span class="k">if</span> <span class="n">useCANCEL</span><span class="p">:</span>
    1054             <span class="n">btn</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">Button</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">wx</span><span class="o">.</span><span class="n">ID_CANCEL</span><span class="p">)</span>
    1055             <span class="n">btnsizer</span><span class="o">.</span><span class="n">AddButton</span><span class="p">(</span><span class="n">btn</span><span class="p">)</span>
    1056         <span class="n">btnsizer</span><span class="o">.</span><span class="n">Realize</span><span class="p">()</span>
    1057         <span class="n">Sizer</span><span class="o">.</span><span class="n">Add</span><span class="p">((</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="mi">5</span><span class="p">))</span>
    1058         <span class="n">Sizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">btnsizer</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">ALIGN_RIGHT</span><span class="p">,</span><span class="mi">50</span><span class="p">)</span>
    1059         <span class="n">Sizer</span><span class="o">.</span><span class="n">Add</span><span class="p">((</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="mi">20</span><span class="p">))</span>
    1060         <span class="c"># OK done, let&#39;s get outa here</span>
    1061         <span class="bp">self</span><span class="o">.</span><span class="n">SetSizer</span><span class="p">(</span><span class="n">Sizer</span><span class="p">)</span>
    1062 <div class="viewcode-block" id="G2SingleChoiceDialog.GetSelection"><a class="viewcode-back" href="../GSASIIGUIr.html#GSASIIgrid.G2SingleChoiceDialog.GetSelection">[docs]</a>    <span class="k">def</span> <span class="nf">GetSelection</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
    1063         <span class="s">&#39;Returns the index of the selected choice&#39;</span>
    1064         <span class="n">i</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">clb</span><span class="o">.</span><span class="n">GetSelection</span><span class="p">()</span>
    1065         <span class="k">if</span> <span class="n">i</span> <span class="o">&lt;</span> <span class="mi">0</span> <span class="ow">or</span> <span class="n">i</span> <span class="o">&gt;=</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">filterlist</span><span class="p">):</span>
    1066             <span class="k">return</span> <span class="n">wx</span><span class="o">.</span><span class="n">NOT_FOUND</span>
    1067         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">filterlist</span><span class="p">[</span><span class="n">i</span><span class="p">]</span></div>
    1068     <span class="k">def</span> <span class="nf">onChar</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">event</span><span class="p">):</span>
    1069         <span class="bp">self</span><span class="o">.</span><span class="n">OKbtn</span><span class="o">.</span><span class="n">Enable</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span>
    1070         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">timer</span><span class="o">.</span><span class="n">IsRunning</span><span class="p">():</span>
    1071             <span class="bp">self</span><span class="o">.</span><span class="n">timer</span><span class="o">.</span><span class="n">Stop</span><span class="p">()</span>
    1072         <span class="bp">self</span><span class="o">.</span><span class="n">timer</span><span class="o">.</span><span class="n">Start</span><span class="p">(</span><span class="mi">1000</span><span class="p">,</span><span class="n">oneShot</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
    1073         <span class="n">event</span><span class="o">.</span><span class="n">Skip</span><span class="p">()</span>
    1074     <span class="k">def</span> <span class="nf">Filter</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">event</span><span class="p">):</span>
    1075         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">timer</span><span class="o">.</span><span class="n">IsRunning</span><span class="p">():</span>
    1076             <span class="bp">self</span><span class="o">.</span><span class="n">timer</span><span class="o">.</span><span class="n">Stop</span><span class="p">()</span>
    1077         <span class="n">txt</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">filterBox</span><span class="o">.</span><span class="n">GetValue</span><span class="p">()</span>
    1078         <span class="bp">self</span><span class="o">.</span><span class="n">clb</span><span class="o">.</span><span class="n">Clear</span><span class="p">()</span>
    1079         <span class="bp">self</span><span class="o">.</span><span class="n">Update</span><span class="p">()</span>
    1080         <span class="bp">self</span><span class="o">.</span><span class="n">filterlist</span> <span class="o">=</span> <span class="p">[]</span>
    1081         <span class="k">if</span> <span class="n">txt</span><span class="p">:</span>
    1082             <span class="n">txt</span> <span class="o">=</span> <span class="n">txt</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span>
    1083             <span class="n">ChoiceList</span> <span class="o">=</span> <span class="p">[]</span>
    1084             <span class="k">for</span> <span class="n">i</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="bp">self</span><span class="o">.</span><span class="n">ChoiceList</span><span class="p">):</span>
    1085                 <span class="k">if</span> <span class="n">item</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span><span class="o">.</span><span class="n">find</span><span class="p">(</span><span class="n">txt</span><span class="p">)</span> <span class="o">!=</span> <span class="o">-</span><span class="mi">1</span><span class="p">:</span>
    1086                     <span class="n">ChoiceList</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
    1087                     <span class="bp">self</span><span class="o">.</span><span class="n">filterlist</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">i</span><span class="p">)</span>
    1088         <span class="k">else</span><span class="p">:</span>
    1089             <span class="bp">self</span><span class="o">.</span><span class="n">filterlist</span> <span class="o">=</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ChoiceList</span><span class="p">))</span>
    1090             <span class="n">ChoiceList</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">ChoiceList</span>
    1091         <span class="bp">self</span><span class="o">.</span><span class="n">clb</span><span class="o">.</span><span class="n">AppendItems</span><span class="p">(</span><span class="n">ChoiceList</span><span class="p">)</span>
    1092         <span class="bp">self</span><span class="o">.</span><span class="n">OKbtn</span><span class="o">.</span><span class="n">Enable</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span>
    1093     <span class="k">def</span> <span class="nf">onDoubleClick</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">event</span><span class="p">):</span>
    1094         <span class="bp">self</span><span class="o">.</span><span class="n">EndModal</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">ID_OK</span><span class="p">)</span>
    1095 
    1096 <span class="c">################################################################################</span>
    1097 </div>
    1098 <div class="viewcode-block" id="G2ColumnIDDialog"><a class="viewcode-back" href="../GSASIIGUIr.html#GSASIIgrid.G2ColumnIDDialog">[docs]</a><span class="k">class</span> <span class="nc">G2ColumnIDDialog</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">Dialog</span><span class="p">):</span>
    1099     <span class="sd">&#39;&#39;&#39;A dialog for matching column data to desired items; some columns may be ignored.</span>
    1100 <span class="sd">    </span>
    1101 <span class="sd">    :param wx.Frame ParentFrame: reference to parent frame</span>
    1102 <span class="sd">    :param str title: heading above list of choices</span>
    1103 <span class="sd">    :param str header: Title to place on window frame </span>
    1104 <span class="sd">    :param list ChoiceList: a list of possible choices for the columns</span>
    1105 <span class="sd">    :param list ColumnData: lists of column data to be matched with ChoiceList</span>
    1106 <span class="sd">    :param bool monoFont: If False (default), use a variable-spaced font;</span>
    1107 <span class="sd">      if True use a equally-spaced font.</span>
    1108 <span class="sd">    :param kw: optional keyword parameters for the wx.Dialog may</span>
    1109 <span class="sd">      be included such as size [which defaults to `(320,310)`] and</span>
    1110 <span class="sd">      style (which defaults to ``wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER | wx.CENTRE | wx.OK | wx.CANCEL``);</span>
    1111 <span class="sd">      note that ``wx.OK`` and ``wx.CANCEL`` controls</span>
    1112 <span class="sd">      the presence of the eponymous buttons in the dialog.</span>
    1113 <span class="sd">    :returns: the name of the created dialog</span>
    1114 <span class="sd">    </span>
    1115 <span class="sd">    &#39;&#39;&#39;</span>
    1116 
    1117     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">parent</span><span class="p">,</span> <span class="n">title</span><span class="p">,</span> <span class="n">header</span><span class="p">,</span><span class="n">Comments</span><span class="p">,</span><span class="n">ChoiceList</span><span class="p">,</span> <span class="n">ColumnData</span><span class="p">,</span>
    1118                  <span class="n">monoFont</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span> <span class="o">**</span><span class="n">kw</span><span class="p">):</span>
    1119 
    1120         <span class="k">def</span> <span class="nf">OnOk</span><span class="p">(</span><span class="n">sevent</span><span class="p">):</span>
    1121             <span class="n">OK</span> <span class="o">=</span> <span class="bp">True</span>
    1122             <span class="n">selCols</span> <span class="o">=</span> <span class="p">[]</span>
    1123             <span class="k">for</span> <span class="n">col</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">sel</span><span class="p">:</span>
    1124                 <span class="n">item</span> <span class="o">=</span> <span class="n">col</span><span class="o">.</span><span class="n">GetValue</span><span class="p">()</span>
    1125                 <span class="k">if</span> <span class="n">item</span> <span class="o">!=</span> <span class="s">&#39; &#39;</span> <span class="ow">and</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">selCols</span><span class="p">:</span>
    1126                     <span class="n">OK</span> <span class="o">=</span> <span class="bp">False</span>
    1127                     <span class="k">break</span>
    1128                 <span class="k">else</span><span class="p">:</span>
    1129                     <span class="n">selCols</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
    1130             <span class="n">parent</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">GetParent</span><span class="p">()</span>
    1131             <span class="k">if</span> <span class="ow">not</span> <span class="n">OK</span><span class="p">:</span>
    1132                 <span class="n">parent</span><span class="o">.</span><span class="n">ErrorDialog</span><span class="p">(</span><span class="s">&#39;Duplicate&#39;</span><span class="p">,</span><span class="n">item</span><span class="o">+</span><span class="s">&#39; selected more than once&#39;</span><span class="p">)</span>
    1133                 <span class="k">return</span>
    1134             <span class="n">parent</span><span class="o">.</span><span class="n">Raise</span><span class="p">()</span>
    1135             <span class="bp">self</span><span class="o">.</span><span class="n">EndModal</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">ID_OK</span><span class="p">)</span>
    1136            
    1137         <span class="k">def</span> <span class="nf">OnModify</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
    1138             <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>
    1139             <span class="n">icol</span><span class="p">,</span><span class="n">colData</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>
    1140             <span class="n">modify</span> <span class="o">=</span> <span class="n">Obj</span><span class="o">.</span><span class="n">GetValue</span><span class="p">()</span>
    1141             <span class="k">if</span> <span class="ow">not</span> <span class="n">modify</span><span class="p">:</span>
    1142                 <span class="k">return</span>
    1143             <span class="k">print</span> <span class="s">&#39;Modify column&#39;</span><span class="p">,</span><span class="n">icol</span><span class="p">,</span><span class="s">&#39; by&#39;</span><span class="p">,</span> <span class="n">modify</span>
    1144             <span class="k">for</span> <span class="n">i</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="bp">self</span><span class="o">.</span><span class="n">ColumnData</span><span class="p">[</span><span class="n">icol</span><span class="p">]):</span>
    1145                 <span class="bp">self</span><span class="o">.</span><span class="n">ColumnData</span><span class="p">[</span><span class="n">icol</span><span class="p">][</span><span class="n">i</span><span class="p">]</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="nb">eval</span><span class="p">(</span><span class="n">item</span><span class="o">+</span><span class="n">modify</span><span class="p">))</span>
    1146             <span class="n">colData</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="s">&#39;</span><span class="se">\n</span><span class="s">&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ColumnData</span><span class="p">[</span><span class="n">icol</span><span class="p">]))</span>
    1147             <span class="n">Obj</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="s">&#39;&#39;</span><span class="p">)</span>
    1148            
    1149         <span class="c"># process keyword parameters, notably style</span>
    1150         <span class="n">options</span> <span class="o">=</span> <span class="p">{</span><span class="s">&#39;size&#39;</span><span class="p">:(</span><span class="mi">600</span><span class="p">,</span><span class="mi">310</span><span class="p">),</span> <span class="c"># default Frame keywords</span>
    1151                    <span class="s">&#39;style&#39;</span><span class="p">:</span><span class="n">wx</span><span class="o">.</span><span class="n">DEFAULT_DIALOG_STYLE</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">RESIZE_BORDER</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">CENTRE</span><span class="o">|</span> <span class="n">wx</span><span class="o">.</span><span class="n">OK</span> <span class="o">|</span> <span class="n">wx</span><span class="o">.</span><span class="n">CANCEL</span><span class="p">,</span>
    1152                    <span class="p">}</span>
    1153         <span class="n">options</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">kw</span><span class="p">)</span>
    1154         <span class="bp">self</span><span class="o">.</span><span class="n">Comments</span> <span class="o">=</span> <span class="s">&#39;&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">Comments</span><span class="p">)</span>
    1155         <span class="bp">self</span><span class="o">.</span><span class="n">ChoiceList</span> <span class="o">=</span> <span class="n">ChoiceList</span>
    1156         <span class="bp">self</span><span class="o">.</span><span class="n">ColumnData</span> <span class="o">=</span> <span class="n">ColumnData</span>
    1157         <span class="n">nCol</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">ColumnData</span><span class="p">)</span>
    1158         <span class="k">if</span> <span class="n">options</span><span class="p">[</span><span class="s">&#39;style&#39;</span><span class="p">]</span> <span class="o">&amp;</span> <span class="n">wx</span><span class="o">.</span><span class="n">OK</span><span class="p">:</span>
    1159             <span class="n">useOK</span> <span class="o">=</span> <span class="bp">True</span>
    1160             <span class="n">options</span><span class="p">[</span><span class="s">&#39;style&#39;</span><span class="p">]</span> <span class="o">^=</span> <span class="n">wx</span><span class="o">.</span><span class="n">OK</span>
    1161         <span class="k">else</span><span class="p">:</span>
    1162             <span class="n">useOK</span> <span class="o">=</span> <span class="bp">False</span>
    1163         <span class="k">if</span> <span class="n">options</span><span class="p">[</span><span class="s">&#39;style&#39;</span><span class="p">]</span> <span class="o">&amp;</span> <span class="n">wx</span><span class="o">.</span><span class="n">CANCEL</span><span class="p">:</span>
    1164             <span class="n">useCANCEL</span> <span class="o">=</span> <span class="bp">True</span>
    1165             <span class="n">options</span><span class="p">[</span><span class="s">&#39;style&#39;</span><span class="p">]</span> <span class="o">^=</span> <span class="n">wx</span><span class="o">.</span><span class="n">CANCEL</span>
    1166         <span class="k">else</span><span class="p">:</span>
    1167             <span class="n">useCANCEL</span> <span class="o">=</span> <span class="bp">False</span>       
    1168         <span class="c"># create the dialog frame</span>
    1169         <span class="n">wx</span><span class="o">.</span><span class="n">Dialog</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">parent</span><span class="p">,</span><span class="n">wx</span><span class="o">.</span><span class="n">ID_ANY</span><span class="p">,</span><span class="n">header</span><span class="p">,</span><span class="o">**</span><span class="n">options</span><span class="p">)</span>
    1170         <span class="n">panel</span> <span class="o">=</span> <span class="n">wxscroll</span><span class="o">.</span><span class="n">ScrolledPanel</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
    1171         <span class="c"># fill the dialog</span>
    1172         <span class="n">Sizer</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">BoxSizer</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">VERTICAL</span><span class="p">)</span>
    1173         <span class="n">Sizer</span><span class="o">.</span><span class="n">Add</span><span class="p">((</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="mi">5</span><span class="p">))</span>
    1174         <span class="n">Sizer</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">panel</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="n">title</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    1175         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">Comments</span><span class="p">:</span>
    1176             <span class="n">Sizer</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">panel</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39; Header lines:&#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    1177             <span class="n">Sizer</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">TextCtrl</span><span class="p">(</span><span class="n">panel</span><span class="p">,</span><span class="n">value</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">Comments</span><span class="p">,</span><span class="n">size</span><span class="o">=</span><span class="p">(</span><span class="mi">200</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">),</span>
    1178                 <span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_MULTILINE</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_READONLY</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_DONTWRAP</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">wx</span><span class="o">.</span><span class="n">ALL</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">EXPAND</span><span class="o">|</span><span class="n">WACV</span><span class="p">,</span><span class="mi">8</span><span class="p">)</span>
    1179         <span class="n">columnsSizer</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="n">nCol</span><span class="p">,</span><span class="mi">5</span><span class="p">,</span><span class="mi">10</span><span class="p">)</span>
    1180         <span class="bp">self</span><span class="o">.</span><span class="n">sel</span> <span class="o">=</span> <span class="p">[]</span>
    1181         <span class="bp">self</span><span class="o">.</span><span class="n">mod</span> <span class="o">=</span> <span class="p">[]</span>
    1182         <span class="n">Indx</span> <span class="o">=</span> <span class="p">{}</span>
    1183         <span class="k">for</span> <span class="n">icol</span><span class="p">,</span><span class="n">col</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ColumnData</span><span class="p">):</span>
    1184             <span class="n">colSizer</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>
    1185             <span class="n">colSizer</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">panel</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39; Column #</span><span class="si">%d</span><span class="s"> Select:&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">icol</span><span class="p">)),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    1186             <span class="bp">self</span><span class="o">.</span><span class="n">sel</span><span class="o">.</span><span class="n">append</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">panel</span><span class="p">,</span><span class="n">value</span><span class="o">=</span><span class="s">&#39; &#39;</span><span class="p">,</span><span class="n">choices</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">ChoiceList</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_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>
    1187             <span class="n">colSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">sel</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">])</span>
    1188             <span class="n">colData</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">panel</span><span class="p">,</span><span class="n">value</span><span class="o">=</span><span class="s">&#39;</span><span class="se">\n</span><span class="s">&#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">ColumnData</span><span class="p">[</span><span class="n">icol</span><span class="p">]),</span><span class="n">size</span><span class="o">=</span><span class="p">(</span><span class="mi">120</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">),</span>
    1189                 <span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_MULTILINE</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_READONLY</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_DONTWRAP</span><span class="p">)</span>
    1190             <span class="n">colSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">colData</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    1191             <span class="n">colSizer</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">panel</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39; Modify by:&#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    1192             <span class="n">mod</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">panel</span><span class="p">,</span><span class="n">size</span><span class="o">=</span><span class="p">(</span><span class="mi">120</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">),</span><span class="n">value</span><span class="o">=</span><span class="s">&#39;&#39;</span><span class="p">,</span><span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_PROCESS_ENTER</span><span class="p">)</span>
    1193             <span class="n">mod</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">OnModify</span><span class="p">)</span>
    1194             <span class="n">mod</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">OnModify</span><span class="p">)</span>
    1195             <span class="n">Indx</span><span class="p">[</span><span class="n">mod</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">icol</span><span class="p">,</span><span class="n">colData</span><span class="p">]</span>
    1196             <span class="n">colSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">mod</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    1197             <span class="n">columnsSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">colSizer</span><span class="p">)</span>
    1198         <span class="n">Sizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">columnsSizer</span><span class="p">)</span>
    1199         <span class="n">Sizer</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">panel</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39; For modify by, enter arithmetic string eg. &quot;-12345.67&quot;. &quot;+&quot;,&quot;-&quot;,&quot;*&quot;,&quot;/&quot;,&quot;**&quot; all allowed&#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    1200         <span class="n">Sizer</span><span class="o">.</span><span class="n">Add</span><span class="p">((</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="mi">10</span><span class="p">))</span>
    1201         <span class="c"># OK/Cancel buttons</span>
    1202         <span class="n">btnsizer</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">StdDialogButtonSizer</span><span class="p">()</span>
    1203         <span class="k">if</span> <span class="n">useOK</span><span class="p">:</span>
    1204             <span class="bp">self</span><span class="o">.</span><span class="n">OKbtn</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">panel</span><span class="p">,</span> <span class="n">wx</span><span class="o">.</span><span class="n">ID_OK</span><span class="p">)</span>
    1205             <span class="bp">self</span><span class="o">.</span><span class="n">OKbtn</span><span class="o">.</span><span class="n">SetDefault</span><span class="p">()</span>
    1206             <span class="n">btnsizer</span><span class="o">.</span><span class="n">AddButton</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">OKbtn</span><span class="p">)</span>
    1207             <span class="bp">self</span><span class="o">.</span><span class="n">OKbtn</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">OnOk</span><span class="p">)</span>
    1208         <span class="k">if</span> <span class="n">useCANCEL</span><span class="p">:</span>
    1209             <span class="n">btn</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">panel</span><span class="p">,</span> <span class="n">wx</span><span class="o">.</span><span class="n">ID_CANCEL</span><span class="p">)</span>
    1210             <span class="n">btnsizer</span><span class="o">.</span><span class="n">AddButton</span><span class="p">(</span><span class="n">btn</span><span class="p">)</span>
    1211         <span class="n">btnsizer</span><span class="o">.</span><span class="n">Realize</span><span class="p">()</span>
    1212         <span class="n">Sizer</span><span class="o">.</span><span class="n">Add</span><span class="p">((</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="mi">5</span><span class="p">))</span>
    1213         <span class="n">Sizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">btnsizer</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">ALIGN_LEFT</span><span class="p">,</span><span class="mi">20</span><span class="p">)</span>
    1214         <span class="n">Sizer</span><span class="o">.</span><span class="n">Add</span><span class="p">((</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="mi">5</span><span class="p">))</span>
    1215         <span class="c"># OK done, let&#39;s get outa here</span>
    1216         <span class="n">panel</span><span class="o">.</span><span class="n">SetSizer</span><span class="p">(</span><span class="n">Sizer</span><span class="p">)</span>
    1217         <span class="n">panel</span><span class="o">.</span><span class="n">SetAutoLayout</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
    1218         <span class="n">panel</span><span class="o">.</span><span class="n">SetupScrolling</span><span class="p">()</span>
    1219         <span class="n">Size</span> <span class="o">=</span> <span class="p">[</span><span class="mi">450</span><span class="p">,</span><span class="mi">375</span><span class="p">]</span>
    1220         <span class="n">panel</span><span class="o">.</span><span class="n">SetSize</span><span class="p">(</span><span class="n">Size</span><span class="p">)</span>
    1221         <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">25</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">25</span>
    1222         <span class="bp">self</span><span class="o">.</span><span class="n">SetSize</span><span class="p">(</span><span class="n">Size</span><span class="p">)</span>
    1223        
    1224 <div class="viewcode-block" id="G2ColumnIDDialog.GetSelection"><a class="viewcode-back" href="../GSASIIGUIr.html#GSASIIgrid.G2ColumnIDDialog.GetSelection">[docs]</a>    <span class="k">def</span> <span class="nf">GetSelection</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
    1225         <span class="s">&#39;Returns the selected sample parm for each column&#39;</span>
    1226         <span class="n">selCols</span> <span class="o">=</span> <span class="p">[]</span>
    1227         <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">sel</span><span class="p">:</span>
    1228             <span class="n">selCols</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">item</span><span class="o">.</span><span class="n">GetValue</span><span class="p">())</span>
    1229         <span class="k">return</span> <span class="n">selCols</span><span class="p">,</span><span class="bp">self</span><span class="o">.</span><span class="n">ColumnData</span>
    1230 
    1231 <span class="c">################################################################################</span>
    1232 </div></div>
    1233 <div class="viewcode-block" id="ItemSelector"><a class="viewcode-back" href="../GSASIIGUIr.html#GSASIIgrid.ItemSelector">[docs]</a><span class="k">def</span> <span class="nf">ItemSelector</span><span class="p">(</span><span class="n">ChoiceList</span><span class="p">,</span> <span class="n">ParentFrame</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span>
    1234                  <span class="n">title</span><span class="o">=</span><span class="s">&#39;Select an item&#39;</span><span class="p">,</span>
    1235                  <span class="n">size</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">header</span><span class="o">=</span><span class="s">&#39;Item Selector&#39;</span><span class="p">,</span>
    1236                  <span class="n">useCancel</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span><span class="n">multiple</span><span class="o">=</span><span class="bp">False</span><span class="p">):</span>
    1237     <span class="sd">&#39;&#39;&#39; Provide a wx dialog to select a single item or multiple items from list of choices</span>
    1238 
    1239 <span class="sd">    :param list ChoiceList: a list of choices where one will be selected</span>
    1240 <span class="sd">    :param wx.Frame ParentFrame: Name of parent frame (default None)</span>
    1241 <span class="sd">    :param str title: heading above list of choices (default &#39;Select an item&#39;)</span>
    1242 <span class="sd">    :param wx.Size size: Size for dialog to be created (default None -- size as needed)</span>
    1243 <span class="sd">    :param str header: Title to place on window frame (default &#39;Item Selector&#39;)</span>
    1244 <span class="sd">    :param bool useCancel: If True (default) both the OK and Cancel buttons are offered</span>
    1245 <span class="sd">    :param bool multiple: If True then multiple items can be selected (default False)</span>
    1246 <span class="sd">    </span>
    1247 <span class="sd">    :returns: the selection index or None or a selection list if multiple is true</span>
    1248 <span class="sd">    &#39;&#39;&#39;</span>
    1249     <span class="k">if</span> <span class="n">multiple</span><span class="p">:</span>
    1250         <span class="k">if</span> <span class="n">useCancel</span><span class="p">:</span>
    1251             <span class="n">dlg</span> <span class="o">=</span> <span class="n">G2MultiChoiceDialog</span><span class="p">(</span>
    1252                 <span class="n">ParentFrame</span><span class="p">,</span><span class="n">title</span><span class="p">,</span> <span class="n">header</span><span class="p">,</span> <span class="n">ChoiceList</span><span class="p">)</span>
    1253         <span class="k">else</span><span class="p">:</span>
    1254             <span class="n">dlg</span> <span class="o">=</span> <span class="n">G2MultiChoiceDialog</span><span class="p">(</span>
    1255                 <span class="n">ParentFrame</span><span class="p">,</span><span class="n">title</span><span class="p">,</span> <span class="n">header</span><span class="p">,</span> <span class="n">ChoiceList</span><span class="p">,</span>
    1256                 <span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">DEFAULT_DIALOG_STYLE</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">RESIZE_BORDER</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">OK</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">CENTRE</span><span class="p">)</span>
    1257     <span class="k">else</span><span class="p">:</span>
    1258         <span class="k">if</span> <span class="n">useCancel</span><span class="p">:</span>
    1259             <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>
    1260                 <span class="n">ParentFrame</span><span class="p">,</span><span class="n">title</span><span class="p">,</span> <span class="n">header</span><span class="p">,</span> <span class="n">ChoiceList</span><span class="p">)</span>
    1261         <span class="k">else</span><span class="p">:</span>
    1262             <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>
    1263                 <span class="n">ParentFrame</span><span class="p">,</span><span class="n">title</span><span class="p">,</span> <span class="n">header</span><span class="p">,</span><span class="n">ChoiceList</span><span class="p">,</span>
    1264                 <span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">DEFAULT_DIALOG_STYLE</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">RESIZE_BORDER</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">OK</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">CENTRE</span><span class="p">)</span>
    1265     <span class="k">if</span> <span class="n">size</span><span class="p">:</span> <span class="n">dlg</span><span class="o">.</span><span class="n">SetSize</span><span class="p">(</span><span class="n">size</span><span class="p">)</span>
    1266     <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>
    1267         <span class="k">if</span> <span class="n">multiple</span><span class="p">:</span>
    1268             <span class="n">dlg</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span>
    1269             <span class="k">return</span> <span class="n">dlg</span><span class="o">.</span><span class="n">GetSelections</span><span class="p">()</span>
    1270         <span class="k">else</span><span class="p">:</span>
    1271             <span class="n">dlg</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span>
    1272             <span class="k">return</span> <span class="n">dlg</span><span class="o">.</span><span class="n">GetSelection</span><span class="p">()</span>
    1273     <span class="k">else</span><span class="p">:</span>
    1274         <span class="n">dlg</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span>
    1275         <span class="k">return</span> <span class="bp">None</span>
    1276     <span class="n">dlg</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span>
    1277 
    1278 <span class="c">################################################################################</span></div>
    1279 <div class="viewcode-block" id="GridFractionEditor"><a class="viewcode-back" href="../GSASIIGUIr.html#GSASIIgrid.GridFractionEditor">[docs]</a><span class="k">class</span> <span class="nc">GridFractionEditor</span><span class="p">(</span><span class="n">wg</span><span class="o">.</span><span class="n">PyGridCellEditor</span><span class="p">):</span>
    1280     <span class="sd">&#39;&#39;&#39;A grid cell editor class that allows entry of values as fractions as well</span>
    1281 <span class="sd">    as sine and cosine values [as s() and c()]</span>
    1282 <span class="sd">    &#39;&#39;&#39;</span>
    1283     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">grid</span><span class="p">):</span>
    1284         <span class="n">wg</span><span class="o">.</span><span class="n">PyGridCellEditor</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
    1285 
    1286     <span class="k">def</span> <span class="nf">Create</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">parent</span><span class="p">,</span> <span class="nb">id</span><span class="p">,</span> <span class="n">evtHandler</span><span class="p">):</span>
    1287         <span class="bp">self</span><span class="o">.</span><span class="n">_tc</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">parent</span><span class="p">,</span> <span class="nb">id</span><span class="p">,</span> <span class="s">&quot;&quot;</span><span class="p">)</span>
    1288         <span class="bp">self</span><span class="o">.</span><span class="n">_tc</span><span class="o">.</span><span class="n">SetInsertionPoint</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
    1289         <span class="bp">self</span><span class="o">.</span><span class="n">SetControl</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_tc</span><span class="p">)</span>
    1290 
    1291         <span class="k">if</span> <span class="n">evtHandler</span><span class="p">:</span>
    1292             <span class="bp">self</span><span class="o">.</span><span class="n">_tc</span><span class="o">.</span><span class="n">PushEventHandler</span><span class="p">(</span><span class="n">evtHandler</span><span class="p">)</span>
    1293 
    1294         <span class="bp">self</span><span class="o">.</span><span class="n">_tc</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_CHAR</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">OnChar</span><span class="p">)</span>
    1295 
    1296     <span class="k">def</span> <span class="nf">SetSize</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">rect</span><span class="p">):</span>
    1297         <span class="bp">self</span><span class="o">.</span><span class="n">_tc</span><span class="o">.</span><span class="n">SetDimensions</span><span class="p">(</span><span class="n">rect</span><span class="o">.</span><span class="n">x</span><span class="p">,</span> <span class="n">rect</span><span class="o">.</span><span class="n">y</span><span class="p">,</span> <span class="n">rect</span><span class="o">.</span><span class="n">width</span><span class="o">+</span><span class="mi">2</span><span class="p">,</span> <span class="n">rect</span><span class="o">.</span><span class="n">height</span><span class="o">+</span><span class="mi">2</span><span class="p">,</span>
    1298                                <span class="n">wx</span><span class="o">.</span><span class="n">SIZE_ALLOW_MINUS_ONE</span><span class="p">)</span>
    1299 
    1300     <span class="k">def</span> <span class="nf">BeginEdit</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">row</span><span class="p">,</span> <span class="n">col</span><span class="p">,</span> <span class="n">grid</span><span class="p">):</span>
    1301         <span class="bp">self</span><span class="o">.</span><span class="n">startValue</span> <span class="o">=</span> <span class="n">grid</span><span class="o">.</span><span class="n">GetTable</span><span class="p">()</span><span class="o">.</span><span class="n">GetValue</span><span class="p">(</span><span class="n">row</span><span class="p">,</span> <span class="n">col</span><span class="p">)</span>
    1302         <span class="bp">self</span><span class="o">.</span><span class="n">_tc</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">startValue</span><span class="p">))</span>
    1303         <span class="bp">self</span><span class="o">.</span><span class="n">_tc</span><span class="o">.</span><span class="n">SetInsertionPointEnd</span><span class="p">()</span>
    1304         <span class="bp">self</span><span class="o">.</span><span class="n">_tc</span><span class="o">.</span><span class="n">SetFocus</span><span class="p">()</span>
    1305         <span class="bp">self</span><span class="o">.</span><span class="n">_tc</span><span class="o">.</span><span class="n">SetSelection</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_tc</span><span class="o">.</span><span class="n">GetLastPosition</span><span class="p">())</span>
    1306 
    1307     <span class="k">def</span> <span class="nf">EndEdit</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">row</span><span class="p">,</span> <span class="n">col</span><span class="p">,</span> <span class="n">grid</span><span class="p">,</span> <span class="n">oldVal</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
    1308         <span class="n">changed</span> <span class="o">=</span> <span class="bp">False</span>
    1309 
    1310         <span class="bp">self</span><span class="o">.</span><span class="n">nextval</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">startValue</span>
    1311         <span class="n">val</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_tc</span><span class="o">.</span><span class="n">GetValue</span><span class="p">()</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span>
    1312         <span class="k">if</span> <span class="n">val</span> <span class="o">!=</span> <span class="bp">self</span><span class="o">.</span><span class="n">startValue</span><span class="p">:</span>
    1313             <span class="n">changed</span> <span class="o">=</span> <span class="bp">True</span>
    1314             <span class="n">neg</span> <span class="o">=</span> <span class="bp">False</span>
    1315             <span class="k">if</span> <span class="s">&#39;-&#39;</span> <span class="ow">in</span> <span class="n">val</span><span class="p">:</span>
    1316                 <span class="n">neg</span> <span class="o">=</span> <span class="bp">True</span>
    1317             <span class="k">if</span> <span class="s">&#39;/&#39;</span> <span class="ow">in</span> <span class="n">val</span> <span class="ow">and</span> <span class="s">&#39;.&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">val</span><span class="p">:</span>
    1318                 <span class="n">val</span> <span class="o">+=</span> <span class="s">&#39;.&#39;</span>
    1319             <span class="k">elif</span> <span class="s">&#39;s&#39;</span> <span class="ow">in</span> <span class="n">val</span> <span class="ow">and</span> <span class="ow">not</span> <span class="s">&#39;sind(&#39;</span> <span class="ow">in</span> <span class="n">val</span><span class="p">:</span>
    1320                 <span class="k">if</span> <span class="n">neg</span><span class="p">:</span>
    1321                     <span class="n">val</span> <span class="o">=</span> <span class="s">&#39;-sind(&#39;</span><span class="o">+</span><span class="n">val</span><span class="o">.</span><span class="n">strip</span><span class="p">(</span><span class="s">&#39;-s&#39;</span><span class="p">)</span><span class="o">+</span><span class="s">&#39;)&#39;</span>
    1322                 <span class="k">else</span><span class="p">:</span>
    1323                     <span class="n">val</span> <span class="o">=</span> <span class="s">&#39;sind(&#39;</span><span class="o">+</span><span class="n">val</span><span class="o">.</span><span class="n">strip</span><span class="p">(</span><span class="s">&#39;s&#39;</span><span class="p">)</span><span class="o">+</span><span class="s">&#39;)&#39;</span>
    1324             <span class="k">elif</span> <span class="s">&#39;c&#39;</span> <span class="ow">in</span> <span class="n">val</span> <span class="ow">and</span> <span class="ow">not</span> <span class="s">&#39;cosd(&#39;</span> <span class="ow">in</span> <span class="n">val</span><span class="p">:</span>
    1325                 <span class="k">if</span> <span class="n">neg</span><span class="p">:</span>
    1326                     <span class="n">val</span> <span class="o">=</span> <span class="s">&#39;-cosd(&#39;</span><span class="o">+</span><span class="n">val</span><span class="o">.</span><span class="n">strip</span><span class="p">(</span><span class="s">&#39;-c&#39;</span><span class="p">)</span><span class="o">+</span><span class="s">&#39;)&#39;</span>
    1327                 <span class="k">else</span><span class="p">:</span>
    1328                     <span class="n">val</span> <span class="o">=</span> <span class="s">&#39;cosd(&#39;</span><span class="o">+</span><span class="n">val</span><span class="o">.</span><span class="n">strip</span><span class="p">(</span><span class="s">&#39;c&#39;</span><span class="p">)</span><span class="o">+</span><span class="s">&#39;)&#39;</span>
    1329             <span class="k">try</span><span class="p">:</span>
    1330                 <span class="bp">self</span><span class="o">.</span><span class="n">nextval</span> <span class="o">=</span> <span class="n">val</span> <span class="o">=</span> <span class="nb">float</span><span class="p">(</span><span class="nb">eval</span><span class="p">(</span><span class="n">val</span><span class="p">))</span>
    1331             <span class="k">except</span> <span class="p">(</span><span class="ne">SyntaxError</span><span class="p">,</span><span class="ne">NameError</span><span class="p">,</span><span class="ne">ZeroDivisionError</span><span class="p">):</span>
    1332                 <span class="n">val</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">startValue</span>
    1333                 <span class="k">return</span> <span class="bp">None</span>
    1334            
    1335             <span class="k">if</span> <span class="n">oldVal</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span> <span class="c"># this arg appears in 2.9+; before, we should go ahead &amp; change the table</span>
    1336                 <span class="n">grid</span><span class="o">.</span><span class="n">GetTable</span><span class="p">()</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="n">row</span><span class="p">,</span> <span class="n">col</span><span class="p">,</span> <span class="n">val</span><span class="p">)</span> <span class="c"># update the table</span>
    1337             <span class="c"># otherwise self.ApplyEdit gets called</span>
    1338 
    1339         <span class="bp">self</span><span class="o">.</span><span class="n">startValue</span> <span class="o">=</span> <span class="s">&#39;&#39;</span>
    1340         <span class="bp">self</span><span class="o">.</span><span class="n">_tc</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="s">&#39;&#39;</span><span class="p">)</span>
    1341         <span class="k">return</span> <span class="n">changed</span>
    1342    
    1343 <div class="viewcode-block" id="GridFractionEditor.ApplyEdit"><a class="viewcode-back" href="../GSASIIGUIr.html#GSASIIgrid.GridFractionEditor.ApplyEdit">[docs]</a>    <span class="k">def</span> <span class="nf">ApplyEdit</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">row</span><span class="p">,</span> <span class="n">col</span><span class="p">,</span> <span class="n">grid</span><span class="p">):</span>
    1344         <span class="sd">&quot;&quot;&quot; Called only in wx &gt;= 2.9</span>
    1345 <span class="sd">        Save the value of the control into the grid if EndEdit() returns as True</span>
    1346 <span class="sd">        &quot;&quot;&quot;</span>
    1347         <span class="n">grid</span><span class="o">.</span><span class="n">GetTable</span><span class="p">()</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="n">row</span><span class="p">,</span> <span class="n">col</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">nextval</span><span class="p">)</span> <span class="c"># update the table</span>
    1348 </div>
    1349     <span class="k">def</span> <span class="nf">Reset</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
    1350         <span class="bp">self</span><span class="o">.</span><span class="n">_tc</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">startValue</span><span class="p">)</span>
    1351         <span class="bp">self</span><span class="o">.</span><span class="n">_tc</span><span class="o">.</span><span class="n">SetInsertionPointEnd</span><span class="p">()</span>
    1352 
    1353     <span class="k">def</span> <span class="nf">Clone</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
    1354         <span class="k">return</span> <span class="n">GridFractionEditor</span><span class="p">(</span><span class="n">grid</span><span class="p">)</span>
    1355 
    1356     <span class="k">def</span> <span class="nf">StartingKey</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">evt</span><span class="p">):</span>
    1357         <span class="bp">self</span><span class="o">.</span><span class="n">OnChar</span><span class="p">(</span><span class="n">evt</span><span class="p">)</span>
    1358         <span class="k">if</span> <span class="n">evt</span><span class="o">.</span><span class="n">GetSkipped</span><span class="p">():</span>
    1359             <span class="bp">self</span><span class="o">.</span><span class="n">_tc</span><span class="o">.</span><span class="n">EmulateKeyPress</span><span class="p">(</span><span class="n">evt</span><span class="p">)</span>
    1360 
    1361     <span class="k">def</span> <span class="nf">OnChar</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">evt</span><span class="p">):</span>
    1362         <span class="n">key</span> <span class="o">=</span> <span class="n">evt</span><span class="o">.</span><span class="n">GetKeyCode</span><span class="p">()</span>
    1363         <span class="k">if</span> <span class="n">key</span> <span class="o">==</span> <span class="mi">15</span><span class="p">:</span>
    1364             <span class="k">return</span>
    1365         <span class="k">if</span> <span class="n">key</span> <span class="o">&gt;</span> <span class="mi">255</span><span class="p">:</span>
    1366             <span class="n">evt</span><span class="o">.</span><span class="n">Skip</span><span class="p">()</span>
    1367             <span class="k">return</span>
    1368         <span class="n">char</span> <span class="o">=</span> <span class="nb">chr</span><span class="p">(</span><span class="n">key</span><span class="p">)</span>
    1369         <span class="k">if</span> <span class="n">char</span> <span class="ow">in</span> <span class="s">&#39;.+-/0123456789cosind()&#39;</span><span class="p">:</span>
    1370             <span class="bp">self</span><span class="o">.</span><span class="n">_tc</span><span class="o">.</span><span class="n">WriteText</span><span class="p">(</span><span class="n">char</span><span class="p">)</span>
    1371         <span class="k">else</span><span class="p">:</span>
    1372             <span class="n">evt</span><span class="o">.</span><span class="n">Skip</span><span class="p">()</span>
    1373 
    1374 <span class="c">################################################################################</span></div>
    1375493<div class="viewcode-block" id="ShowLSParms"><a class="viewcode-back" href="../GSASIIGUIr.html#GSASIIgrid.ShowLSParms">[docs]</a><span class="k">class</span> <span class="nc">ShowLSParms</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">Dialog</span><span class="p">):</span>
    1376494    <span class="sd">&#39;&#39;&#39;Create frame to show least-squares parameters</span>
     
    1632750        <span class="bp">self</span><span class="o">.</span><span class="n">SequentialFile</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">wxID_PLOTSEQSEL</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="s">&#39;Plot selected&#39;</span><span class="p">,</span>
    1633751            <span class="n">help</span><span class="o">=</span><span class="s">&#39;Plot selected sequential refinement results&#39;</span><span class="p">)</span>
     752        <span class="bp">self</span><span class="o">.</span><span class="n">SequentialFile</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">wxID_AVESEQSEL</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="s">&#39;Compute average&#39;</span><span class="p">,</span>
     753            <span class="n">help</span><span class="o">=</span><span class="s">&#39;Compute average for selected parameter&#39;</span><span class="p">)</span>           
    1634754        <span class="bp">self</span><span class="o">.</span><span class="n">SequentialFile</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">wxID_ORGSEQSEL</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="s">&#39;Reorganize&#39;</span><span class="p">,</span>
    1635755            <span class="n">help</span><span class="o">=</span><span class="s">&#39;Reorganize variables where variables change&#39;</span><span class="p">)</span>
     
    1688808        <span class="bp">self</span><span class="o">.</span><span class="n">ErrorAnal</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">wxID_PWD3DHKLPLOT</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="s">&#39;Plot 3D HKLs&#39;</span><span class="p">,</span>
    1689809            <span class="n">help</span><span class="o">=</span><span class="s">&#39;Plot HKLs from single crystal data in 3D&#39;</span><span class="p">)</span>
     810        <span class="bp">self</span><span class="o">.</span><span class="n">ErrorAnal</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">wxID_3DALLHKLPLOT</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="s">&#39;Plot all 3D HKLs&#39;</span><span class="p">,</span>
     811            <span class="n">help</span><span class="o">=</span><span class="s">&#39;Plot HKLs from all single crystal data in 3D&#39;</span><span class="p">)</span>
    1690812        <span class="bp">self</span><span class="o">.</span><span class="n">ErrorAnal</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">wxID_PWDCOPY</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="s">&#39;Copy params&#39;</span><span class="p">,</span>
    1691813            <span class="n">help</span><span class="o">=</span><span class="s">&#39;Copy of HKLF parameters&#39;</span><span class="p">)</span>
     
    1712834        <span class="bp">self</span><span class="o">.</span><span class="n">BackEdit</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">wxID_BACKFLAGCOPY</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="s">&#39;Copy flags&#39;</span><span class="p">,</span>
    1713835            <span class="n">help</span><span class="o">=</span><span class="s">&#39;Copy background refinement flags to other histograms&#39;</span><span class="p">)</span>
     836        <span class="bp">self</span><span class="o">.</span><span class="n">BackEdit</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">wxID_PEAKSMOVE</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="s">&#39;Move peaks&#39;</span><span class="p">,</span>
     837            <span class="n">help</span><span class="o">=</span><span class="s">&#39;Move background peaks to Peak List&#39;</span><span class="p">)</span>
     838           
    1714839        <span class="bp">self</span><span class="o">.</span><span class="n">PostfillDataMenu</span><span class="p">()</span>
    1715840           
     
    20071132        <span class="bp">self</span><span class="o">.</span><span class="n">DataEdit</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">Menu</span><span class="p">(</span><span class="n">title</span><span class="o">=</span><span class="s">&#39;&#39;</span><span class="p">)</span>
    20081133        <span class="bp">self</span><span class="o">.</span><span class="n">DataMenu</span><span class="o">.</span><span class="n">Append</span><span class="p">(</span><span class="n">menu</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">DataEdit</span><span class="p">,</span> <span class="n">title</span><span class="o">=</span><span class="s">&#39;Edit&#39;</span><span class="p">)</span>
     1134        <span class="bp">self</span><span class="o">.</span><span class="n">DataEdit</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">wxID_DATACOPY</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="s">&#39;Copy data&#39;</span><span class="p">,</span>
     1135            <span class="n">help</span><span class="o">=</span><span class="s">&#39;Copy phase data to other histograms&#39;</span><span class="p">)</span>
     1136        <span class="bp">self</span><span class="o">.</span><span class="n">DataEdit</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">wxID_DATACOPYFLAGS</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="s">&#39;Copy flags&#39;</span><span class="p">,</span>
     1137            <span class="n">help</span><span class="o">=</span><span class="s">&#39;Copy phase data flags to other histograms&#39;</span><span class="p">)</span>
     1138        <span class="bp">self</span><span class="o">.</span><span class="n">DataEdit</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">wxID_DATASELCOPY</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="s">&#39;Copy selected data&#39;</span><span class="p">,</span>
     1139            <span class="n">help</span><span class="o">=</span><span class="s">&#39;Copy selected phase data to other histograms&#39;</span><span class="p">)</span>
    20091140        <span class="bp">self</span><span class="o">.</span><span class="n">DataEdit</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">wxID_PWDRADD</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="s">&#39;Add powder histograms&#39;</span><span class="p">,</span>
    20101141            <span class="n">help</span><span class="o">=</span><span class="s">&#39;Select new powder histograms to be used for this phase&#39;</span><span class="p">)</span>
     
    21621293        <span class="bp">self</span><span class="o">.</span><span class="n">TextureEdit</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">Menu</span><span class="p">(</span><span class="n">title</span><span class="o">=</span><span class="s">&#39;&#39;</span><span class="p">)</span>
    21631294        <span class="bp">self</span><span class="o">.</span><span class="n">TextureMenu</span><span class="o">.</span><span class="n">Append</span><span class="p">(</span><span class="n">menu</span><span class="o">=</span><span class="bp">self</span><span class="o">.</span><span class="n">TextureEdit</span><span class="p">,</span> <span class="n">title</span><span class="o">=</span><span class="s">&#39;Texture&#39;</span><span class="p">)</span>
    2164 <span class="c">#        self.TextureEdit.Append(id=wxID_REFINETEXTURE, kind=wx.ITEM_NORMAL,text=&#39;Refine texture&#39;, </span>
    2165 <span class="c">#            help=&#39;Refine the texture coefficients from sequential Pawley results&#39;)</span>
    2166 <span class="c"># N.B. Binding is now commented out</span>
     1295        <span class="bp">self</span><span class="o">.</span><span class="n">TextureEdit</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">wxID_REFINETEXTURE</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="s">&#39;Refine texture&#39;</span><span class="p">,</span>
     1296            <span class="n">help</span><span class="o">=</span><span class="s">&#39;Refine the texture coefficients from sequential results&#39;</span><span class="p">)</span>
    21671297        <span class="bp">self</span><span class="o">.</span><span class="n">TextureEdit</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">wxID_CLEARTEXTURE</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="s">&#39;Clear texture&#39;</span><span class="p">,</span>
    21681298            <span class="n">help</span><span class="o">=</span><span class="s">&#39;Clear the texture coefficients&#39;</span> <span class="p">)</span>
     
    22631393        <span class="bp">self</span><span class="o">.</span><span class="n">DestroyChildren</span><span class="p">()</span>
    22641394                   
     1395
    22651396<span class="c">################################################################################</span>
    2266 <span class="c">#####  GSNotebook</span>
    2267 <span class="c">################################################################################           </span>
    2268        </div>
    2269 <div class="viewcode-block" id="GSNoteBook"><a class="viewcode-back" href="../GSASIIGUIr.html#GSASIIgrid.GSNoteBook">[docs]</a><span class="k">class</span> <span class="nc">GSNoteBook</span><span class="p">(</span><span class="n">wx</span><span class="o">.</span><span class="n">aui</span><span class="o">.</span><span class="n">AuiNotebook</span><span class="p">):</span>
    2270     <span class="sd">&#39;&#39;&#39;Notebook used in various locations; implemented with wx.aui extension</span>
    2271 <span class="sd">    &#39;&#39;&#39;</span>
    2272     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">parent</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">&#39;&#39;</span><span class="p">,</span><span class="n">size</span> <span class="o">=</span> <span class="bp">None</span><span class="p">):</span>
    2273         <span class="n">wx</span><span class="o">.</span><span class="n">aui</span><span class="o">.</span><span class="n">AuiNotebook</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">parent</span><span class="p">,</span> <span class="o">-</span><span class="mi">1</span><span class="p">,</span>
    2274                                     <span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">aui</span><span class="o">.</span><span class="n">AUI_NB_TOP</span> <span class="o">|</span>
    2275                                     <span class="n">wx</span><span class="o">.</span><span class="n">aui</span><span class="o">.</span><span class="n">AUI_NB_SCROLL_BUTTONS</span><span class="p">)</span>
    2276         <span class="k">if</span> <span class="n">size</span><span class="p">:</span> <span class="bp">self</span><span class="o">.</span><span class="n">SetSize</span><span class="p">(</span><span class="n">size</span><span class="p">)</span>
    2277         <span class="bp">self</span><span class="o">.</span><span class="n">parent</span> <span class="o">=</span> <span class="n">parent</span>
    2278         <span class="bp">self</span><span class="o">.</span><span class="n">PageChangeHandler</span> <span class="o">=</span> <span class="bp">None</span>
    2279        
    2280     <span class="k">def</span> <span class="nf">PageChangeEvent</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">event</span><span class="p">):</span>
    2281         <span class="n">G2frame</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">parent</span><span class="o">.</span><span class="n">G2frame</span>
    2282         <span class="n">page</span> <span class="o">=</span> <span class="n">event</span><span class="o">.</span><span class="n">GetSelection</span><span class="p">()</span>
    2283         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">PageChangeHandler</span><span class="p">:</span>
    2284             <span class="k">if</span> <span class="n">log</span><span class="o">.</span><span class="n">LogInfo</span><span class="p">[</span><span class="s">&#39;Logging&#39;</span><span class="p">]:</span>
    2285                 <span class="n">log</span><span class="o">.</span><span class="n">MakeTabLog</span><span class="p">(</span>
    2286                     <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">GetTitle</span><span class="p">(),</span>
    2287                     <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>
    2288                     <span class="p">)</span>
    2289             <span class="bp">self</span><span class="o">.</span><span class="n">PageChangeHandler</span><span class="p">(</span><span class="n">event</span><span class="p">)</span>
    2290            
    2291 <div class="viewcode-block" id="GSNoteBook.Bind"><a class="viewcode-back" href="../GSASIIGUIr.html#GSASIIgrid.GSNoteBook.Bind">[docs]</a>    <span class="k">def</span> <span class="nf">Bind</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">eventtype</span><span class="p">,</span><span class="n">handler</span><span class="p">,</span><span class="o">*</span><span class="n">args</span><span class="p">,</span><span class="o">**</span><span class="n">kwargs</span><span class="p">):</span>
    2292         <span class="sd">&#39;&#39;&#39;Override the Bind() function so that page change events can be trapped</span>
    2293 <span class="sd">        &#39;&#39;&#39;</span>
    2294         <span class="k">if</span> <span class="n">eventtype</span> <span class="o">==</span> <span class="n">wx</span><span class="o">.</span><span class="n">aui</span><span class="o">.</span><span class="n">EVT_AUINOTEBOOK_PAGE_CHANGED</span><span class="p">:</span>
    2295             <span class="bp">self</span><span class="o">.</span><span class="n">PageChangeHandler</span> <span class="o">=</span> <span class="n">handler</span>
    2296             <span class="n">wx</span><span class="o">.</span><span class="n">aui</span><span class="o">.</span><span class="n">AuiNotebook</span><span class="o">.</span><span class="n">Bind</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">eventtype</span><span class="p">,</span><span class="bp">self</span><span class="o">.</span><span class="n">PageChangeEvent</span><span class="p">)</span>
    2297             <span class="k">return</span>
    2298         <span class="n">wx</span><span class="o">.</span><span class="n">aui</span><span class="o">.</span><span class="n">AuiNotebook</span><span class="o">.</span><span class="n">Bind</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">eventtype</span><span class="p">,</span><span class="n">handler</span><span class="p">,</span><span class="o">*</span><span class="n">args</span><span class="p">,</span><span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>
    2299                                                       </div>
    2300     <span class="k">def</span> <span class="nf">Clear</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>       
    2301         <span class="n">GSNoteBook</span><span class="o">.</span><span class="n">DeleteAllPages</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
    2302        
    2303     <span class="k">def</span> <span class="nf">FindPage</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">name</span><span class="p">):</span>
    2304         <span class="n">numPage</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">GetPageCount</span><span class="p">()</span>
    2305         <span class="k">for</span> <span class="n">page</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="n">numPage</span><span class="p">):</span>
    2306             <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">GetPageText</span><span class="p">(</span><span class="n">page</span><span class="p">)</span> <span class="o">==</span> <span class="n">name</span><span class="p">:</span>
    2307                 <span class="k">return</span> <span class="n">page</span>
    2308 
    2309     <span class="k">def</span> <span class="nf">ChangeSelection</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">page</span><span class="p">):</span>
    2310         <span class="c"># in wx.Notebook ChangeSelection is like SetSelection, but it</span>
    2311         <span class="c"># does not invoke the event related to pressing the tab button</span>
    2312         <span class="c"># I don&#39;t see a way to do that in aui.</span>
    2313         <span class="n">oldPage</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">GetSelection</span><span class="p">()</span>
    2314         <span class="bp">self</span><span class="o">.</span><span class="n">SetSelection</span><span class="p">(</span><span class="n">page</span><span class="p">)</span>
    2315         <span class="k">return</span> <span class="n">oldPage</span>
    2316 
    2317     <span class="c"># def __getattribute__(self,name):</span>
    2318     <span class="c">#     &#39;&#39;&#39;This method provides a way to print out a message every time</span>
    2319     <span class="c">#     that a method in a class is called -- to see what all the calls</span>
    2320     <span class="c">#     might be, or where they might be coming from.</span>
    2321     <span class="c">#     Cute trick for debugging!</span>
    2322     <span class="c">#     &#39;&#39;&#39;</span>
    2323     <span class="c">#     attr = object.__getattribute__(self, name)</span>
    2324     <span class="c">#     if hasattr(attr, &#39;__call__&#39;):</span>
    2325     <span class="c">#         def newfunc(*args, **kwargs):</span>
    2326     <span class="c">#             print(&#39;GSauiNoteBook calling %s&#39; %attr.__name__)</span>
    2327     <span class="c">#             result = attr(*args, **kwargs)</span>
    2328     <span class="c">#             return result</span>
    2329     <span class="c">#         return newfunc</span>
    2330     <span class="c">#     else:</span>
    2331     <span class="c">#         return attr</span>
    2332            
    2333 <span class="c">################################################################################</span>
    2334 <span class="c">#####  GSGrid</span>
    2335 <span class="c">################################################################################           </span>
    2336        </div>
    2337 <div class="viewcode-block" id="GSGrid"><a class="viewcode-back" href="../GSASIIGUIr.html#GSASIIgrid.GSGrid">[docs]</a><span class="k">class</span> <span class="nc">GSGrid</span><span class="p">(</span><span class="n">wg</span><span class="o">.</span><span class="n">Grid</span><span class="p">):</span>
    2338     <span class="sd">&#39;&#39;&#39;Basic wx.Grid implementation</span>
    2339 <span class="sd">    &#39;&#39;&#39;</span>
    2340     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">parent</span><span class="p">,</span> <span class="n">name</span><span class="o">=</span><span class="s">&#39;&#39;</span><span class="p">):</span>
    2341         <span class="n">wg</span><span class="o">.</span><span class="n">Grid</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">parent</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="n">name</span><span class="o">=</span><span class="n">name</span><span class="p">)</span>                   
    2342         <span class="c">#self.SetSize(parent.GetClientSize())</span>
    2343         <span class="c"># above removed to speed drawing of initial grid</span>
    2344         <span class="c"># does not appear to be needed</span>
    2345            
    2346     <span class="k">def</span> <span class="nf">Clear</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
    2347         <span class="n">wg</span><span class="o">.</span><span class="n">Grid</span><span class="o">.</span><span class="n">ClearGrid</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
    2348        
    2349     <span class="k">def</span> <span class="nf">SetCellReadOnly</span><span class="p">(</span><span class="bp">self</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">readonly</span><span class="o">=</span><span class="bp">True</span><span class="p">):</span>
    2350         <span class="bp">self</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="n">readonly</span><span class="p">)</span>
    2351        
    2352     <span class="k">def</span> <span class="nf">SetCellStyle</span><span class="p">(</span><span class="bp">self</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">color</span><span class="o">=</span><span class="s">&quot;white&quot;</span><span class="p">,</span><span class="n">readonly</span><span class="o">=</span><span class="bp">True</span><span class="p">):</span>
    2353         <span class="bp">self</span><span class="o">.</span><span class="n">SetCellBackgroundColour</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">color</span><span class="p">)</span>
    2354         <span class="bp">self</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="n">readonly</span><span class="p">)</span>
    2355        
    2356     <span class="k">def</span> <span class="nf">GetSelection</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
    2357         <span class="c">#this is to satisfy structure drawing stuff in G2plt when focus changes</span>
    2358         <span class="k">return</span> <span class="bp">None</span>
    2359 
    2360 <div class="viewcode-block" id="GSGrid.InstallGridToolTip"><a class="viewcode-back" href="../GSASIIGUIr.html#GSASIIgrid.GSGrid.InstallGridToolTip">[docs]</a>    <span class="k">def</span> <span class="nf">InstallGridToolTip</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">rowcolhintcallback</span><span class="p">,</span>
    2361                            <span class="n">colLblCallback</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span><span class="n">rowLblCallback</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
    2362         <span class="sd">&#39;&#39;&#39;code to display a tooltip for each item on a grid</span>
    2363 <span class="sd">        from http://wiki.wxpython.org/wxGrid%20ToolTips (buggy!), expanded to</span>
    2364 <span class="sd">        column and row labels using hints from</span>
    2365 <span class="sd">        https://groups.google.com/forum/#!topic/wxPython-users/bm8OARRVDCs</span>
    2366 
    2367 <span class="sd">        :param function rowcolhintcallback: a routine that returns a text</span>
    2368 <span class="sd">          string depending on the selected row and column, to be used in</span>
    2369 <span class="sd">          explaining grid entries.</span>
    2370 <span class="sd">        :param function colLblCallback: a routine that returns a text</span>
    2371 <span class="sd">          string depending on the selected column, to be used in</span>
    2372 <span class="sd">          explaining grid columns (if None, the default), column labels</span>
    2373 <span class="sd">          do not get a tooltip.</span>
    2374 <span class="sd">        :param function rowLblCallback: a routine that returns a text</span>
    2375 <span class="sd">          string depending on the selected row, to be used in</span>
    2376 <span class="sd">          explaining grid rows (if None, the default), row labels</span>
    2377 <span class="sd">          do not get a tooltip.</span>
    2378 <span class="sd">        &#39;&#39;&#39;</span>
    2379         <span class="n">prev_rowcol</span> <span class="o">=</span> <span class="p">[</span><span class="bp">None</span><span class="p">,</span><span class="bp">None</span><span class="p">,</span><span class="bp">None</span><span class="p">]</span>
    2380         <span class="k">def</span> <span class="nf">OnMouseMotion</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
    2381             <span class="c"># event.GetRow() and event.GetCol() would be nice to have here,</span>
    2382             <span class="c"># but as this is a mouse event, not a grid event, they are not</span>
    2383             <span class="c"># available and we need to compute them by hand.</span>
    2384             <span class="n">x</span><span class="p">,</span> <span class="n">y</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">CalcUnscrolledPosition</span><span class="p">(</span><span class="n">event</span><span class="o">.</span><span class="n">GetPosition</span><span class="p">())</span>
    2385             <span class="n">row</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">YToRow</span><span class="p">(</span><span class="n">y</span><span class="p">)</span>
    2386             <span class="n">col</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">XToCol</span><span class="p">(</span><span class="n">x</span><span class="p">)</span>
    2387             <span class="n">hinttext</span> <span class="o">=</span> <span class="s">&#39;&#39;</span>
    2388             <span class="n">win</span> <span class="o">=</span> <span class="n">event</span><span class="o">.</span><span class="n">GetEventObject</span><span class="p">()</span>
    2389             <span class="k">if</span> <span class="p">[</span><span class="n">row</span><span class="p">,</span><span class="n">col</span><span class="p">,</span><span class="n">win</span><span class="p">]</span> <span class="o">==</span> <span class="n">prev_rowcol</span><span class="p">:</span> <span class="c"># no change from last position</span>
    2390                 <span class="n">event</span><span class="o">.</span><span class="n">Skip</span><span class="p">()</span>
    2391                 <span class="k">return</span>
    2392             <span class="k">if</span> <span class="n">win</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">GetGridWindow</span><span class="p">()</span> <span class="ow">and</span> <span class="n">row</span> <span class="o">&gt;=</span> <span class="mi">0</span> <span class="ow">and</span> <span class="n">col</span> <span class="o">&gt;=</span> <span class="mi">0</span><span class="p">:</span>
    2393                 <span class="n">hinttext</span> <span class="o">=</span> <span class="n">rowcolhintcallback</span><span class="p">(</span><span class="n">row</span><span class="p">,</span> <span class="n">col</span><span class="p">)</span>
    2394             <span class="k">elif</span> <span class="n">win</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">GetGridColLabelWindow</span><span class="p">()</span> <span class="ow">and</span> <span class="n">col</span> <span class="o">&gt;=</span> <span class="mi">0</span><span class="p">:</span>
    2395                 <span class="k">if</span> <span class="n">colLblCallback</span><span class="p">:</span> <span class="n">hinttext</span> <span class="o">=</span> <span class="n">colLblCallback</span><span class="p">(</span><span class="n">col</span><span class="p">)</span>
    2396             <span class="k">elif</span> <span class="n">win</span> <span class="o">==</span> <span class="bp">self</span><span class="o">.</span><span class="n">GetGridRowLabelWindow</span><span class="p">()</span> <span class="ow">and</span> <span class="n">row</span> <span class="o">&gt;=</span> <span class="mi">0</span><span class="p">:</span>
    2397                 <span class="k">if</span> <span class="n">rowLblCallback</span><span class="p">:</span> <span class="n">hinttext</span> <span class="o">=</span> <span class="n">rowLblCallback</span><span class="p">(</span><span class="n">row</span><span class="p">)</span>
    2398             <span class="k">else</span><span class="p">:</span> <span class="c"># this should be the upper left corner, which is empty</span>
    2399                 <span class="n">event</span><span class="o">.</span><span class="n">Skip</span><span class="p">()</span>
    2400                 <span class="k">return</span>
    2401             <span class="k">if</span> <span class="n">hinttext</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span> <span class="n">hinttext</span> <span class="o">=</span> <span class="s">&#39;&#39;</span>
    2402             <span class="n">win</span><span class="o">.</span><span class="n">SetToolTipString</span><span class="p">(</span><span class="n">hinttext</span><span class="p">)</span>
    2403             <span class="n">prev_rowcol</span><span class="p">[:]</span> <span class="o">=</span> <span class="p">[</span><span class="n">row</span><span class="p">,</span><span class="n">col</span><span class="p">,</span><span class="n">win</span><span class="p">]</span>
    2404             <span class="n">event</span><span class="o">.</span><span class="n">Skip</span><span class="p">()</span>
    2405 
    2406         <span class="n">wx</span><span class="o">.</span><span class="n">EVT_MOTION</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">GetGridWindow</span><span class="p">(),</span> <span class="n">OnMouseMotion</span><span class="p">)</span>
    2407         <span class="k">if</span> <span class="n">colLblCallback</span><span class="p">:</span> <span class="n">wx</span><span class="o">.</span><span class="n">EVT_MOTION</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">GetGridColLabelWindow</span><span class="p">(),</span> <span class="n">OnMouseMotion</span><span class="p">)</span>
    2408         <span class="k">if</span> <span class="n">rowLblCallback</span><span class="p">:</span> <span class="n">wx</span><span class="o">.</span><span class="n">EVT_MOTION</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">GetGridRowLabelWindow</span><span class="p">(),</span> <span class="n">OnMouseMotion</span><span class="p">)</span>
    2409                                                    
    2410 <span class="c">################################################################################</span>
    2411 <span class="c">#####  Table</span>
    2412 <span class="c">################################################################################           </span>
    2413        </div></div>
    2414 <div class="viewcode-block" id="Table"><a class="viewcode-back" href="../GSASIIGUIr.html#GSASIIgrid.Table">[docs]</a><span class="k">class</span> <span class="nc">Table</span><span class="p">(</span><span class="n">wg</span><span class="o">.</span><span class="n">PyGridTableBase</span><span class="p">):</span>
    2415     <span class="sd">&#39;&#39;&#39;Basic data table for use with GSgrid</span>
    2416 <span class="sd">    &#39;&#39;&#39;</span>
    2417     <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data</span><span class="o">=</span><span class="p">[],</span> <span class="n">rowLabels</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">colLabels</span><span class="o">=</span><span class="bp">None</span><span class="p">,</span> <span class="n">types</span> <span class="o">=</span> <span class="bp">None</span><span class="p">):</span>
    2418         <span class="n">wg</span><span class="o">.</span><span class="n">PyGridTableBase</span><span class="o">.</span><span class="n">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
    2419         <span class="bp">self</span><span class="o">.</span><span class="n">colLabels</span> <span class="o">=</span> <span class="n">colLabels</span>
    2420         <span class="bp">self</span><span class="o">.</span><span class="n">rowLabels</span> <span class="o">=</span> <span class="n">rowLabels</span>
    2421         <span class="bp">self</span><span class="o">.</span><span class="n">dataTypes</span> <span class="o">=</span> <span class="n">types</span>
    2422         <span class="bp">self</span><span class="o">.</span><span class="n">data</span> <span class="o">=</span> <span class="n">data</span>
    2423        
    2424     <span class="k">def</span> <span class="nf">AppendRows</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">numRows</span><span class="o">=</span><span class="mi">1</span><span class="p">):</span>
    2425         <span class="bp">self</span><span class="o">.</span><span class="n">data</span><span class="o">.</span><span class="n">append</span><span class="p">([])</span>
    2426         <span class="k">return</span> <span class="bp">True</span>
    2427        
    2428     <span class="k">def</span> <span class="nf">CanGetValueAs</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">row</span><span class="p">,</span> <span class="n">col</span><span class="p">,</span> <span class="n">typeName</span><span class="p">):</span>
    2429         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">dataTypes</span><span class="p">:</span>
    2430             <span class="n">colType</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">dataTypes</span><span class="p">[</span><span class="n">col</span><span class="p">]</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">&#39;:&#39;</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
    2431             <span class="k">if</span> <span class="n">typeName</span> <span class="o">==</span> <span class="n">colType</span><span class="p">:</span>
    2432                 <span class="k">return</span> <span class="bp">True</span>
    2433             <span class="k">else</span><span class="p">:</span>
    2434                 <span class="k">return</span> <span class="bp">False</span>
    2435         <span class="k">else</span><span class="p">:</span>
    2436             <span class="k">return</span> <span class="bp">False</span>
    2437 
    2438     <span class="k">def</span> <span class="nf">CanSetValueAs</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">row</span><span class="p">,</span> <span class="n">col</span><span class="p">,</span> <span class="n">typeName</span><span class="p">):</span>
    2439         <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">CanGetValueAs</span><span class="p">(</span><span class="n">row</span><span class="p">,</span> <span class="n">col</span><span class="p">,</span> <span class="n">typeName</span><span class="p">)</span>
    2440 
    2441     <span class="k">def</span> <span class="nf">DeleteRow</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">pos</span><span class="p">):</span>
    2442         <span class="n">data</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">GetData</span><span class="p">()</span>
    2443         <span class="bp">self</span><span class="o">.</span><span class="n">SetData</span><span class="p">([])</span>
    2444         <span class="n">new</span> <span class="o">=</span> <span class="p">[]</span>
    2445         <span class="k">for</span> <span class="n">irow</span><span class="p">,</span><span class="n">row</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">data</span><span class="p">):</span>
    2446             <span class="k">if</span> <span class="n">irow</span> <span class="o">&lt;&gt;</span> <span class="n">pos</span><span class="p">:</span>
    2447                 <span class="n">new</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">row</span><span class="p">)</span>
    2448         <span class="bp">self</span><span class="o">.</span><span class="n">SetData</span><span class="p">(</span><span class="n">new</span><span class="p">)</span>
    2449        
    2450     <span class="k">def</span> <span class="nf">GetColLabelValue</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">col</span><span class="p">):</span>
    2451         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">colLabels</span><span class="p">:</span>
    2452             <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">colLabels</span><span class="p">[</span><span class="n">col</span><span class="p">]</span>
    2453            
    2454     <span class="k">def</span> <span class="nf">GetData</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
    2455         <span class="n">data</span> <span class="o">=</span> <span class="p">[]</span>
    2456         <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="bp">self</span><span class="o">.</span><span class="n">GetNumberRows</span><span class="p">()):</span>
    2457             <span class="n">data</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">GetRowValues</span><span class="p">(</span><span class="n">row</span><span class="p">))</span>
    2458         <span class="k">return</span> <span class="n">data</span>
    2459        
    2460     <span class="k">def</span> <span class="nf">GetNumberCols</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
    2461         <span class="k">try</span><span class="p">:</span>
    2462             <span class="k">return</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">colLabels</span><span class="p">)</span>
    2463         <span class="k">except</span> <span class="ne">TypeError</span><span class="p">:</span>
    2464             <span class="k">return</span> <span class="bp">None</span>
    2465        
    2466     <span class="k">def</span> <span class="nf">GetNumberRows</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
    2467         <span class="k">return</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">data</span><span class="p">)</span>
    2468        
    2469     <span class="k">def</span> <span class="nf">GetRowLabelValue</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">row</span><span class="p">):</span>
    2470         <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">rowLabels</span><span class="p">:</span>
    2471             <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">rowLabels</span><span class="p">[</span><span class="n">row</span><span class="p">]</span>
    2472        
    2473     <span class="k">def</span> <span class="nf">GetColValues</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">col</span><span class="p">):</span>
    2474         <span class="n">data</span> <span class="o">=</span> <span class="p">[]</span>
    2475         <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="bp">self</span><span class="o">.</span><span class="n">GetNumberRows</span><span class="p">()):</span>
    2476             <span class="n">data</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">GetValue</span><span class="p">(</span><span class="n">row</span><span class="p">,</span> <span class="n">col</span><span class="p">))</span>
    2477         <span class="k">return</span> <span class="n">data</span>
    2478        
    2479     <span class="k">def</span> <span class="nf">GetRowValues</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">row</span><span class="p">):</span>
    2480         <span class="n">data</span> <span class="o">=</span> <span class="p">[]</span>
    2481         <span class="k">for</span> <span class="n">col</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">GetNumberCols</span><span class="p">()):</span>
    2482             <span class="n">data</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">GetValue</span><span class="p">(</span><span class="n">row</span><span class="p">,</span> <span class="n">col</span><span class="p">))</span>
    2483         <span class="k">return</span> <span class="n">data</span>
    2484        
    2485     <span class="k">def</span> <span class="nf">GetTypeName</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">row</span><span class="p">,</span> <span class="n">col</span><span class="p">):</span>
    2486         <span class="k">try</span><span class="p">:</span>
    2487             <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">data</span><span class="p">[</span><span class="n">row</span><span class="p">][</span><span class="n">col</span><span class="p">]</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span> <span class="k">return</span> <span class="bp">None</span>
    2488             <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">dataTypes</span><span class="p">[</span><span class="n">col</span><span class="p">]</span>
    2489         <span class="k">except</span> <span class="p">(</span><span class="ne">TypeError</span><span class="p">,</span><span class="ne">IndexError</span><span class="p">):</span>
    2490             <span class="k">return</span> <span class="bp">None</span>
    2491 
    2492     <span class="k">def</span> <span class="nf">GetValue</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">row</span><span class="p">,</span> <span class="n">col</span><span class="p">):</span>
    2493         <span class="k">try</span><span class="p">:</span>
    2494             <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">data</span><span class="p">[</span><span class="n">row</span><span class="p">][</span><span class="n">col</span><span class="p">]</span> <span class="ow">is</span> <span class="bp">None</span><span class="p">:</span> <span class="k">return</span> <span class="s">&quot;&quot;</span>
    2495             <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">data</span><span class="p">[</span><span class="n">row</span><span class="p">][</span><span class="n">col</span><span class="p">]</span>
    2496         <span class="k">except</span> <span class="ne">IndexError</span><span class="p">:</span>
    2497             <span class="k">return</span> <span class="bp">None</span>
    2498            
    2499     <span class="k">def</span> <span class="nf">InsertRows</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">pos</span><span class="p">,</span> <span class="n">rows</span><span class="p">):</span>
    2500         <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">rows</span><span class="p">):</span>
    2501             <span class="bp">self</span><span class="o">.</span><span class="n">data</span><span class="o">.</span><span class="n">insert</span><span class="p">(</span><span class="n">pos</span><span class="p">,[])</span>
    2502             <span class="n">pos</span> <span class="o">+=</span> <span class="mi">1</span>
    2503        
    2504     <span class="k">def</span> <span class="nf">IsEmptyCell</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">row</span><span class="p">,</span><span class="n">col</span><span class="p">):</span>
    2505         <span class="k">try</span><span class="p">:</span>
    2506             <span class="k">return</span> <span class="ow">not</span> <span class="bp">self</span><span class="o">.</span><span class="n">data</span><span class="p">[</span><span class="n">row</span><span class="p">][</span><span class="n">col</span><span class="p">]</span>
    2507         <span class="k">except</span> <span class="ne">IndexError</span><span class="p">:</span>
    2508             <span class="k">return</span> <span class="bp">True</span>
    2509        
    2510     <span class="k">def</span> <span class="nf">OnKeyPress</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">event</span><span class="p">):</span>
    2511         <span class="n">dellist</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">GetSelectedRows</span><span class="p">()</span>
    2512         <span class="k">if</span> <span class="n">event</span><span class="o">.</span><span class="n">GetKeyCode</span><span class="p">()</span> <span class="o">==</span> <span class="n">wx</span><span class="o">.</span><span class="n">WXK_DELETE</span> <span class="ow">and</span> <span class="n">dellist</span><span class="p">:</span>
    2513             <span class="n">grid</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">GetView</span><span class="p">()</span>
    2514             <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="n">dellist</span><span class="p">:</span> <span class="n">grid</span><span class="o">.</span><span class="n">DeleteRow</span><span class="p">(</span><span class="n">i</span><span class="p">)</span>
    2515                
    2516     <span class="k">def</span> <span class="nf">SetColLabelValue</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">col</span><span class="p">,</span> <span class="n">label</span><span class="p">):</span>
    2517         <span class="n">numcols</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">GetNumberCols</span><span class="p">()</span>
    2518         <span class="k">if</span> <span class="n">col</span> <span class="o">&gt;</span> <span class="n">numcols</span><span class="o">-</span><span class="mi">1</span><span class="p">:</span>
    2519             <span class="bp">self</span><span class="o">.</span><span class="n">colLabels</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">label</span><span class="p">)</span>
    2520         <span class="k">else</span><span class="p">:</span>
    2521             <span class="bp">self</span><span class="o">.</span><span class="n">colLabels</span><span class="p">[</span><span class="n">col</span><span class="p">]</span><span class="o">=</span><span class="n">label</span>
    2522        
    2523     <span class="k">def</span> <span class="nf">SetData</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">data</span><span class="p">):</span>
    2524         <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="nb">len</span><span class="p">(</span><span class="n">data</span><span class="p">)):</span>
    2525             <span class="bp">self</span><span class="o">.</span><span class="n">SetRowValues</span><span class="p">(</span><span class="n">row</span><span class="p">,</span><span class="n">data</span><span class="p">[</span><span class="n">row</span><span class="p">])</span>
    2526                
    2527     <span class="k">def</span> <span class="nf">SetRowLabelValue</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">row</span><span class="p">,</span> <span class="n">label</span><span class="p">):</span>
    2528         <span class="bp">self</span><span class="o">.</span><span class="n">rowLabels</span><span class="p">[</span><span class="n">row</span><span class="p">]</span><span class="o">=</span><span class="n">label</span>
    2529            
    2530     <span class="k">def</span> <span class="nf">SetRowValues</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span><span class="n">row</span><span class="p">,</span><span class="n">data</span><span class="p">):</span>
    2531         <span class="bp">self</span><span class="o">.</span><span class="n">data</span><span class="p">[</span><span class="n">row</span><span class="p">]</span> <span class="o">=</span> <span class="n">data</span>
    2532            
    2533     <span class="k">def</span> <span class="nf">SetValue</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">row</span><span class="p">,</span> <span class="n">col</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
    2534         <span class="k">def</span> <span class="nf">innerSetValue</span><span class="p">(</span><span class="n">row</span><span class="p">,</span> <span class="n">col</span><span class="p">,</span> <span class="n">value</span><span class="p">):</span>
    2535             <span class="k">try</span><span class="p">:</span>
    2536                 <span class="bp">self</span><span class="o">.</span><span class="n">data</span><span class="p">[</span><span class="n">row</span><span class="p">][</span><span class="n">col</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span>
    2537             <span class="k">except</span> <span class="ne">TypeError</span><span class="p">:</span>
    2538                 <span class="k">return</span>
    2539             <span class="k">except</span> <span class="ne">IndexError</span><span class="p">:</span>
    2540                 <span class="k">print</span> <span class="n">row</span><span class="p">,</span><span class="n">col</span><span class="p">,</span><span class="n">value</span>
    2541                 <span class="c"># add a new row</span>
    2542                 <span class="k">if</span> <span class="n">row</span> <span class="o">&gt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">GetNumberRows</span><span class="p">():</span>
    2543                     <span class="bp">self</span><span class="o">.</span><span class="n">data</span><span class="o">.</span><span class="n">append</span><span class="p">([</span><span class="s">&#39;&#39;</span><span class="p">]</span> <span class="o">*</span> <span class="bp">self</span><span class="o">.</span><span class="n">GetNumberCols</span><span class="p">())</span>
    2544                 <span class="k">elif</span> <span class="n">col</span> <span class="o">&gt;</span> <span class="bp">self</span><span class="o">.</span><span class="n">GetNumberCols</span><span class="p">():</span>
    2545                     <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="bp">self</span><span class="o">.</span><span class="n">GetNumberRows</span><span class="p">):</span>
    2546                         <span class="bp">self</span><span class="o">.</span><span class="n">data</span><span class="p">[</span><span class="n">row</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s">&#39;&#39;</span><span class="p">)</span>
    2547                 <span class="k">print</span> <span class="bp">self</span><span class="o">.</span><span class="n">data</span>
    2548                 <span class="bp">self</span><span class="o">.</span><span class="n">data</span><span class="p">[</span><span class="n">row</span><span class="p">][</span><span class="n">col</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span>
    2549         <span class="n">innerSetValue</span><span class="p">(</span><span class="n">row</span><span class="p">,</span> <span class="n">col</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span>
    2550 
    2551 <span class="c">################################################################################</span>
    2552 <span class="c">#####  Notebook</span>
    2553 <span class="c">################################################################################           </span>
    2554        </div>
     1397<span class="c">#####  Notebook Tree Item editor</span>
     1398<span class="c">################################################################################                  </span></div>
    25551399<div class="viewcode-block" id="UpdateNotebook"><a class="viewcode-back" href="../GSASIIGUIr.html#GSASIIgrid.UpdateNotebook">[docs]</a><span class="k">def</span> <span class="nf">UpdateNotebook</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">data</span><span class="p">):</span>
    25561400    <span class="sd">&#39;&#39;&#39;Called when the data tree notebook entry is selected. Allows for</span>
     
    25761420           
    25771421<span class="c">################################################################################</span>
    2578 <span class="c">#####  Controls</span>
    2579 <span class="c">################################################################################           </span>
    2580        </div>
     1422<span class="c">#####  Controls Tree Item editor</span>
     1423<span class="c">################################################################################           </span></div>
    25811424<div class="viewcode-block" id="UpdateControls"><a class="viewcode-back" href="../GSASIIGUIr.html#GSASIIgrid.UpdateControls">[docs]</a><span class="k">def</span> <span class="nf">UpdateControls</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">data</span><span class="p">):</span>
    25821425    <span class="sd">&#39;&#39;&#39;Edit overall GSAS-II controls in main Controls data tree entry</span>
     
    25891432        <span class="n">data</span><span class="p">[</span><span class="s">&#39;shift factor&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="mf">1.</span>
    25901433        <span class="n">data</span><span class="p">[</span><span class="s">&#39;max cyc&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="mi">3</span>       
    2591         <span class="n">data</span><span class="p">[</span><span class="s">&#39;F**2&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">True</span>
    2592         <span class="n">data</span><span class="p">[</span><span class="s">&#39;minF/sig&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="mi">0</span>
     1434        <span class="n">data</span><span class="p">[</span><span class="s">&#39;F**2&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">False</span>
    25931435    <span class="k">if</span> <span class="s">&#39;shift factor&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">data</span><span class="p">:</span>
    25941436        <span class="n">data</span><span class="p">[</span><span class="s">&#39;shift factor&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="mf">1.</span>
     
    25961438        <span class="n">data</span><span class="p">[</span><span class="s">&#39;max cyc&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="mi">3</span>
    25971439    <span class="k">if</span> <span class="s">&#39;F**2&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">data</span><span class="p">:</span>
    2598         <span class="n">data</span><span class="p">[</span><span class="s">&#39;F**2&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">True</span>
    2599         <span class="n">data</span><span class="p">[</span><span class="s">&#39;minF/sig&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="mi">0</span>
     1440        <span class="n">data</span><span class="p">[</span><span class="s">&#39;F**2&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">False</span>
    26001441    <span class="k">if</span> <span class="s">&#39;Author&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">data</span><span class="p">:</span>
    26011442        <span class="n">data</span><span class="p">[</span><span class="s">&#39;Author&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s">&#39;no name&#39;</span>
     
    26091450        <span class="n">data</span><span class="p">[</span><span class="s">&#39;Copy2Next&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">False</span>
    26101451    <span class="k">if</span> <span class="s">&#39;Reverse Seq&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">data</span><span class="p">:</span>
    2611         <span class="n">data</span><span class="p">[</span><span class="s">&#39;Reverse Seq&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">False</span>   
     1452        <span class="n">data</span><span class="p">[</span><span class="s">&#39;Reverse Seq&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="bp">False</span>
     1453    <span class="k">if</span> <span class="s">&#39;UsrReject&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">data</span><span class="p">:</span>
     1454        <span class="n">data</span><span class="p">[</span><span class="s">&#39;UsrReject&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="p">{</span><span class="s">&#39;minF/sig&#39;</span><span class="p">:</span><span class="mi">0</span><span class="p">,</span><span class="s">&#39;MinExt&#39;</span><span class="p">:</span><span class="mf">0.01</span><span class="p">,</span><span class="s">&#39;MaxDF/F&#39;</span><span class="p">:</span><span class="mf">20.</span><span class="p">,</span><span class="s">&#39;MaxD&#39;</span><span class="p">:</span><span class="mf">500.</span><span class="p">,</span><span class="s">&#39;MinD&#39;</span><span class="p">:</span><span class="mf">0.05</span><span class="p">}</span>
    26121455     
    26131456   
     
    26171460       
    26181461        <span class="k">def</span> <span class="nf">OnSelectData</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
    2619             <span class="n">choices</span> <span class="o">=</span> <span class="n">GetPatternTreeDataNames</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,[</span><span class="s">&#39;PWDR&#39;</span><span class="p">,])</span>
     1462            <span class="n">choices</span> <span class="o">=</span> <span class="n">GetPatternTreeDataNames</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,[</span><span class="s">&#39;PWDR&#39;</span><span class="p">,</span><span class="s">&#39;HKLF&#39;</span><span class="p">,])</span>
    26201463            <span class="n">sel</span> <span class="o">=</span> <span class="p">[]</span>
    2621             <span class="k">if</span> <span class="s">&#39;Seq Data&#39;</span> <span class="ow">in</span> <span class="n">data</span><span class="p">:</span>
    2622                 <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;Seq Data&#39;</span><span class="p">]:</span>
    2623                     <span class="n">sel</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">choices</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">item</span><span class="p">))</span>
    2624                 <span class="n">sel</span> <span class="o">=</span> <span class="p">[</span><span class="n">choices</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">item</span><span class="p">)</span> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;Seq Data&#39;</span><span class="p">]]</span>
    2625             <span class="n">dlg</span> <span class="o">=</span> <span class="n">G2MultiChoiceDialog</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="s">&#39;Sequential refinement&#39;</span><span class="p">,</span>
    2626                                       <span class="s">&#39;Select dataset to include&#39;</span><span class="p">,</span>
    2627                                       <span class="n">choices</span><span class="p">)</span>
     1464            <span class="k">try</span><span class="p">:</span>
     1465                <span class="k">if</span> <span class="s">&#39;Seq Data&#39;</span> <span class="ow">in</span> <span class="n">data</span><span class="p">:</span>
     1466                    <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;Seq Data&#39;</span><span class="p">]:</span>
     1467                        <span class="n">sel</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">choices</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">item</span><span class="p">))</span>
     1468                    <span class="n">sel</span> <span class="o">=</span> <span class="p">[</span><span class="n">choices</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">item</span><span class="p">)</span> <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;Seq Data&#39;</span><span class="p">]]</span>
     1469            <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>  <span class="c">#data changed somehow - start fresh</span>
     1470                <span class="n">sel</span> <span class="o">=</span> <span class="p">[]</span>
     1471            <span class="n">dlg</span> <span class="o">=</span> <span class="n">G2G</span><span class="o">.</span><span class="n">G2MultiChoiceDialog</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="s">&#39;Sequential refinement&#39;</span><span class="p">,</span>
     1472                <span class="s">&#39;Select dataset to include&#39;</span><span class="p">,</span><span class="n">choices</span><span class="p">)</span>
    26281473            <span class="n">dlg</span><span class="o">.</span><span class="n">SetSelections</span><span class="p">(</span><span class="n">sel</span><span class="p">)</span>
    26291474            <span class="n">names</span> <span class="o">=</span> <span class="p">[]</span>
     
    26501495        <span class="n">SeqData</span> <span class="o">=</span> <span class="n">data</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;Seq Data&#39;</span><span class="p">,[])</span>
    26511496        <span class="k">if</span> <span class="ow">not</span> <span class="n">SeqData</span><span class="p">:</span>
    2652             <span class="n">lbl</span> <span class="o">=</span> <span class="s">&#39; (no powder data selected)&#39;</span>
     1497            <span class="n">lbl</span> <span class="o">=</span> <span class="s">&#39; (no data selected)&#39;</span>
    26531498        <span class="k">else</span><span class="p">:</span>
    26541499            <span class="n">lbl</span> <span class="o">=</span> <span class="s">&#39; (&#39;</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">SeqData</span><span class="p">))</span><span class="o">+</span><span class="s">&#39; dataset(s) selected)&#39;</span>
     
    26991544            <span class="n">data</span><span class="p">[</span><span class="s">&#39;F**2&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">fsqRef</span><span class="o">.</span><span class="n">GetValue</span><span class="p">()</span>
    27001545       
    2701         <span class="k">def</span> <span class="nf">OnMinSig</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
     1546        <span class="k">def</span> <span class="nf">OnUsrRej</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
     1547            <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>
     1548            <span class="n">item</span><span class="p">,</span><span class="n">limits</span> <span class="o">=</span> <span class="n">Indx</span><span class="p">[</span><span class="n">Obj</span><span class="p">]</span>
    27021549            <span class="k">try</span><span class="p">:</span>
    2703                 <span class="n">value</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="nb">max</span><span class="p">(</span><span class="nb">float</span><span class="p">(</span><span class="n">minSig</span><span class="o">.</span><span class="n">GetValue</span><span class="p">()),</span><span class="mf">0.</span><span class="p">),</span><span class="mf">5.</span><span class="p">)</span>
     1550                <span class="n">value</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="nb">max</span><span class="p">(</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><span class="n">limits</span><span class="p">[</span><span class="mi">0</span><span class="p">]),</span><span class="n">limits</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
    27041551            <span class="k">except</span> <span class="ne">ValueError</span><span class="p">:</span>
    2705                 <span class="n">value</span> <span class="o">=</span> <span class="mf">1.0</span>
    2706             <span class="n">data</span><span class="p">[</span><span class="s">&#39;minF/sig&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span>
    2707             <span class="n">minSig</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="s">&#39;</span><span class="si">%.2f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">value</span><span class="p">))</span>
     1552                <span class="n">value</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;UsrReject&#39;</span><span class="p">][</span><span class="n">item</span><span class="p">]</span>
     1553            <span class="n">data</span><span class="p">[</span><span class="s">&#39;UsrReject&#39;</span><span class="p">][</span><span class="n">item</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span>
     1554            <span class="n">Obj</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="s">&#39;</span><span class="si">%.2f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">value</span><span class="p">))</span>
    27081555
    27091556        <span class="n">LSSizer</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="n">cols</span><span class="o">=</span><span class="mi">4</span><span class="p">,</span><span class="n">vgap</span><span class="o">=</span><span class="mi">5</span><span class="p">,</span><span class="n">hgap</span><span class="o">=</span><span class="mi">5</span><span class="p">)</span>
     
    27211568        <span class="n">Cnvrg</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">OnConvergence</span><span class="p">)</span>
    27221569        <span class="n">LSSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">Cnvrg</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     1570        <span class="n">Indx</span> <span class="o">=</span> <span class="p">{}</span>
    27231571        <span class="k">if</span> <span class="s">&#39;Hessian&#39;</span> <span class="ow">in</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;deriv type&#39;</span><span class="p">]:</span>
    27241572            <span class="n">LSSizer</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">dataDisplay</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39; Max cycles: &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     
    27361584            <span class="n">LSSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">Factr</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    27371585        <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">Sngl</span><span class="p">:</span>
    2738             <span class="n">LSSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">((</span><span class="mi">1</span><span class="p">,</span><span class="mi">0</span><span class="p">),)</span>
    2739             <span class="n">LSSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">((</span><span class="mi">1</span><span class="p">,</span><span class="mi">0</span><span class="p">),)</span>
     1586            <span class="n">userReject</span> <span class="o">=</span> <span class="n">data</span><span class="p">[</span><span class="s">&#39;UsrReject&#39;</span><span class="p">]</span>
     1587            <span class="n">usrRej</span> <span class="o">=</span> <span class="p">{</span><span class="s">&#39;minF/sig&#39;</span><span class="p">:[</span><span class="s">&#39; Min obs/sig (0-5): &#39;</span><span class="p">,[</span><span class="mi">0</span><span class="p">,</span><span class="mi">5</span><span class="p">],</span> <span class="p">],</span><span class="s">&#39;MinExt&#39;</span><span class="p">:[</span><span class="s">&#39; Min extinct. (0-.9): &#39;</span><span class="p">,[</span><span class="mi">0</span><span class="p">,</span><span class="o">.</span><span class="mi">9</span><span class="p">],],</span>
     1588                <span class="s">&#39;MaxDF/F&#39;</span><span class="p">:[</span><span class="s">&#39; Max delt-F/sig (3-1000): &#39;</span><span class="p">,[</span><span class="mf">3.</span><span class="p">,</span><span class="mf">1000.</span><span class="p">],],</span><span class="s">&#39;MaxD&#39;</span><span class="p">:[</span><span class="s">&#39; Max d-spacing (3-500): &#39;</span><span class="p">,[</span><span class="mi">3</span><span class="p">,</span><span class="mi">500</span><span class="p">],],</span>
     1589                <span class="s">&#39;MinD&#39;</span><span class="p">:[</span><span class="s">&#39; Min d-spacing (0.1-1.0): &#39;</span><span class="p">,[</span><span class="mf">0.1</span><span class="p">,</span><span class="mf">1.0</span><span class="p">],]}</span>
     1590
    27401591            <span class="n">fsqRef</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">dataDisplay</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39;Refine HKLF as F^2? &#39;</span><span class="p">)</span>
    27411592            <span class="n">fsqRef</span><span class="o">.</span><span class="n">SetValue</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="s">&#39;F**2&#39;</span><span class="p">])</span>
    27421593            <span class="n">fsqRef</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">OnFsqRef</span><span class="p">)</span>
    27431594            <span class="n">LSSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">fsqRef</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    2744             <span class="n">LSSizer</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">dataDisplay</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="n">label</span><span class="o">=</span><span class="s">&#39;Min obs/sig (0-5): &#39;</span><span class="p">),</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    2745             <span class="n">minSig</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">dataDisplay</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="n">value</span><span class="o">=</span><span class="s">&#39;</span><span class="si">%.2f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">data</span><span class="p">[</span><span class="s">&#39;minF/sig&#39;</span><span class="p">]),</span><span class="n">style</span><span class="o">=</span><span class="n">wx</span><span class="o">.</span><span class="n">TE_PROCESS_ENTER</span><span class="p">)</span>
    2746             <span class="n">minSig</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">OnMinSig</span><span class="p">)</span>
    2747             <span class="n">minSig</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">OnMinSig</span><span class="p">)</span>
    2748             <span class="n">LSSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">minSig</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
     1595            <span class="n">LSSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">((</span><span class="mi">1</span><span class="p">,</span><span class="mi">0</span><span class="p">),)</span>
     1596            <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">usrRej</span><span class="p">:</span>
     1597                <span class="n">LSSizer</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">dataDisplay</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">usrRej</span><span class="p">[</span><span class="n">item</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">WACV</span><span class="p">)</span>
     1598                <span class="n">usrrej</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">dataDisplay</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="n">value</span><span class="o">=</span><span class="s">&#39;</span><span class="si">%.2f</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">userReject</span><span class="p">[</span><span class="n">item</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>
     1599                <span class="n">Indx</span><span class="p">[</span><span class="n">usrrej</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span><span class="n">item</span><span class="p">,</span><span class="n">usrRej</span><span class="p">[</span><span class="n">item</span><span class="p">][</span><span class="mi">1</span><span class="p">]]</span>
     1600                <span class="n">usrrej</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">OnUsrRej</span><span class="p">)</span>
     1601                <span class="n">usrrej</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">OnUsrRej</span><span class="p">)</span>
     1602                <span class="n">LSSizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">usrrej</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="n">WACV</span><span class="p">)</span>
    27491603        <span class="k">return</span> <span class="n">LSSizer</span>
    27501604       
     
    28401694        <span class="k">else</span><span class="p">:</span>
    28411695            <span class="n">sampleParmDict</span> <span class="o">=</span> <span class="p">{</span><span class="s">&#39;Temperature&#39;</span><span class="p">:[],</span><span class="s">&#39;Pressure&#39;</span><span class="p">:[],</span><span class="s">&#39;Time&#39;</span><span class="p">:[],</span>
    2842                               <span class="s">&#39;FreePrm1&#39;</span><span class="p">:[],</span><span class="s">&#39;FreePrm2&#39;</span><span class="p">:[],</span><span class="s">&#39;FreePrm3&#39;</span><span class="p">:[],}</span>
     1696                <span class="s">&#39;FreePrm1&#39;</span><span class="p">:[],</span><span class="s">&#39;FreePrm2&#39;</span><span class="p">:[],</span><span class="s">&#39;FreePrm3&#39;</span><span class="p">:[],</span><span class="s">&#39;Omega&#39;</span><span class="p">:[],</span>
     1697                <span class="s">&#39;Chi&#39;</span><span class="p">:[],</span><span class="s">&#39;Phi&#39;</span><span class="p">:[],</span><span class="s">&#39;Azimuth&#39;</span><span class="p">:[],}</span>
    28431698        <span class="n">Controls</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>
    28441699            <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="s">&#39;Controls&#39;</span><span class="p">))</span>
     
    29011756                <span class="p">)</span>
    29021757               
     1758    <span class="k">def</span> <span class="nf">OnAveSelSeq</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
     1759        <span class="s">&#39;average the selected columns from menu command&#39;</span>
     1760        <span class="n">cols</span> <span class="o">=</span> <span class="nb">sorted</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">GetSelectedCols</span><span class="p">())</span> <span class="c"># ignore selection order</span>
     1761        <span class="k">if</span> <span class="n">cols</span><span class="p">:</span>
     1762            <span class="k">for</span> <span class="n">col</span> <span class="ow">in</span> <span class="n">cols</span><span class="p">:</span>
     1763                <span class="n">ave</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">mean</span><span class="p">(</span><span class="n">GetColumnInfo</span><span class="p">(</span><span class="n">col</span><span class="p">)[</span><span class="mi">1</span><span class="p">])</span>
     1764                <span class="n">sig</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">GetColumnInfo</span><span class="p">(</span><span class="n">col</span><span class="p">)[</span><span class="mi">1</span><span class="p">])</span>
     1765                <span class="k">print</span> <span class="s">&#39; Average for &#39;</span><span class="o">+</span><span class="n">G2frame</span><span class="o">.</span><span class="n">SeqTable</span><span class="o">.</span><span class="n">GetColLabelValue</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">+</span><span class="s">&#39;: &#39;</span><span class="o">+</span><span class="s">&#39;</span><span class="si">%.6g</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">ave</span><span class="p">)</span><span class="o">+</span><span class="s">&#39; +/- &#39;</span><span class="o">+</span><span class="s">&#39;</span><span class="si">%.6g</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">sig</span><span class="p">)</span>
     1766        <span class="k">else</span><span class="p">:</span>
     1767            <span class="n">G2frame</span><span class="o">.</span><span class="n">ErrorDialog</span><span class="p">(</span>
     1768                <span class="s">&#39;Select columns&#39;</span><span class="p">,</span>
     1769                <span class="s">&#39;No columns selected in table. Click on column labels to select fields for averaging.&#39;</span>
     1770                <span class="p">)</span>
     1771               
    29031772    <span class="k">def</span> <span class="nf">OnRenameSelSeq</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
    29041773        <span class="n">cols</span> <span class="o">=</span> <span class="nb">sorted</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">GetSelectedCols</span><span class="p">())</span> <span class="c"># ignore selection order</span>
     
    29121781                <span class="s">&#39;No columns selected in table. Click on column labels to select fields for rename.&#39;</span><span class="p">)</span>
    29131782            <span class="k">return</span>
    2914         <span class="n">dlg</span> <span class="o">=</span> <span class="n">MultiStringDialog</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="s">&#39;Set column names&#39;</span><span class="p">,</span><span class="n">colNames</span><span class="p">,</span><span class="n">newNames</span><span class="p">)</span>
     1783        <span class="n">dlg</span> <span class="o">=</span> <span class="n">G2G</span><span class="o">.</span><span class="n">MultiStringDialog</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span><span class="s">&#39;Set column names&#39;</span><span class="p">,</span><span class="n">colNames</span><span class="p">,</span><span class="n">newNames</span><span class="p">)</span>
    29151784        <span class="k">if</span> <span class="n">dlg</span><span class="o">.</span><span class="n">Show</span><span class="p">():</span>
    29161785            <span class="n">newNames</span> <span class="o">=</span> <span class="n">dlg</span><span class="o">.</span><span class="n">GetValues</span><span class="p">()</span>           
     
    30441913        <span class="n">ncols</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">SeqTable</span><span class="o">.</span><span class="n">GetNumberCols</span><span class="p">()</span>
    30451914        <span class="n">colNames</span> <span class="o">=</span> <span class="p">[</span><span class="n">G2frame</span><span class="o">.</span><span class="n">SeqTable</span><span class="o">.</span><span class="n">GetColLabelValue</span><span class="p">(</span><span class="n">r</span><span class="p">)</span> <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">ncols</span><span class="p">)]</span>
    3046         <span class="n">dlg</span> <span class="o">=</span> <span class="n">G2SingleChoiceDialog</span><span class="p">(</span>
     1915        <span class="n">dlg</span> <span class="o">=</span> <span class="n">G2G</span><span class="o">.</span><span class="n">G2SingleChoiceDialog</span><span class="p">(</span>
    30471916            <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="p">,</span>
    30481917            <span class="s">&#39;Select x-axis parameter for plot or Cancel for sequence number&#39;</span><span class="p">,</span>
     
    30701939        <span class="s">&#39;Ask the user to select a pseudo var expression to delete&#39;</span>
    30711940        <span class="n">choices</span> <span class="o">=</span> <span class="n">Controls</span><span class="p">[</span><span class="s">&#39;SeqPseudoVars&#39;</span><span class="p">]</span><span class="o">.</span><span class="n">keys</span><span class="p">()</span>
    3072         <span class="n">selected</span> <span class="o">=</span> <span class="n">ItemSelector</span><span class="p">(</span>
     1941        <span class="n">selected</span> <span class="o">=</span> <span class="n">G2G</span><span class="o">.</span><span class="n">ItemSelector</span><span class="p">(</span>
    30731942            <span class="n">choices</span><span class="p">,</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="p">,</span>
    30741943            <span class="n">multiple</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
     
    30871956            <span class="n">selected</span> <span class="o">=</span> <span class="mi">0</span>
    30881957        <span class="k">else</span><span class="p">:</span>
    3089             <span class="n">selected</span> <span class="o">=</span> <span class="n">ItemSelector</span><span class="p">(</span>
     1958            <span class="n">selected</span> <span class="o">=</span> <span class="n">G2G</span><span class="o">.</span><span class="n">ItemSelector</span><span class="p">(</span>
    30901959                <span class="n">choices</span><span class="p">,</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="p">,</span>
    30911960                <span class="n">multiple</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
     
    33252194        <span class="s">&#39;Ask the user to select function to delete&#39;</span>
    33262195        <span class="n">txtlst</span> <span class="o">=</span> <span class="p">[</span><span class="n">obj</span><span class="o">.</span><span class="n">GetDepVar</span><span class="p">()</span><span class="o">+</span><span class="s">&#39; = &#39;</span><span class="o">+</span><span class="n">obj</span><span class="o">.</span><span class="n">expression</span> <span class="k">for</span> <span class="n">obj</span> <span class="ow">in</span> <span class="n">Controls</span><span class="p">[</span><span class="s">&#39;SeqParFitEqList&#39;</span><span class="p">]]</span>
    3327         <span class="n">selected</span> <span class="o">=</span> <span class="n">ItemSelector</span><span class="p">(</span>
     2196        <span class="n">selected</span> <span class="o">=</span> <span class="n">G2G</span><span class="o">.</span><span class="n">ItemSelector</span><span class="p">(</span>
    33282197            <span class="n">txtlst</span><span class="p">,</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="p">,</span>
    33292198            <span class="n">multiple</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span>
     
    33412210            <span class="n">selected</span> <span class="o">=</span> <span class="mi">0</span>
    33422211        <span class="k">else</span><span class="p">:</span>
    3343             <span class="n">selected</span> <span class="o">=</span> <span class="n">ItemSelector</span><span class="p">(</span>
     2212            <span class="n">selected</span> <span class="o">=</span> <span class="n">G2G</span><span class="o">.</span><span class="n">ItemSelector</span><span class="p">(</span>
    33442213                <span class="n">txtlst</span><span class="p">,</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="p">,</span>
    33452214                <span class="n">multiple</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
     
    33932262            <span class="n">selected</span> <span class="o">=</span> <span class="mi">0</span>
    33942263        <span class="k">else</span><span class="p">:</span>
    3395             <span class="n">selected</span> <span class="o">=</span> <span class="n">ItemSelector</span><span class="p">(</span>
     2264            <span class="n">selected</span> <span class="o">=</span> <span class="n">G2G</span><span class="o">.</span><span class="n">ItemSelector</span><span class="p">(</span>
    33962265                <span class="n">txtlst</span><span class="p">,</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="p">,</span>
    33972266                <span class="n">multiple</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span>
     
    34422311        <span class="n">var</span> <span class="o">=</span> <span class="n">colLabels</span><span class="p">[</span><span class="n">col</span><span class="p">]</span>
    34432312        <span class="n">lbl</span> <span class="o">=</span> <span class="n">variableLabels</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">var</span><span class="p">,</span><span class="n">G2obj</span><span class="o">.</span><span class="n">fmtVarDescr</span><span class="p">(</span><span class="n">var</span><span class="p">))</span>
    3444         <span class="n">dlg</span> <span class="o">=</span> <span class="n">SingleStringDialog</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="s">&#39;Set variable label&#39;</span><span class="p">,</span>
     2313        <span class="n">dlg</span> <span class="o">=</span> <span class="n">G2G</span><span class="o">.</span><span class="n">SingleStringDialog</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="s">&#39;Set variable label&#39;</span><span class="p">,</span>
    34452314                                 <span class="s">&#39;Set a new name for variable &#39;</span><span class="o">+</span><span class="n">var</span><span class="p">,</span><span class="n">lbl</span><span class="p">,</span><span class="n">size</span><span class="o">=</span><span class="p">(</span><span class="mi">400</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">))</span>
    34462315        <span class="k">if</span> <span class="n">dlg</span><span class="o">.</span><span class="n">Show</span><span class="p">():</span>
     
    35442413    <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">OnSaveSeqCSV</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">wxID_SAVESEQCSV</span><span class="p">)</span>
    35452414    <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">OnPlotSelSeq</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">wxID_PLOTSEQSEL</span><span class="p">)</span>
     2415    <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">OnAveSelSeq</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">wxID_AVESEQSEL</span><span class="p">)</span>
    35462416    <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">OnReOrgSelSeq</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">wxID_ORGSEQSEL</span><span class="p">)</span>
    35472417    <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">AddNewPseudoVar</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">wxADDSEQVAR</span><span class="p">)</span>
     
    37822652    <span class="n">depVarDict</span><span class="o">.</span><span class="n">update</span><span class="p">({</span><span class="n">var</span><span class="p">:</span><span class="n">val</span> <span class="k">for</span> <span class="n">var</span><span class="p">,</span><span class="n">val</span> <span class="ow">in</span> <span class="n">data</span><span class="p">[</span><span class="n">name</span><span class="p">]</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s">&#39;newCellDict&#39;</span><span class="p">,{})</span><span class="o">.</span><span class="n">values</span><span class="p">()})</span>
    37832653
    3784     <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span> <span class="o">=</span> <span class="n">GSGrid</span><span class="p">(</span><span class="n">parent</span><span class="o">=</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="p">)</span>
    3785     <span class="n">G2frame</span><span class="o">.</span><span class="n">SeqTable</span> <span class="o">=</span> <span class="n">Table</span><span class="p">(</span>
     2654    <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span> <span class="o">=</span> <span class="n">G2G</span><span class="o">.</span><span class="n">GSGrid</span><span class="p">(</span><span class="n">parent</span><span class="o">=</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="p">)</span>
     2655    <span class="n">G2frame</span><span class="o">.</span><span class="n">SeqTable</span> <span class="o">=</span> <span class="n">G2G</span><span class="o">.</span><span class="n">Table</span><span class="p">(</span>
    37862656        <span class="p">[</span><span class="nb">list</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">zip</span><span class="p">(</span><span class="o">*</span><span class="n">colList</span><span class="p">)],</span>     <span class="c"># convert from columns to rows</span>
    37872657        <span class="n">colLabels</span><span class="o">=</span><span class="n">colLabels</span><span class="p">,</span><span class="n">rowLabels</span><span class="o">=</span><span class="n">histNames</span><span class="p">,</span><span class="n">types</span><span class="o">=</span><span class="n">Types</span><span class="p">)</span>
     
    38732743        <span class="n">G2plt</span><span class="o">.</span><span class="n">Plot3DSngl</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">newPlot</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span><span class="n">Data</span><span class="o">=</span><span class="n">controls</span><span class="p">,</span><span class="n">hklRef</span><span class="o">=</span><span class="n">refList</span><span class="p">,</span><span class="n">Title</span><span class="o">=</span><span class="n">phaseName</span><span class="p">)</span>
    38742744       
     2745    <span class="k">def</span> <span class="nf">OnPlotAll3DHKL</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
     2746        <span class="n">choices</span> <span class="o">=</span> <span class="n">GetPatternTreeDataNames</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,[</span><span class="s">&#39;HKLF&#39;</span><span class="p">,])</span>
     2747        <span class="n">dlg</span> <span class="o">=</span> <span class="n">G2G</span><span class="o">.</span><span class="n">G2MultiChoiceDialog</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span> <span class="s">&#39;Select reflection sets to plot&#39;</span><span class="p">,</span>
     2748            <span class="s">&#39;Use data&#39;</span><span class="p">,</span><span class="n">choices</span><span class="p">)</span>
     2749        <span class="k">try</span><span class="p">:</span>
     2750            <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>
     2751                <span class="n">refNames</span> <span class="o">=</span> <span class="p">[</span><span class="n">choices</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>
     2752            <span class="k">else</span><span class="p">:</span>
     2753                <span class="k">return</span>
     2754        <span class="k">finally</span><span class="p">:</span>
     2755            <span class="n">dlg</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span>
     2756        <span class="n">refList</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
     2757        <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">refNames</span><span class="p">:</span>
     2758            <span class="n">Id</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">name</span><span class="p">)</span>
     2759            <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">Id</span><span class="p">)[</span><span class="mi">1</span><span class="p">]</span>
     2760            <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">refList</span><span class="p">):</span>
     2761                <span class="n">refList</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">refList</span><span class="p">,</span><span class="n">reflData</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">]))</span>
     2762            <span class="k">else</span><span class="p">:</span>
     2763                <span class="n">refList</span> <span class="o">=</span> <span class="n">reflData</span><span class="p">[</span><span class="s">&#39;RefList&#39;</span><span class="p">]</span>
     2764           
     2765        <span class="n">FoMax</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">refList</span><span class="o">.</span><span class="n">T</span><span class="p">[</span><span class="mi">8</span><span class="o">+</span><span class="n">Super</span><span class="p">])</span>
     2766        <span class="n">Hmin</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="nb">int</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">refList</span><span class="o">.</span><span class="n">T</span><span class="p">[</span><span class="mi">0</span><span class="p">])),</span><span class="nb">int</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">refList</span><span class="o">.</span><span class="n">T</span><span class="p">[</span><span class="mi">1</span><span class="p">])),</span><span class="nb">int</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">refList</span><span class="o">.</span><span class="n">T</span><span class="p">[</span><span class="mi">2</span><span class="p">]))])</span>
     2767        <span class="n">Hmax</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="nb">int</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">refList</span><span class="o">.</span><span class="n">T</span><span class="p">[</span><span class="mi">0</span><span class="p">])),</span><span class="nb">int</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">refList</span><span class="o">.</span><span class="n">T</span><span class="p">[</span><span class="mi">1</span><span class="p">])),</span><span class="nb">int</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">refList</span><span class="o">.</span><span class="n">T</span><span class="p">[</span><span class="mi">2</span><span class="p">]))])</span>
     2768        <span class="n">Vpoint</span> <span class="o">=</span> <span class="p">[</span><span class="nb">int</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">mean</span><span class="p">(</span><span class="n">refList</span><span class="o">.</span><span class="n">T</span><span class="p">[</span><span class="mi">0</span><span class="p">])),</span><span class="nb">int</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">mean</span><span class="p">(</span><span class="n">refList</span><span class="o">.</span><span class="n">T</span><span class="p">[</span><span class="mi">1</span><span class="p">])),</span><span class="nb">int</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">mean</span><span class="p">(</span><span class="n">refList</span><span class="o">.</span><span class="n">T</span><span class="p">[</span><span class="mi">2</span><span class="p">]))]</span>
     2769        <span class="n">controls</span> <span class="o">=</span> <span class="p">{</span><span class="s">&#39;Type&#39;</span> <span class="p">:</span> <span class="s">&#39;Fosq&#39;</span><span class="p">,</span><span class="s">&#39;Iscale&#39;</span> <span class="p">:</span> <span class="bp">False</span><span class="p">,</span><span class="s">&#39;HKLmax&#39;</span> <span class="p">:</span> <span class="n">Hmax</span><span class="p">,</span><span class="s">&#39;HKLmin&#39;</span> <span class="p">:</span> <span class="n">Hmin</span><span class="p">,</span>
     2770            <span class="s">&#39;FoMax&#39;</span> <span class="p">:</span> <span class="n">FoMax</span><span class="p">,</span><span class="s">&#39;Scale&#39;</span> <span class="p">:</span> <span class="mf">1.0</span><span class="p">,</span><span class="s">&#39;Drawing&#39;</span><span class="p">:{</span><span class="s">&#39;viewPoint&#39;</span><span class="p">:[</span><span class="n">Vpoint</span><span class="p">,[]],</span><span class="s">&#39;default&#39;</span><span class="p">:</span><span class="n">Vpoint</span><span class="p">[:],</span>
     2771            <span class="s">&#39;backColor&#39;</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="s">&#39;depthFog&#39;</span><span class="p">:</span><span class="bp">False</span><span class="p">,</span><span class="s">&#39;Zclip&#39;</span><span class="p">:</span><span class="mf">10.0</span><span class="p">,</span><span class="s">&#39;cameraPos&#39;</span><span class="p">:</span><span class="mf">10.</span><span class="p">,</span><span class="s">&#39;Zstep&#39;</span><span class="p">:</span><span class="mf">0.05</span><span class="p">,</span>
     2772            <span class="s">&#39;Scale&#39;</span><span class="p">:</span><span class="mf">1.0</span><span class="p">,</span><span class="s">&#39;oldxy&#39;</span><span class="p">:[],</span><span class="s">&#39;viewDir&#39;</span><span class="p">:[</span><span class="mi">1</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="s">&#39;Super&#39;</span><span class="p">:</span><span class="n">Super</span><span class="p">,</span><span class="s">&#39;SuperVec&#39;</span><span class="p">:</span><span class="n">SuperVec</span><span class="p">}</span>
     2773        <span class="n">G2plt</span><span class="o">.</span><span class="n">Plot3DSngl</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">newPlot</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span><span class="n">Data</span><span class="o">=</span><span class="n">controls</span><span class="p">,</span><span class="n">hklRef</span><span class="o">=</span><span class="n">refList</span><span class="p">,</span><span class="n">Title</span><span class="o">=</span><span class="n">phaseName</span><span class="p">)</span>
     2774       
     2775       
    38752776    <span class="k">def</span> <span class="nf">OnErrorAnalysis</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
    38762777        <span class="n">G2plt</span><span class="o">.</span><span class="n">PlotDeltSig</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">kind</span><span class="p">)</span>
     
    39182819    <span class="k">elif</span> <span class="n">kind</span> <span class="ow">in</span> <span class="p">[</span><span class="s">&#39;HKLF&#39;</span><span class="p">,]:</span>
    39192820        <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">HKLFMenu</span><span class="p">)</span>
    3920 <span class="c">#        G2frame.dataFrame.Bind(wx.EVT_MENU, OnErrorAnalysis, id=wxID_PWDANALYSIS)</span>
     2821        <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">OnErrorAnalysis</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">wxID_PWDANALYSIS</span><span class="p">)</span>
    39212822        <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">OnPlot3DHKL</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">wxID_PWD3DHKLPLOT</span><span class="p">)</span>
     2823        <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">OnPlotAll3DHKL</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">wxID_3DALLHKLPLOT</span><span class="p">)</span>
    39222824<span class="c">#        G2frame.dataFrame.Bind(wx.EVT_MENU, onCopySelectedItems, id=wxID_PWDCOPY)</span>
    39232825    <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">Panel</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="p">)</span>
     
    40302932    <span class="sd">&#39;&#39;&#39;Called from GSASII.OnPatternTreeSelChanged when a item is selected on the tree </span>
    40312933<span class="sd">    &#39;&#39;&#39;</span>
    4032    
    4033 <span class="c">#    print G2frame.PatternTree.GetItemText(item)</span>
     2934    <span class="n">pickName</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">GetItemText</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
     2935    <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PickIdText</span> <span class="o">==</span> <span class="n">pickName</span><span class="p">:</span>
     2936        <span class="k">return</span>
    40342937   
    40352938    <span class="n">oldPage</span> <span class="o">=</span> <span class="bp">None</span> <span class="c"># will be set later if already on a Phase item</span>
     
    40632966       
    40642967    <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">Raise</span><span class="p">()</span>           
    4065     <span class="n">G2frame</span><span class="o">.</span><span class="n">PickId</span> <span class="o">=</span> <span class="mi">0</span>
     2968    <span class="n">G2frame</span><span class="o">.</span><span class="n">PickId</span> <span class="o">=</span> <span class="n">item</span>
     2969    <span class="n">G2frame</span><span class="o">.</span><span class="n">PickIdText</span> <span class="o">=</span> <span class="bp">None</span>
    40662970    <span class="n">parentID</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">root</span>
    40672971    <span class="c">#for i in G2frame.ExportPattern: i.Enable(False)</span>
     
    40712975    <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemParent</span><span class="p">(</span><span class="n">item</span><span class="p">)</span> <span class="o">==</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">root</span><span class="p">:</span>
    40722976        <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternId</span> <span class="o">=</span> <span class="n">item</span>
    4073         <span class="n">G2frame</span><span class="o">.</span><span class="n">PickId</span> <span class="o">=</span> <span class="n">item</span>
    40742977        <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemText</span><span class="p">(</span><span class="n">item</span><span class="p">)</span> <span class="o">==</span> <span class="s">&#39;Notebook&#39;</span><span class="p">:</span>
    40752978            <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">DataNotebookMenu</span><span class="p">)</span>
     
    41493052                <span class="n">value</span><span class="o">=</span><span class="s">&#39;Select one phase to see its parameters&#39;</span><span class="p">)</span>           
    41503053    <span class="k">elif</span> <span class="s">&#39;I(Q)&#39;</span> <span class="ow">in</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemText</span><span class="p">(</span><span class="n">item</span><span class="p">):</span>
    4151         <span class="n">G2frame</span><span class="o">.</span><span class="n">PickId</span> <span class="o">=</span> <span class="n">item</span>
    41523054        <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternId</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">GetItemParent</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
    41533055        <span class="n">data</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">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">PatternId</span><span class="p">,</span><span class="s">&#39;PDF Controls&#39;</span><span class="p">))</span>
     
    41553057        <span class="n">G2plt</span><span class="o">.</span><span class="n">PlotISFG</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="nb">type</span><span class="o">=</span><span class="s">&#39;I(Q)&#39;</span><span class="p">,</span><span class="n">newPlot</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
    41563058    <span class="k">elif</span> <span class="s">&#39;S(Q)&#39;</span> <span class="ow">in</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemText</span><span class="p">(</span><span class="n">item</span><span class="p">):</span>
    4157         <span class="n">G2frame</span><span class="o">.</span><span class="n">PickId</span> <span class="o">=</span> <span class="n">item</span>
    41583059        <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternId</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">GetItemParent</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
    41593060        <span class="n">data</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">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">PatternId</span><span class="p">,</span><span class="s">&#39;PDF Controls&#39;</span><span class="p">))</span>
     
    41613062        <span class="n">G2plt</span><span class="o">.</span><span class="n">PlotISFG</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="nb">type</span><span class="o">=</span><span class="s">&#39;S(Q)&#39;</span><span class="p">,</span><span class="n">newPlot</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
    41623063    <span class="k">elif</span> <span class="s">&#39;F(Q)&#39;</span> <span class="ow">in</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemText</span><span class="p">(</span><span class="n">item</span><span class="p">):</span>
    4163         <span class="n">G2frame</span><span class="o">.</span><span class="n">PickId</span> <span class="o">=</span> <span class="n">item</span>
    41643064        <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternId</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">GetItemParent</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
    41653065        <span class="n">data</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">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">PatternId</span><span class="p">,</span><span class="s">&#39;PDF Controls&#39;</span><span class="p">))</span>
     
    41673067        <span class="n">G2plt</span><span class="o">.</span><span class="n">PlotISFG</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="nb">type</span><span class="o">=</span><span class="s">&#39;F(Q)&#39;</span><span class="p">,</span><span class="n">newPlot</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
    41683068    <span class="k">elif</span> <span class="s">&#39;G(R)&#39;</span> <span class="ow">in</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemText</span><span class="p">(</span><span class="n">item</span><span class="p">):</span>
    4169         <span class="n">G2frame</span><span class="o">.</span><span class="n">PickId</span> <span class="o">=</span> <span class="n">item</span>
    41703069        <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternId</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">GetItemParent</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
    41713070        <span class="n">data</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">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">PatternId</span><span class="p">,</span><span class="s">&#39;PDF Controls&#39;</span><span class="p">))</span>
     
    41733072        <span class="n">G2plt</span><span class="o">.</span><span class="n">PlotISFG</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="nb">type</span><span class="o">=</span><span class="s">&#39;G(R)&#39;</span><span class="p">,</span><span class="n">newPlot</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>           
    41743073    <span class="k">elif</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemText</span><span class="p">(</span><span class="n">parentID</span><span class="p">)</span> <span class="o">==</span> <span class="s">&#39;Phases&#39;</span><span class="p">:</span>
    4175         <span class="n">G2frame</span><span class="o">.</span><span class="n">PickId</span> <span class="o">=</span> <span class="n">item</span>
    41763074        <span class="n">data</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">item</span><span class="p">)</span>
    41773075        <span class="n">G2phG</span><span class="o">.</span><span class="n">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>
     
    41793077        <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">DataCommentsMenu</span><span class="p">)</span>
    41803078        <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternId</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">GetItemParent</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
    4181         <span class="n">G2frame</span><span class="o">.</span><span class="n">PickId</span> <span class="o">=</span> <span class="n">item</span>
    41823079        <span class="n">data</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">item</span><span class="p">)</span>
    41833080        <span class="n">UpdateComments</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">data</span><span class="p">)</span>
    41843081    <span class="k">elif</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemText</span><span class="p">(</span><span class="n">item</span><span class="p">)</span> <span class="o">==</span> <span class="s">&#39;Image Controls&#39;</span><span class="p">:</span>
    41853082        <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">SetTitle</span><span class="p">(</span><span class="s">&#39;Image Controls&#39;</span><span class="p">)</span>
    4186         <span class="n">G2frame</span><span class="o">.</span><span class="n">PickId</span> <span class="o">=</span> <span class="n">item</span>
    41873083        <span class="n">G2frame</span><span class="o">.</span><span class="n">Image</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">GetItemParent</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
    41883084        <span class="n">masks</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>
     
    41933089    <span class="k">elif</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemText</span><span class="p">(</span><span class="n">item</span><span class="p">)</span> <span class="o">==</span> <span class="s">&#39;Masks&#39;</span><span class="p">:</span>
    41943090        <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">SetTitle</span><span class="p">(</span><span class="s">&#39;Masks&#39;</span><span class="p">)</span>
    4195         <span class="n">G2frame</span><span class="o">.</span><span class="n">PickId</span> <span class="o">=</span> <span class="n">item</span>
    41963091        <span class="n">G2frame</span><span class="o">.</span><span class="n">Image</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">GetItemParent</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
    41973092        <span class="n">data</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">item</span><span class="p">)</span>
     
    42003095    <span class="k">elif</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemText</span><span class="p">(</span><span class="n">item</span><span class="p">)</span> <span class="o">==</span> <span class="s">&#39;Stress/Strain&#39;</span><span class="p">:</span>
    42013096        <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">SetTitle</span><span class="p">(</span><span class="s">&#39;Stress/Strain&#39;</span><span class="p">)</span>
    4202         <span class="n">G2frame</span><span class="o">.</span><span class="n">PickId</span> <span class="o">=</span> <span class="n">item</span>
    42033097        <span class="n">G2frame</span><span class="o">.</span><span class="n">Image</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">GetItemParent</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
    42043098        <span class="n">data</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">item</span><span class="p">)</span>
     
    42093103        <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternId</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">GetItemParent</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
    42103104        <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">ExportPDF</span><span class="p">:</span> <span class="n">i</span><span class="o">.</span><span class="n">Enable</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span>
    4211         <span class="n">G2frame</span><span class="o">.</span><span class="n">PickId</span> <span class="o">=</span> <span class="n">item</span>
    42123105        <span class="n">data</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">item</span><span class="p">)</span>
    42133106        <span class="n">G2pdG</span><span class="o">.</span><span class="n">UpdatePDFGrid</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">data</span><span class="p">)</span>
     
    42193112        <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternId</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">GetItemParent</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
    42203113        <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">ExportPeakList</span><span class="p">:</span> <span class="n">i</span><span class="o">.</span><span class="n">Enable</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span>
    4221         <span class="n">G2frame</span><span class="o">.</span><span class="n">PickId</span> <span class="o">=</span> <span class="n">item</span>
    42223114        <span class="n">data</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">item</span><span class="p">)</span>
    42233115<span class="c">#patch</span>
     
    42303122    <span class="k">elif</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemText</span><span class="p">(</span><span class="n">item</span><span class="p">)</span> <span class="o">==</span> <span class="s">&#39;Background&#39;</span><span class="p">:</span>
    42313123        <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternId</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">GetItemParent</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
    4232         <span class="n">G2frame</span><span class="o">.</span><span class="n">PickId</span> <span class="o">=</span> <span class="n">item</span>
    42333124        <span class="n">data</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">item</span><span class="p">)</span>
    42343125        <span class="n">G2pdG</span><span class="o">.</span><span class="n">UpdateBackground</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">data</span><span class="p">)</span>
     
    42373128        <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternId</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">GetItemParent</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
    42383129        <span class="n">datatype</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">GetItemText</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">PatternId</span><span class="p">)[:</span><span class="mi">4</span><span class="p">]</span>
    4239         <span class="n">G2frame</span><span class="o">.</span><span class="n">PickId</span> <span class="o">=</span> <span class="n">item</span>
    42403130        <span class="n">data</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">item</span><span class="p">)</span>
    42413131        <span class="n">G2pdG</span><span class="o">.</span><span class="n">UpdateLimitsGrid</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">datatype</span><span class="p">)</span>
     
    42433133    <span class="k">elif</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemText</span><span class="p">(</span><span class="n">item</span><span class="p">)</span> <span class="o">==</span> <span class="s">&#39;Instrument Parameters&#39;</span><span class="p">:</span>
    42443134        <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternId</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">GetItemParent</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
    4245         <span class="n">G2frame</span><span class="o">.</span><span class="n">PickId</span> <span class="o">=</span> <span class="n">item</span>
    42463135        <span class="n">data</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">item</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
    42473136        <span class="n">G2pdG</span><span class="o">.</span><span class="n">UpdateInstrumentGrid</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">data</span><span class="p">)</span>
     
    42503139    <span class="k">elif</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemText</span><span class="p">(</span><span class="n">item</span><span class="p">)</span> <span class="o">==</span> <span class="s">&#39;Models&#39;</span><span class="p">:</span>
    42513140        <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternId</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">GetItemParent</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
    4252         <span class="n">G2frame</span><span class="o">.</span><span class="n">PickId</span> <span class="o">=</span> <span class="n">item</span>
    42533141        <span class="n">data</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">item</span><span class="p">)</span>
    42543142        <span class="n">G2pdG</span><span class="o">.</span><span class="n">UpdateModelsGrid</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">data</span><span class="p">)</span>
     
    42583146    <span class="k">elif</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemText</span><span class="p">(</span><span class="n">item</span><span class="p">)</span> <span class="o">==</span> <span class="s">&#39;Substances&#39;</span><span class="p">:</span>
    42593147        <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternId</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">GetItemParent</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
    4260         <span class="n">G2frame</span><span class="o">.</span><span class="n">PickId</span> <span class="o">=</span> <span class="n">item</span>
    42613148        <span class="n">data</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">item</span><span class="p">)</span>
    42623149        <span class="n">G2pdG</span><span class="o">.</span><span class="n">UpdateSubstanceGrid</span><span class="p">(</span><span class="n">G2frame</span><span class="p">,</span><span class="n">data</span><span class="p">)</span>
    42633150    <span class="k">elif</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemText</span><span class="p">(</span><span class="n">item</span><span class="p">)</span> <span class="o">==</span> <span class="s">&#39;Sample Parameters&#39;</span><span class="p">:</span>
    42643151        <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternId</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">GetItemParent</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
    4265         <span class="n">G2frame</span><span class="o">.</span><span class="n">PickId</span> <span class="o">=</span> <span class="n">item</span>
    42663152        <span class="n">data</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">item</span><span class="p">)</span>
    42673153        <span class="n">datatype</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">G2frame</span><span class="o">.</span><span class="n">PatternId</span><span class="p">)[</span><span class="mi">2</span><span class="p">][:</span><span class="mi">4</span><span class="p">]</span>
     
    42793165        <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternId</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">GetItemParent</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
    42803166        <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">ExportPeakList</span><span class="p">:</span> <span class="n">i</span><span class="o">.</span><span class="n">Enable</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span>
    4281         <span class="n">G2frame</span><span class="o">.</span><span class="n">PickId</span> <span class="o">=</span> <span class="n">item</span>
    42823167        <span class="n">data</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">item</span><span class="p">)</span>
    42833168<span class="c">#patch</span>
     
    42933178    <span class="k">elif</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemText</span><span class="p">(</span><span class="n">item</span><span class="p">)</span> <span class="o">==</span> <span class="s">&#39;Unit Cells List&#39;</span><span class="p">:</span>
    42943179        <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternId</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">GetItemParent</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
    4295         <span class="n">G2frame</span><span class="o">.</span><span class="n">PickId</span> <span class="o">=</span> <span class="n">item</span>
    42963180        <span class="n">data</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">item</span><span class="p">)</span>
    42973181        <span class="k">if</span> <span class="ow">not</span> <span class="n">data</span><span class="p">:</span>
     
    43143198    <span class="k">elif</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternTree</span><span class="o">.</span><span class="n">GetItemText</span><span class="p">(</span><span class="n">item</span><span class="p">)</span> <span class="o">==</span> <span class="s">&#39;Reflection Lists&#39;</span><span class="p">:</span>   <span class="c">#powder reflections</span>
    43153199        <span class="n">G2frame</span><span class="o">.</span><span class="n">PatternId</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">GetItemParent</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
    4316         <span class="n">G2frame</span><span class="o">.</span><span class="n">PickId</span> <span class="o">=</span> <span class="n">item</span>
    43173200        <span class="n">data</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">item</span><span class="p">)</span>
    43183201        <span class="n">G2frame</span><span class="o">.</span><span class="n">RefList</span> <span class="o">=</span> <span class="s">&#39;&#39;</span>
     
    43263209        <span class="n">data</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">G2frame</span><span class="o">.</span><span class="n">PatternId</span><span class="p">)</span>
    43273210        <span class="n">G2pdG</span><span class="o">.</span><span class="n">UpdateReflectionGrid</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">HKLF</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span><span class="n">Name</span><span class="o">=</span><span class="n">name</span><span class="p">)</span>
     3211
     3212    <span class="k">if</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">PickId</span><span class="p">:</span>
     3213        <span class="n">G2frame</span><span class="o">.</span><span class="n">PickIdText</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">GetTreeItemsList</span><span class="p">(</span><span class="n">G2frame</span><span class="o">.</span><span class="n">PickId</span><span class="p">)</span>
    43283214    <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">Raise</span><span class="p">()</span>
    43293215</div>
     
    43463232        <span class="k">else</span><span class="p">:</span>
    43473233            <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">SetMenuBar</span><span class="p">(</span><span class="n">menu</span><span class="p">)</span>
    4348 </div>
    4349 <div class="viewcode-block" id="HorizontalLine"><a class="viewcode-back" href="../GSASIIGUIr.html#GSASIIgrid.HorizontalLine">[docs]</a><span class="k">def</span> <span class="nf">HorizontalLine</span><span class="p">(</span><span class="n">sizer</span><span class="p">,</span><span class="n">parent</span><span class="p">):</span>
    4350     <span class="sd">&#39;&#39;&#39;Draws a horizontal line as wide as the window.</span>
    4351 <span class="sd">    This shows up on the Mac as a very thin line, no matter what I do</span>
    4352 <span class="sd">    &#39;&#39;&#39;</span>
    4353     <span class="n">line</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">StaticLine</span><span class="p">(</span><span class="n">parent</span><span class="p">,</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="n">size</span><span class="o">=</span><span class="p">(</span><span class="o">-</span><span class="mi">1</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">LI_HORIZONTAL</span><span class="p">)</span>
    4354     <span class="n">sizer</span><span class="o">.</span><span class="n">Add</span><span class="p">(</span><span class="n">line</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">EXPAND</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">ALIGN_CENTER</span><span class="o">|</span><span class="n">wx</span><span class="o">.</span><span class="n">ALL</span><span class="p">,</span> <span class="mi">10</span><span class="p">)</span>
    43553234</div>
    43563235<div class="viewcode-block" id="HowDidIgetHere"><a class="viewcode-back" href="../GSASIIGUIr.html#GSASIIgrid.HowDidIgetHere">[docs]</a><span class="k">def</span> <span class="nf">HowDidIgetHere</span><span class="p">():</span>
Note: See TracChangeset for help on using the changeset viewer.