Ignore:
Timestamp:
Oct 10, 2015 9:59:34 PM (7 years ago)
Author:
toby
Message:

rebuild docs

File:
1 edited

Legend:

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

    r1832 r1998  
    5252<span class="c">#GSASIIconstrGUI - constraint GUI routines</span>
    5353<span class="c">########### SVN repository information ###################</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>
     54<span class="c"># $Date: 2015-07-21 13:28:34 -0500 (Tue, 21 Jul 2015) $</span>
     55<span class="c"># $Author: vondreele $</span>
     56<span class="c"># $Revision: 1943 $</span>
    5757<span class="c"># $URL: https://subversion.xray.aps.anl.gov/pyGSAS/trunk/GSASIIconstrGUI.py $</span>
    58 <span class="c"># $Id: GSASIIconstrGUI.py 1831 2015-05-01 23:38:23Z toby $</span>
     58<span class="c"># $Id: GSASIIconstrGUI.py 1943 2015-07-21 18:28:34Z vondreele $</span>
    5959<span class="c">########### SVN repository information ###################</span>
    6060<span class="sd">&#39;&#39;&#39;</span>
     
    7575<span class="kn">import</span> <span class="nn">os.path</span>
    7676<span class="kn">import</span> <span class="nn">GSASIIpath</span>
    77 <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>
     77<span class="n">GSASIIpath</span><span class="o">.</span><span class="n">SetVersionNumber</span><span class="p">(</span><span class="s">&quot;$Revision: 1943 $&quot;</span><span class="p">)</span>
    7878<span class="kn">import</span> <span class="nn">GSASIIElem</span> <span class="kn">as</span> <span class="nn">G2elem</span>
    7979<span class="kn">import</span> <span class="nn">GSASIIElemGUI</span> <span class="kn">as</span> <span class="nn">G2elemGUI</span>
    8080<span class="kn">import</span> <span class="nn">GSASIIstrIO</span> <span class="kn">as</span> <span class="nn">G2stIO</span>
    8181<span class="kn">import</span> <span class="nn">GSASIImapvars</span> <span class="kn">as</span> <span class="nn">G2mv</span>
     82<span class="kn">import</span> <span class="nn">GSASIImath</span> <span class="kn">as</span> <span class="nn">G2mth</span>
     83<span class="kn">import</span> <span class="nn">GSASIIlattice</span> <span class="kn">as</span> <span class="nn">G2lat</span>
    8284<span class="kn">import</span> <span class="nn">GSASIIgrid</span> <span class="kn">as</span> <span class="nn">G2gd</span>
    8385<span class="kn">import</span> <span class="nn">GSASIIctrls</span> <span class="kn">as</span> <span class="nn">G2G</span>
     
    726728        <span class="n">legend</span> <span class="o">=</span> <span class="s">&quot;Select variables to make equivalent (only one of the variables will be varied when all are set to be varied)&quot;</span>
    727729        <span class="n">GetAddVars</span><span class="p">(</span><span class="n">page</span><span class="p">,</span><span class="n">title1</span><span class="p">,</span><span class="n">title2</span><span class="p">,</span><span class="n">varList</span><span class="p">,</span><span class="n">constrDictEnt</span><span class="p">,</span><span class="s">&#39;equivalence&#39;</span><span class="p">)</span>
     730       
     731    <span class="k">def</span> <span class="nf">OnAddAtomEquiv</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
     732        <span class="sd">&#39;&#39;&#39; Add equivalences between all parameters on atoms &#39;&#39;&#39;</span>
     733        <span class="n">page</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">Page</span>
     734        <span class="n">vartype</span><span class="p">,</span><span class="n">varList</span><span class="p">,</span><span class="n">constrDictEnt</span> <span class="o">=</span> <span class="n">PageSelection</span><span class="p">(</span><span class="n">page</span><span class="p">)</span>
     735        <span class="n">title1</span> <span class="o">=</span> <span class="s">&quot;Setup equivalent atom variables&quot;</span>
     736        <span class="n">title2</span> <span class="o">=</span> <span class="s">&quot;Select additional atoms(s) to be equivalent with &quot;</span>
     737        <span class="k">if</span> <span class="ow">not</span> <span class="n">varList</span><span class="p">:</span>
     738            <span class="n">G2frame</span><span class="o">.</span><span class="n">ErrorDialog</span><span class="p">(</span><span class="s">&#39;No variables&#39;</span><span class="p">,</span><span class="s">&#39;There are no variables of type &#39;</span><span class="o">+</span><span class="n">vartype</span><span class="p">,</span>
     739                                <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>
     740            <span class="k">return</span>
     741        <span class="n">legend</span> <span class="o">=</span> <span class="s">&quot;Select atoms to make equivalent (only one of the atom variables will be varied when all are set to be varied)&quot;</span>
     742        <span class="n">GetAddAtomVars</span><span class="p">(</span><span class="n">page</span><span class="p">,</span><span class="n">title1</span><span class="p">,</span><span class="n">title2</span><span class="p">,</span><span class="n">varList</span><span class="p">,</span><span class="n">constrDictEnt</span><span class="p">,</span><span class="s">&#39;equivalence&#39;</span><span class="p">)</span>
     743       
     744    <span class="k">def</span> <span class="nf">OnAddRiding</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
     745        <span class="sd">&#39;&#39;&#39; Add riding equivalences between all parameters on atoms &#39;&#39;&#39;</span>
     746        <span class="n">page</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">Page</span>
     747        <span class="n">vartype</span><span class="p">,</span><span class="n">varList</span><span class="p">,</span><span class="n">constrDictEnt</span> <span class="o">=</span> <span class="n">PageSelection</span><span class="p">(</span><span class="n">page</span><span class="p">)</span>
     748        <span class="n">title1</span> <span class="o">=</span> <span class="s">&quot;Setup riding atoms &quot;</span>
     749        <span class="n">title2</span> <span class="o">=</span> <span class="s">&quot;Select additional atoms(s) to ride on &quot;</span>
     750        <span class="k">if</span> <span class="ow">not</span> <span class="n">varList</span><span class="p">:</span>
     751            <span class="n">G2frame</span><span class="o">.</span><span class="n">ErrorDialog</span><span class="p">(</span><span class="s">&#39;No variables&#39;</span><span class="p">,</span><span class="s">&#39;There are no variables of type &#39;</span><span class="o">+</span><span class="n">vartype</span><span class="p">,</span>
     752                                <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>
     753            <span class="k">return</span>
     754        <span class="n">legend</span> <span class="o">=</span> <span class="s">&quot;Select atoms to ride (only one of the atom variables will be varied when all are set to be varied)&quot;</span>
     755        <span class="n">GetAddAtomVars</span><span class="p">(</span><span class="n">page</span><span class="p">,</span><span class="n">title1</span><span class="p">,</span><span class="n">title2</span><span class="p">,</span><span class="n">varList</span><span class="p">,</span><span class="n">constrDictEnt</span><span class="p">,</span><span class="s">&#39;riding&#39;</span><span class="p">)</span>
    728756   
    729757    <span class="k">def</span> <span class="nf">OnAddFunction</span><span class="p">(</span><span class="n">event</span><span class="p">):</span>
     
    779807                    <span class="n">data</span><span class="p">[</span><span class="n">constrDictEnt</span><span class="p">]</span> <span class="o">+=</span> <span class="n">newcons</span>
    780808        <span class="n">dlg</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span>
     809        <span class="n">OnPageChanged</span><span class="p">(</span><span class="bp">None</span><span class="p">)</span>
     810                       
     811    <span class="k">def</span> <span class="nf">FindNeighbors</span><span class="p">(</span><span class="n">phase</span><span class="p">,</span><span class="n">FrstName</span><span class="p">,</span><span class="n">AtNames</span><span class="p">):</span>
     812        <span class="n">General</span> <span class="o">=</span> <span class="n">phase</span><span class="p">[</span><span class="s">&#39;General&#39;</span><span class="p">]</span>
     813        <span class="n">cx</span><span class="p">,</span><span class="n">ct</span><span class="p">,</span><span class="n">cs</span><span class="p">,</span><span class="n">cia</span> <span class="o">=</span> <span class="n">General</span><span class="p">[</span><span class="s">&#39;AtomPtrs&#39;</span><span class="p">]</span>
     814        <span class="n">Atoms</span> <span class="o">=</span> <span class="n">phase</span><span class="p">[</span><span class="s">&#39;Atoms&#39;</span><span class="p">]</span>
     815        <span class="n">atNames</span> <span class="o">=</span> <span class="p">[</span><span class="n">atom</span><span class="p">[</span><span class="n">ct</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="k">for</span> <span class="n">atom</span> <span class="ow">in</span> <span class="n">Atoms</span><span class="p">]</span>
     816        <span class="n">Cell</span> <span class="o">=</span> <span class="n">General</span><span class="p">[</span><span class="s">&#39;Cell&#39;</span><span class="p">][</span><span class="mi">1</span><span class="p">:</span><span class="mi">7</span><span class="p">]</span>
     817        <span class="n">Amat</span><span class="p">,</span><span class="n">Bmat</span> <span class="o">=</span> <span class="n">G2lat</span><span class="o">.</span><span class="n">cell2AB</span><span class="p">(</span><span class="n">Cell</span><span class="p">)</span>
     818        <span class="n">atTypes</span> <span class="o">=</span> <span class="n">General</span><span class="p">[</span><span class="s">&#39;AtomTypes&#39;</span><span class="p">]</span>
     819        <span class="n">Radii</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">General</span><span class="p">[</span><span class="s">&#39;BondRadii&#39;</span><span class="p">])</span>
     820        <span class="n">AtInfo</span> <span class="o">=</span> <span class="nb">dict</span><span class="p">(</span><span class="nb">zip</span><span class="p">(</span><span class="n">atTypes</span><span class="p">,</span><span class="n">Radii</span><span class="p">))</span> <span class="c">#or General[&#39;BondRadii&#39;]</span>
     821        <span class="n">Orig</span> <span class="o">=</span> <span class="n">atNames</span><span class="o">.</span><span class="n">index</span><span class="p">(</span><span class="n">FrstName</span><span class="o">.</span><span class="n">split</span><span class="p">()[</span><span class="mi">1</span><span class="p">])</span>
     822        <span class="n">OType</span> <span class="o">=</span> <span class="n">Atoms</span><span class="p">[</span><span class="n">Orig</span><span class="p">][</span><span class="n">ct</span><span class="p">]</span>
     823        <span class="n">XYZ</span> <span class="o">=</span> <span class="n">G2mth</span><span class="o">.</span><span class="n">getAtomXYZ</span><span class="p">(</span><span class="n">Atoms</span><span class="p">,</span><span class="n">cx</span><span class="p">)</span>       
     824        <span class="n">Neigh</span> <span class="o">=</span> <span class="p">[]</span>
     825        <span class="n">Dx</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">inner</span><span class="p">(</span><span class="n">Amat</span><span class="p">,</span><span class="n">XYZ</span><span class="o">-</span><span class="n">XYZ</span><span class="p">[</span><span class="n">Orig</span><span class="p">])</span><span class="o">.</span><span class="n">T</span>
     826        <span class="n">dist</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">sqrt</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">Dx</span><span class="o">**</span><span class="mi">2</span><span class="p">,</span><span class="n">axis</span><span class="o">=</span><span class="mi">1</span><span class="p">))</span>
     827        <span class="n">sumR</span> <span class="o">=</span> <span class="n">AtInfo</span><span class="p">[</span><span class="n">OType</span><span class="p">]</span><span class="o">+</span><span class="mf">0.5</span>    <span class="c">#H-atoms only!</span>
     828        <span class="n">IndB</span> <span class="o">=</span> <span class="n">ma</span><span class="o">.</span><span class="n">nonzero</span><span class="p">(</span><span class="n">ma</span><span class="o">.</span><span class="n">masked_greater</span><span class="p">(</span><span class="n">dist</span><span class="o">-</span><span class="mf">0.85</span><span class="o">*</span><span class="n">sumR</span><span class="p">,</span><span class="mf">0.</span><span class="p">))</span>
     829        <span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="n">IndB</span><span class="p">[</span><span class="mi">0</span><span class="p">]:</span>
     830            <span class="k">if</span> <span class="n">j</span> <span class="o">!=</span> <span class="n">Orig</span><span class="p">:</span>
     831                <span class="n">Neigh</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">AtNames</span><span class="p">[</span><span class="n">j</span><span class="p">])</span>
     832        <span class="k">return</span> <span class="n">Neigh</span>
     833       
     834    <span class="k">def</span> <span class="nf">GetAddAtomVars</span><span class="p">(</span><span class="n">page</span><span class="p">,</span><span class="n">title1</span><span class="p">,</span><span class="n">title2</span><span class="p">,</span><span class="n">varList</span><span class="p">,</span><span class="n">constrDictEnt</span><span class="p">,</span><span class="n">constType</span><span class="p">):</span>
     835        <span class="sd">&#39;&#39;&#39;Get the atom variables to be added for OnAddAtomEquiv. Then create and </span>
     836<span class="sd">        check the constraints. Riding for H atoms only.</span>
     837<span class="sd">        &#39;&#39;&#39;</span>
     838        <span class="n">Atoms</span> <span class="o">=</span> <span class="p">{</span><span class="n">G2obj</span><span class="o">.</span><span class="n">VarDescr</span><span class="p">(</span><span class="n">i</span><span class="p">)[</span><span class="mi">0</span><span class="p">]:[]</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="n">varList</span> <span class="k">if</span> <span class="s">&#39;Atom&#39;</span> <span class="ow">in</span> <span class="n">G2obj</span><span class="o">.</span><span class="n">VarDescr</span><span class="p">(</span><span class="n">i</span><span class="p">)[</span><span class="mi">0</span><span class="p">]}</span>
     839        <span class="k">for</span> <span class="n">item</span> <span class="ow">in</span> <span class="n">varList</span><span class="p">:</span>
     840            <span class="n">atName</span> <span class="o">=</span> <span class="n">G2obj</span><span class="o">.</span><span class="n">VarDescr</span><span class="p">(</span><span class="n">item</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
     841            <span class="k">if</span> <span class="n">atName</span> <span class="ow">in</span> <span class="n">Atoms</span><span class="p">:</span>
     842                <span class="n">Atoms</span><span class="p">[</span><span class="n">atName</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">item</span><span class="p">)</span>
     843        <span class="n">AtNames</span> <span class="o">=</span> <span class="n">Atoms</span><span class="o">.</span><span class="n">keys</span><span class="p">()</span>
     844        <span class="n">AtNames</span><span class="o">.</span><span class="n">sort</span><span class="p">()</span>
     845        <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><span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="p">,</span><span class="s">&#39;Select 1st atom:&#39;</span><span class="p">,</span>
     846                                      <span class="n">title1</span><span class="p">,</span><span class="n">AtNames</span><span class="p">,</span>
     847                                      <span class="n">monoFont</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span><span class="n">size</span><span class="o">=</span><span class="p">(</span><span class="mi">625</span><span class="p">,</span><span class="mi">400</span><span class="p">))</span>
     848        <span class="n">dlg</span><span class="o">.</span><span class="n">CenterOnParent</span><span class="p">()</span>
     849        <span class="n">FrstAtom</span> <span class="o">=</span> <span class="s">&#39;&#39;</span>
     850        <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>
     851            <span class="n">sel</span> <span class="o">=</span> <span class="n">dlg</span><span class="o">.</span><span class="n">GetSelection</span><span class="p">()</span>
     852            <span class="n">FrstAtom</span> <span class="o">=</span> <span class="n">AtNames</span><span class="p">[</span><span class="n">sel</span><span class="p">]</span>
     853            <span class="k">if</span> <span class="s">&#39;riding&#39;</span> <span class="ow">in</span> <span class="n">constType</span><span class="p">:</span>
     854                <span class="n">phaseName</span> <span class="o">=</span> <span class="p">(</span><span class="n">FrstAtom</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">&#39; in &#39;</span><span class="p">)[</span><span class="mi">1</span><span class="p">])</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
     855                <span class="n">phase</span> <span class="o">=</span> <span class="n">Phases</span><span class="p">[</span><span class="n">phaseName</span><span class="p">]</span>
     856                <span class="n">AtNames</span> <span class="o">=</span> <span class="n">FindNeighbors</span><span class="p">(</span><span class="n">phase</span><span class="p">,</span><span class="n">FrstAtom</span><span class="p">,</span><span class="n">AtNames</span><span class="p">)</span>
     857            <span class="k">else</span><span class="p">:</span>
     858                <span class="n">AtNames</span><span class="o">.</span><span class="n">remove</span><span class="p">(</span><span class="n">FrstAtom</span><span class="p">)</span>
     859        <span class="n">dlg</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span>
     860        <span class="k">if</span> <span class="n">FrstAtom</span> <span class="o">==</span> <span class="s">&#39;&#39;</span><span class="p">:</span>
     861            <span class="k">print</span> <span class="s">&#39;no atom selected&#39;</span>
     862            <span class="k">return</span>
     863        <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>
     864            <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="p">,</span><span class="n">title2</span><span class="o">+</span><span class="n">FrstAtom</span><span class="p">,</span>
     865            <span class="s">&#39;Constrain &#39;</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">FrstAtom</span><span class="p">)</span><span class="o">+</span><span class="s">&#39; with...&#39;</span><span class="p">,</span><span class="n">AtNames</span><span class="p">,</span>
     866            <span class="n">toggle</span><span class="o">=</span><span class="bp">False</span><span class="p">,</span><span class="n">size</span><span class="o">=</span><span class="p">(</span><span class="mi">625</span><span class="p">,</span><span class="mi">400</span><span class="p">),</span><span class="n">monoFont</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
     867        <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>
     868            <span class="n">Selections</span> <span class="o">=</span> <span class="n">dlg</span><span class="o">.</span><span class="n">GetSelections</span><span class="p">()[:]</span>
     869        <span class="k">else</span><span class="p">:</span>
     870            <span class="k">print</span> <span class="s">&#39;no target atom selected&#39;</span>
     871            <span class="n">dlg</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span>
     872            <span class="k">return</span>
     873        <span class="n">dlg</span><span class="o">.</span><span class="n">Destroy</span><span class="p">()</span>
     874        <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">Atoms</span><span class="p">[</span><span class="n">FrstAtom</span><span class="p">]:</span>
     875            <span class="n">newcons</span> <span class="o">=</span> <span class="p">[]</span>
     876            <span class="n">constr</span> <span class="o">=</span> <span class="p">[]</span>
     877            <span class="k">if</span> <span class="s">&#39;riding&#39;</span> <span class="ow">in</span> <span class="n">constType</span><span class="p">:</span>
     878                <span class="k">if</span> <span class="s">&#39;AUiso&#39;</span> <span class="ow">in</span> <span class="n">name</span><span class="p">:</span>
     879                    <span class="n">constr</span> <span class="o">=</span> <span class="p">[[</span><span class="mf">1.0</span><span class="p">,</span><span class="n">G2obj</span><span class="o">.</span><span class="n">G2VarObj</span><span class="p">(</span><span class="n">name</span><span class="p">)]]</span>
     880                <span class="k">elif</span> <span class="s">&#39;AU11&#39;</span> <span class="ow">in</span> <span class="n">name</span><span class="p">:</span>
     881                    <span class="k">pass</span>
     882                <span class="k">elif</span> <span class="s">&#39;AU&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">name</span><span class="p">:</span>
     883                    <span class="n">constr</span> <span class="o">=</span> <span class="p">[[</span><span class="mf">1.0</span><span class="p">,</span><span class="n">G2obj</span><span class="o">.</span><span class="n">G2VarObj</span><span class="p">(</span><span class="n">name</span><span class="p">)]]</span>
     884            <span class="k">else</span><span class="p">:</span>
     885                <span class="n">constr</span> <span class="o">=</span> <span class="p">[[</span><span class="mf">1.0</span><span class="p">,</span><span class="n">G2obj</span><span class="o">.</span><span class="n">G2VarObj</span><span class="p">(</span><span class="n">name</span><span class="p">)]]</span>
     886            <span class="n">pref</span> <span class="o">=</span> <span class="n">name</span><span class="o">.</span><span class="n">rsplit</span><span class="p">(</span><span class="s">&#39;:&#39;</span><span class="p">,</span><span class="mi">1</span><span class="p">)[</span><span class="mi">0</span><span class="p">]</span>
     887            <span class="k">for</span> <span class="n">sel</span> <span class="ow">in</span> <span class="n">Selections</span><span class="p">:</span>
     888                <span class="nb">id</span> <span class="o">=</span> <span class="n">Atoms</span><span class="p">[</span><span class="n">AtNames</span><span class="p">[</span><span class="n">sel</span><span class="p">]][</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">rsplit</span><span class="p">(</span><span class="s">&#39;:&#39;</span><span class="p">,</span><span class="mi">1</span><span class="p">)[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span>
     889                <span class="k">if</span> <span class="s">&#39;riding&#39;</span> <span class="ow">in</span> <span class="n">constType</span><span class="p">:</span>
     890                    <span class="k">if</span> <span class="s">&#39;AUiso&#39;</span> <span class="ow">in</span> <span class="n">pref</span><span class="p">:</span>
     891                        <span class="n">parts</span> <span class="o">=</span> <span class="n">pref</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s">&#39;AUiso&#39;</span><span class="p">)</span>
     892                        <span class="n">constr</span> <span class="o">+=</span> <span class="p">[[</span><span class="mf">1.2</span><span class="p">,</span><span class="n">G2obj</span><span class="o">.</span><span class="n">G2VarObj</span><span class="p">(</span><span class="s">&#39;</span><span class="si">%s</span><span class="s">:</span><span class="si">%s</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">parts</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">+</span><span class="s">&#39;AUiso&#39;</span><span class="p">,</span><span class="nb">id</span><span class="p">))]]</span>
     893                    <span class="k">elif</span> <span class="s">&#39;AU&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">pref</span><span class="p">:</span>
     894                        <span class="n">constr</span> <span class="o">+=</span> <span class="p">[[</span><span class="mf">1.0</span><span class="p">,</span><span class="n">G2obj</span><span class="o">.</span><span class="n">G2VarObj</span><span class="p">(</span><span class="s">&#39;</span><span class="si">%s</span><span class="s">:</span><span class="si">%s</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">pref</span><span class="p">,</span><span class="nb">id</span><span class="p">))]]</span>
     895                <span class="k">else</span><span class="p">:</span>
     896                    <span class="n">constr</span> <span class="o">+=</span> <span class="p">[[</span><span class="mf">1.0</span><span class="p">,</span><span class="n">G2obj</span><span class="o">.</span><span class="n">G2VarObj</span><span class="p">(</span><span class="s">&#39;</span><span class="si">%s</span><span class="s">:</span><span class="si">%s</span><span class="s">&#39;</span><span class="o">%</span><span class="p">(</span><span class="n">pref</span><span class="p">,</span><span class="nb">id</span><span class="p">))]]</span>
     897            <span class="k">if</span> <span class="ow">not</span> <span class="n">constr</span><span class="p">:</span>
     898                <span class="k">continue</span>
     899            <span class="k">if</span> <span class="s">&#39;frac&#39;</span> <span class="ow">in</span> <span class="n">pref</span> <span class="ow">and</span> <span class="s">&#39;riding&#39;</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">constType</span><span class="p">:</span>
     900                <span class="n">newcons</span> <span class="o">=</span> <span class="p">[</span><span class="n">constr</span><span class="o">+</span><span class="p">[</span><span class="mf">1.0</span><span class="p">,</span><span class="bp">None</span><span class="p">,</span><span class="s">&#39;c&#39;</span><span class="p">]]</span>
     901            <span class="k">else</span><span class="p">:</span>
     902                <span class="n">newcons</span> <span class="o">=</span> <span class="p">[</span><span class="n">constr</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="s">&#39;e&#39;</span><span class="p">]]</span>
     903            <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">newcons</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">:</span>
     904                <span class="k">if</span> <span class="n">CheckAddedConstraint</span><span class="p">(</span><span class="n">newcons</span><span class="p">):</span>
     905                    <span class="n">data</span><span class="p">[</span><span class="n">constrDictEnt</span><span class="p">]</span> <span class="o">+=</span> <span class="n">newcons</span>
    781906        <span class="n">OnPageChanged</span><span class="p">(</span><span class="bp">None</span><span class="p">)</span>
    782907                       
     
    10001125        <span class="n">oldPage</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="o">.</span><span class="n">ChangeSelection</span><span class="p">(</span><span class="n">page</span><span class="p">)</span>
    10011126        <span class="n">text</span> <span class="o">=</span> <span class="n">G2frame</span><span class="o">.</span><span class="n">dataDisplay</span><span class="o">.</span><span class="n">GetPageText</span><span class="p">(</span><span class="n">page</span><span class="p">)</span>
     1127        <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">ConstraintEdit</span><span class="o">.</span><span class="n">Enable</span><span class="p">(</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_EQUIVALANCEATOMS</span><span class="p">,</span><span class="bp">False</span><span class="p">)</span>
     1128<span class="c">#        G2frame.dataFrame.ConstraintEdit.Enable(G2gd.wxID_ADDRIDING,False)</span>
    10021129        <span class="k">if</span> <span class="n">text</span> <span class="o">==</span> <span class="s">&#39;Histogram/Phase constraints&#39;</span><span class="p">:</span>
    10031130            <span class="n">G2frame</span><span class="o">.</span><span class="n">Page</span> <span class="o">=</span> <span class="p">[</span><span class="n">page</span><span class="p">,</span><span class="s">&#39;hap&#39;</span><span class="p">]</span>
     
    10081135        <span class="k">elif</span> <span class="n">text</span> <span class="o">==</span> <span class="s">&#39;Phase constraints&#39;</span><span class="p">:</span>
    10091136            <span class="n">G2frame</span><span class="o">.</span><span class="n">Page</span> <span class="o">=</span> <span class="p">[</span><span class="n">page</span><span class="p">,</span><span class="s">&#39;phs&#39;</span><span class="p">]</span>
     1137            <span class="n">G2frame</span><span class="o">.</span><span class="n">dataFrame</span><span class="o">.</span><span class="n">ConstraintEdit</span><span class="o">.</span><span class="n">Enable</span><span class="p">(</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_EQUIVALANCEATOMS</span><span class="p">,</span><span class="bp">True</span><span class="p">)</span>
     1138<span class="c">#            G2frame.dataFrame.ConstraintEdit.Enable(G2gd.wxID_ADDRIDING,True)</span>
    10101139            <span class="n">UpdateConstraintPanel</span><span class="p">(</span><span class="n">PhaseConstr</span><span class="p">,</span><span class="s">&#39;Phase&#39;</span><span class="p">)</span>
    10111140        <span class="k">elif</span> <span class="n">text</span> <span class="o">==</span> <span class="s">&#39;Global constraints&#39;</span><span class="p">:</span>
     
    10411170    <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">OnAddEquivalence</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_EQUIVADD</span><span class="p">)</span>
    10421171    <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">OnAddHold</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_HOLDADD</span><span class="p">)</span>
     1172    <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">OnAddAtomEquiv</span><span class="p">,</span> <span class="nb">id</span><span class="o">=</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_EQUIVALANCEATOMS</span><span class="p">)</span>
     1173<span class="c">#    G2frame.dataFrame.Bind(wx.EVT_MENU, OnAddRiding, id=G2gd.wxID_ADDRIDING)</span>
    10431174    <span class="c"># tab commands</span>
    10441175    <span class="k">for</span> <span class="nb">id</span> <span class="ow">in</span> <span class="p">(</span><span class="n">G2gd</span><span class="o">.</span><span class="n">wxID_CONSPHASE</span><span class="p">,</span>
Note: See TracChangeset for help on using the changeset viewer.