Changeset 1998 for sphinxdocs/build/html/_modules/GSASIIconstrGUI.html
- Timestamp:
- Oct 10, 2015 9:59:34 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sphinxdocs/build/html/_modules/GSASIIconstrGUI.html
r1832 r1998 52 52 <span class="c">#GSASIIconstrGUI - constraint GUI routines</span> 53 53 <span class="c">########### SVN repository information ###################</span> 54 <span class="c"># $Date: 2015-0 5-01 18:38:23 -0500 (Fri, 01 May2015) $</span>55 <span class="c"># $Author: toby$</span>56 <span class="c"># $Revision: 1 831$</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> 57 57 <span class="c"># $URL: https://subversion.xray.aps.anl.gov/pyGSAS/trunk/GSASIIconstrGUI.py $</span> 58 <span class="c"># $Id: GSASIIconstrGUI.py 1 831 2015-05-01 23:38:23Z toby$</span>58 <span class="c"># $Id: GSASIIconstrGUI.py 1943 2015-07-21 18:28:34Z vondreele $</span> 59 59 <span class="c">########### SVN repository information ###################</span> 60 60 <span class="sd">'''</span> … … 75 75 <span class="kn">import</span> <span class="nn">os.path</span> 76 76 <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">"$Revision: 1 831$"</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">"$Revision: 1943 $"</span><span class="p">)</span> 78 78 <span class="kn">import</span> <span class="nn">GSASIIElem</span> <span class="kn">as</span> <span class="nn">G2elem</span> 79 79 <span class="kn">import</span> <span class="nn">GSASIIElemGUI</span> <span class="kn">as</span> <span class="nn">G2elemGUI</span> 80 80 <span class="kn">import</span> <span class="nn">GSASIIstrIO</span> <span class="kn">as</span> <span class="nn">G2stIO</span> 81 81 <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> 82 84 <span class="kn">import</span> <span class="nn">GSASIIgrid</span> <span class="kn">as</span> <span class="nn">G2gd</span> 83 85 <span class="kn">import</span> <span class="nn">GSASIIctrls</span> <span class="kn">as</span> <span class="nn">G2G</span> … … 726 728 <span class="n">legend</span> <span class="o">=</span> <span class="s">"Select variables to make equivalent (only one of the variables will be varied when all are set to be varied)"</span> 727 729 <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">'equivalence'</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">''' Add equivalences between all parameters on atoms '''</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">"Setup equivalent atom variables"</span> 736 <span class="n">title2</span> <span class="o">=</span> <span class="s">"Select additional atoms(s) to be equivalent with "</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">'No variables'</span><span class="p">,</span><span class="s">'There are no variables of type '</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">"Select atoms to make equivalent (only one of the atom variables will be varied when all are set to be varied)"</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">'equivalence'</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">''' Add riding equivalences between all parameters on atoms '''</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">"Setup riding atoms "</span> 749 <span class="n">title2</span> <span class="o">=</span> <span class="s">"Select additional atoms(s) to ride on "</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">'No variables'</span><span class="p">,</span><span class="s">'There are no variables of type '</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">"Select atoms to ride (only one of the atom variables will be varied when all are set to be varied)"</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">'riding'</span><span class="p">)</span> 728 756 729 757 <span class="k">def</span> <span class="nf">OnAddFunction</span><span class="p">(</span><span class="n">event</span><span class="p">):</span> … … 779 807 <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> 780 808 <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">'General'</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">'AtomPtrs'</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">'Atoms'</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">'Cell'</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">'AtomTypes'</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">'BondRadii'</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['BondRadii']</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">'''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"> '''</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">'Atom'</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">'Select 1st atom:'</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">''</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">'riding'</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">' in '</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">''</span><span class="p">:</span> 861 <span class="k">print</span> <span class="s">'no atom selected'</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">'Constrain '</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">' with...'</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">'no target atom selected'</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">'riding'</span> <span class="ow">in</span> <span class="n">constType</span><span class="p">:</span> 878 <span class="k">if</span> <span class="s">'AUiso'</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">'AU11'</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">'AU'</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">':'</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">':'</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">'riding'</span> <span class="ow">in</span> <span class="n">constType</span><span class="p">:</span> 890 <span class="k">if</span> <span class="s">'AUiso'</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">'AUiso'</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">'</span><span class="si">%s</span><span class="s">:</span><span class="si">%s</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">parts</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">+</span><span class="s">'AUiso'</span><span class="p">,</span><span class="nb">id</span><span class="p">))]]</span> 893 <span class="k">elif</span> <span class="s">'AU'</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">'</span><span class="si">%s</span><span class="s">:</span><span class="si">%s</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">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">'</span><span class="si">%s</span><span class="s">:</span><span class="si">%s</span><span class="s">'</span><span class="o">%</span><span class="p">(</span><span class="n">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">'frac'</span> <span class="ow">in</span> <span class="n">pref</span> <span class="ow">and</span> <span class="s">'riding'</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">'c'</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">'e'</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">></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> 781 906 <span class="n">OnPageChanged</span><span class="p">(</span><span class="bp">None</span><span class="p">)</span> 782 907 … … 1000 1125 <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> 1001 1126 <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> 1002 1129 <span class="k">if</span> <span class="n">text</span> <span class="o">==</span> <span class="s">'Histogram/Phase constraints'</span><span class="p">:</span> 1003 1130 <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">'hap'</span><span class="p">]</span> … … 1008 1135 <span class="k">elif</span> <span class="n">text</span> <span class="o">==</span> <span class="s">'Phase constraints'</span><span class="p">:</span> 1009 1136 <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">'phs'</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> 1010 1139 <span class="n">UpdateConstraintPanel</span><span class="p">(</span><span class="n">PhaseConstr</span><span class="p">,</span><span class="s">'Phase'</span><span class="p">)</span> 1011 1140 <span class="k">elif</span> <span class="n">text</span> <span class="o">==</span> <span class="s">'Global constraints'</span><span class="p">:</span> … … 1041 1170 <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> 1042 1171 <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> 1043 1174 <span class="c"># tab commands</span> 1044 1175 <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.