Ignore:
Timestamp:
Feb 17, 2021 12:52:34 PM (11 months ago)
Author:
toby
Message:

seq ref: fix & edit phase vars for 1 hist; spyder conveniences; improve filter; fix bkg copy flags bug

fail

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIctrlGUI.py

    r4811 r4819  
    183183    pass
    184184
    185 ################################################################################
    186 #### Fixed definitions for wx Ids
    187 ################################################################################
     185#### Fixed definitions for wx Ids ################################################################################
    188186def Define_wxId(*args):
    189187    '''routine to create unique global wx Id symbols in this module.
     
    197195        exec('global '+arg+';'+arg+' = wx.NewId()')
    198196
    199 ################################################################################
    200 #### Tree Control
    201 ################################################################################
     197#### Tree Control ################################################################################
    202198class G2TreeCtrl(wx.TreeCtrl):
    203199    '''Create a wrapper around the standard TreeCtrl so we can "wrap"
     
    415411            item, cookie = self.GetNextChild(self.root, cookie)
    416412
    417 ################################################################################
    418 #### TextCtrl that stores input as entered with optional validation
    419 ################################################################################
     413#### TextCtrl that stores input as entered with optional validation ################################################################################
    420414class ValidatedTxtCtrl(wx.TextCtrl):
    421415    '''Create a TextCtrl widget that uses a validator to prevent the
     
    12751269        if num >= 0: self.SetSelection(num)
    12761270
    1277 ##############################################################
    1278 # Custom checkbox that saves values into dict/list as used
     1271#### Custom checkbox that saves values into dict/list as used ##############################################################
    12791272class G2CheckBox(wx.CheckBox):
    12801273    '''A customized version of a CheckBox that automatically initializes
     
    13081301        if self.OnChange: self.OnChange(event)
    13091302                   
    1310 ################################################################################
    1311 #### Commonly used dialogs
    1312 ################################################################################
     1303#### Commonly used dialogs ################################################################################
    13131304def CallScrolledMultiEditor(parent,dictlst,elemlst,prelbl=[],postlbl=[],
    13141305                 title='Edit items',header='',size=(300,250),
     
    13241315                              title,header,size,
    13251316                              CopyButton, ASCIIonly, **kw)
     1317    dlg.CenterOnParent()
    13261318    if dlg.ShowModal() == wx.ID_OK:
    13271319        dlg.Destroy()
     
    13491341    :param tuple dictlst: a list of dicts or lists containing values to edit
    13501342
    1351     :param tuple elemlst: a list of keys for each item in a dictlst. Must have the
    1352       same length as dictlst.
    1353 
    1354     :param wx.Frame parent: name of parent window, or may be None
    1355    
     1343    :param tuple elemlst: a list of keys/indices for items in dictlst.
     1344      Note that elemlst must have the same length as dictlst, where each
     1345      item in elemlst will will match an entry for an entry for successive
     1346      dicts/lists in dictlst.
     1347
    13561348    :param tuple prelbl: a list of labels placed before the TextCtrl for each
    13571349      item (optional)
     
    15611553###############################################  Multichoice Dialog with set all, toggle & filter options
    15621554class G2MultiChoiceDialog(wx.Dialog):
    1563     '''A dialog similar to MultiChoiceDialog except that buttons are
    1564     added to set all choices and to toggle all choices.
     1555    '''A dialog similar to wx.MultiChoiceDialog except that buttons are
     1556    added to set all choices and to toggle all choices and a filter is
     1557    available to select from available entries. Note that if multiple
     1558    entries are placed in the filter box separated by spaces, all
     1559    of the strings must be present for an item to be shown.
    15651560
    15661561    :param wx.Frame ParentFrame: reference to parent frame
     
    15771572      options to present to the user, where value_i is the default value.
    15781573      Options are listed ordered by the value_i values.
     1574    :param list selected: list of indicies for items that should be
    15791575    :param kw: optional keyword parameters for the wx.Dialog may
    15801576      be included such as size [which defaults to `(320,310)`] and
     
    15851581    '''
    15861582    def __init__(self,parent, title, header, ChoiceList, toggle=True,
    1587                  monoFont=False, filterBox=True, extraOpts={}, **kw):
     1583                 monoFont=False, filterBox=True, extraOpts={}, selected=[],
     1584                 **kw):
    15881585        # process keyword parameters, notably style
    15891586        options = {'size':(320,310), # default Frame keywords
     
    15931590        self.ChoiceList = ['%4d) %s'%(i,item) for i,item in enumerate(ChoiceList)] # numbered list of choices (list of str values)
    15941591        self.Selections = len(self.ChoiceList) * [False,] # selection status for each choice (list of bools)
     1592        for i in selected:
     1593            self.Selections[i] = True
    15951594        self.filterlist = range(len(self.ChoiceList)) # list of the choice numbers that have been filtered (list of int indices)
    15961595        self.Stride = 1
     
    16241623        self.rangeFirst = None
    16251624        self.clb = wx.CheckListBox(self, wx.ID_ANY, (30,30), wx.DefaultSize, self.ChoiceList)
     1625        self._ShowSelections()
    16261626        self.clb.Bind(wx.EVT_CHECKLISTBOX,self.OnCheck)
    16271627        if monoFont:
     
    17951795        self.GetSelections() # record current selections
    17961796        txt = self.filterBox.GetValue()
     1797        txt = txt.lower()
    17971798        self.clb.Clear()
    17981799       
     
    18001801        self.filterlist = []
    18011802        if txt:
    1802             txt = txt.lower()
    18031803            ChoiceList = []
    18041804            for i,item in enumerate(self.ChoiceList):
    1805                 if item.lower().find(txt) != -1:
     1805                for t in txt.split():
     1806                    if item.lower().find(t) == -1:
     1807                        break
     1808                else:
    18061809                    ChoiceList.append(item)
    18071810                    self.filterlist.append(i)
     
    22052208        dlg.Destroy()
    22062209
    2207 ###############################################################
    2208 #        Single choice Dialog with filter options
     2210#####  Single choice Dialog with filter options ###############################################################
    22092211class G2SingleChoiceDialog(wx.Dialog):
    22102212    '''A dialog similar to wx.SingleChoiceDialog except that a filter can be
     
    44484450            return None
    44494451
    4450 ################################################################################
    4451 #####  Customized Grid Support
    4452 ################################################################################           
     4452#####  Customized Grid Support ################################################################################           
    44534453class GSGrid(wg.Grid):
    44544454    '''Basic wx.Grid implementation
     
    47734773            evt.StopPropagation()
    47744774
    4775 ################################################################################
    4776 #####  Get an output file or directory
    4777 ################################################################################           
     4775#####  Get an output file or directory ################################################################################
    47784776def askSaveFile(G2frame,defnam,extension,longFormatName,parent=None):
    47794777    '''Ask the user to supply a file name
     
    48294827    return filename
    48304828
    4831 ################################################################################
    4832 #####  Customized Notebook
    4833 ################################################################################           
     4829#####  Customized Notebook ################################################################################           
    48344830class GSNoteBook(wx.aui.AuiNotebook):
    48354831    '''Notebook used in various locations; implemented with wx.aui extension
     
    48964892    #         return attr
    48974893           
    4898 ################################################################################
    4899 #### Help support routines
    4900 ################################################################################
     4894#### Help support routines ################################################################################
    49014895class MyHelp(wx.Menu):
    49024896    '''
     
    53875381    return s.encode('ascii','replace')
    53885382       
    5389 ######################################################################
    5390 # wx classes for reading various types of data files
    5391 ######################################################################
     5383# wx classes for reading various types of data files ######################################################################
    53925384def BlockSelector(ChoiceList, ParentFrame=None,title='Select a block',
    53935385    size=None, header='Block Selector',useCancel=True):
     
    60015993
    60025994################################################################################
    6003 ################################################################################
    60045995class SortableLstCtrl(wx.Panel):
    60055996    '''Creates a read-only table with sortable columns. Sorting is done by
     
    61196110    print('docs build kludge for G2LstCtrl')
    61206111   
    6121 ################################################################################
    6122 #### Display Help information
    6123 ################################################################################
     6112#### Display Help information ################################################################################
    61246113# define some globals
    61256114htmlPanel = None
     
    62216210            webbrowser.open(pfx+URL, new=0, autoraise=True)
    62226211
    6223 ################################################################################
    6224 #### Tutorials support
    6225 ################################################################################
     6212#### Tutorials support ################################################################################
    62266213G2BaseURL = "https://subversion.xray.aps.anl.gov/pyGSAS"
    62276214tutorialIndex = (
     
    67616748        except KeyError:
    67626749            pass
    6763 ################################################################################
    6764 # Autoload PWDR files
    6765 ################################################################################
     6750
     6751### Autoload PWDR files ################################################################################
    67666752AutoLoadWindow = None
    67676753
     
    71697155    AutoLoadWindow = dlg # save window reference
    71707156
    7171 ################################################################################
    7172 # Deal with Origin 1/2 ambiguities
    7173 ################################################################################
     7157# Deal with Origin 1/2 ambiguities ################################################################################
    71747158def ChooseOrigin(G2frame,rd):   
    71757159    # make copy of Phase but shift atoms Origin 1->2
Note: See TracChangeset for help on using the changeset viewer.