Changeset 1117 for trunk/GSASIIIO.py


Ignore:
Timestamp:
Oct 21, 2013 1:11:57 PM (8 years ago)
Author:
toby
Message:

update some menu labels; Add new multi-item selector; Add map export; misc export cleanups

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIIO.py

    r1115 r1117  
    17591759        self.powderDict = {}
    17601760        self.xtalDict = {}
     1761        self.parmDict = {}
     1762        self.sigDict = {}
    17611763        # updated in InitExport:
    17621764        self.currentExportType = None # type of export that has been requested
     
    17921794                    'Project does not contain any phases.')
    17931795                return True
     1796            elif len(self.Phases) == 1:
     1797                self.phasenam = self.Phases.keys()
    17941798            elif self.multiple:
    1795                 if len(self.Phases) == 1:
    1796                     self.phasenam = self.Phases.keys()
    1797                 else:
    1798                     choices = sorted(self.Phases.keys())
    1799                     phasenum = G2gd.ItemSelector(choices,self.G2frame,multiple=True)
    1800                     if phasenum is None: return True
    1801                     self.phasenam = [choices[i] for i in phasenum]
     1799                choices = sorted(self.Phases.keys())
     1800                phasenum = G2gd.ItemSelector(choices,self.G2frame,multiple=True)
     1801                if phasenum is None: return True
     1802                self.phasenam = [choices[i] for i in phasenum]
     1803                if not self.phasenam: return True
    18021804            else:
    1803                 if len(self.Phases) == 1:
    1804                     self.phasenam = self.Phases.keys()
    1805                 else:
    1806                     choices = sorted(self.Phases.keys())
    1807                     phasenum = G2gd.ItemSelector(choices,self.G2frame)
    1808                     if phasenum is None: return True
    1809                     self.phasenam = [choices[phasenum]]
     1805                choices = sorted(self.Phases.keys())
     1806                phasenum = G2gd.ItemSelector(choices,self.G2frame)
     1807                if phasenum is None: return True
     1808                self.phasenam = [choices[phasenum]]
    18101809        elif self.currentExportType == 'single':
    18111810            if len(self.xtalDict) == 0:
     
    18141813                    'Project does not contain any single crystal data.')
    18151814                return True
     1815            elif len(self.xtalDict) == 1:
     1816                self.histnam = self.xtalDict.values()
    18161817            elif self.multiple:
    1817                 if len(self.xtalDict) == 1:
    1818                     self.histnam = self.xtalDict.values()
    1819                 else:
    1820                     choices = sorted(self.xtalDict.values())
    1821                     hnum = G2gd.ItemSelector(choices,self.G2frame,multiple=True)
    1822                     if hnum is None: return True
    1823                     self.histnam = [choices[i] for i in hnum]
     1818                choices = sorted(self.xtalDict.values())
     1819                hnum = G2gd.ItemSelector(choices,self.G2frame,multiple=True)
     1820                if not hnum: return True
     1821                self.histnam = [choices[i] for i in hnum]
    18241822            else:
    1825                 if len(self.xtalDict) == 1:
    1826                     self.histnam = self.xtalDict.values()
    1827                 else:
    1828                     choices = sorted(self.xtalDict.values())
    1829                     hnum = G2gd.ItemSelector(choices,self.G2frame)
    1830                     if hnum is None: return True
    1831                     self.histnam = [choices[hnum]]
     1823                choices = sorted(self.xtalDict.values())
     1824                hnum = G2gd.ItemSelector(choices,self.G2frame)
     1825                if hnum is None: return True
     1826                self.histnam = [choices[hnum]]
    18321827        elif self.currentExportType == 'powder':
    18331828            if len(self.powderDict) == 0:
     
    18361831                    'Project does not contain any powder data.')
    18371832                return True
     1833            elif len(self.powderDict) == 1:
     1834                self.histnam = self.powderDict.values()
    18381835            elif self.multiple:
    1839                 if len(self.powderDict) == 1:
    1840                     self.histnam = self.powderDict.values()
    1841                 else:
    1842                     choices = sorted(self.powderDict.values())
    1843                     hnum = G2gd.ItemSelector(choices,self.G2frame,multiple=True)
    1844                     if hnum is None: return True
    1845                     self.histnam = [choices[i] for i in hnum]
     1836                choices = sorted(self.powderDict.values())
     1837                hnum = G2gd.ItemSelector(choices,self.G2frame,multiple=True)
     1838                if not hnum: return True
     1839                self.histnam = [choices[i] for i in hnum]
    18461840            else:
    1847                 if len(self.powderDict) == 1:
    1848                     self.histnam = self.powderDict.values()
    1849                 else:
    1850                     choices = sorted(self.powderDict.values())
    1851                     hnum = G2gd.ItemSelector(choices,self.G2frame)
    1852                     if hnum is None: return True
    1853                     self.histnam = [choices[hnum]]
     1841                choices = sorted(self.powderDict.values())
     1842                hnum = G2gd.ItemSelector(choices,self.G2frame)
     1843                if hnum is None: return True
     1844                self.histnam = [choices[hnum]]
    18541845        elif self.currentExportType == 'image':
    18551846            if len(self.Histograms) == 0:
     
    18631854                choices = sorted(self.Histograms.keys())
    18641855                hnum = G2gd.ItemSelector(choices,self.G2frame,multiple=self.multiple)
    1865                 if hnum is None: return True
    18661856                if self.multiple:
     1857                    if not hnum: return True
    18671858                    self.histnam = [choices[i] for i in hnum]
    18681859                else:
     1860                    if hnum is None: return True
    18691861                    self.histnam = [choices[hnum]]
     1862        if self.currentExportType == 'map':
     1863            # search for phases with maps
     1864            mapPhases = []
     1865            choices = []
     1866            for phasenam in sorted(self.Phases):
     1867                phasedict = self.Phases[phasenam] # pointer to current phase info           
     1868                print phasedict['General']['Map'].keys()
     1869                if len(phasedict['General']['Map'].get('rho',[])):
     1870                    mapPhases.append(phasenam)
     1871                    if phasedict['General']['Map'].get('Flip'):
     1872                        choices.append('Charge flip map: '+str(phasenam))
     1873                    elif phasedict['General']['Map'].get('MapType'):
     1874                        choices.append(
     1875                            str(phasedict['General']['Map'].get('MapType'))
     1876                            + ' map: ' + str(phasenam))
     1877                    else:
     1878                        choices.append('unknown map: '+str(phasenam))
     1879            # select a map if needed
     1880            if len(mapPhases) == 0:
     1881                self.G2frame.ErrorDialog(
     1882                    'Empty project',
     1883                    'Project does not contain any maps.')
     1884                return True
     1885            elif len(mapPhases) == 1:
     1886                self.phasenam = mapPhases
     1887            else:
     1888                phasenum = G2gd.ItemSelector(choices,self.G2frame,multiple=self.multiple)
     1889                if self.multiple:
     1890                    if not phasenum: return True
     1891                    self.phasenam = [mapPhases[i] for i in phasenum]
     1892                else:
     1893                    if phasenum is None: return True
     1894                    self.phasenam = [mapPhases[phasenum]]
     1895
    18701896        if AskFile:
    18711897            self.filename = self.askSaveFile()
Note: See TracChangeset for help on using the changeset viewer.