Example #1
0
    def viewAll(self, parent=None):
        """Display all meta data in a table"""
        from PEATDB.Tables import TableCanvas
        from PEATDB.TableModels import TableModel

        tp = Toplevel(master=parent)
        tframe = Frame(tp)
        tframe.pack()
        m = TableModel()
        m.importDict(self.data)
        table = TableCanvas(tframe, model=m)
        table.createTableFrame()

        return
Example #2
0
 def sendDB2Labbook(self, DB, recs=None, cols=None, name='main'):
     """Send copy of selected DB cols to a labbook table
     convenience method to allow quick duplication of main DB data"""
     from PEATDB.TableModels import TableModel
     if cols == None:
         cols = DB.meta.userfields.keys()
     if recs == None:
         recs = DB.getRecs()
     cols.append('name')
     M = TableModel()
     #M.addColumn('name')
     for rec in recs:
         M.addRow(rec)
         for c in cols:
             M.addColumn(c)
             if DB[rec].has_key(c):
                 M.data[rec][c] = DB[rec][c]
     DB.createLabbookSheet(name, M)
     return M
Example #3
0
    def matrix2Table(self, matrix):
        """Creates a table model from a peatsa matrix"""
        M = TableModel()
        M.addColumn('Mutations')

        fields = matrix.columnHeaders()
        for f in fields:
            M.addColumn(f)
        i = matrix.indexOfColumnWithHeader('Mutations')
        for row in matrix:
            mutationSet = Core.Data.MutationSet(row[i])
            code = '+'.join(mutationSet.mutationCodes(reduced=True))
            M.addRow(code)
            for f in fields:
                j = matrix.indexOfColumnWithHeader(f)
                if f == 'Mutations':
                    M.data[code]['Mutations'] = code
                else:
                    M.data[code][f] = str(row[j])
        return M
Example #4
0
 def updateColsMenu(self, evt=None):
     """create drop menus of available cols in chosen sheet"""
     sheet = self.smenu.getcurselection()
     S = self.DB.meta.labbook[sheet]
     model = TableModel(S)
     names = model.columnNames
     if hasattr(self, 'xcolsmenu'):
         self.xcolsmenu.destroy()
         self.ycolsmenu.destroy()
         self.filterbymenu.destroy()
         self.filtervalentry.destroy()
         self.bf.destroy()
     self.xcolsmenu = Pmw.OptionMenu(self.mainwin,
                                     labelpos='w',
                                     label_text='X-Col:',
                                     items=names,
                                     menubutton_width=10)
     self.xcolsmenu.pack(side=TOP, fill=BOTH)
     self.ycolsmenu = Pmw.OptionMenu(self.mainwin,
                                     labelpos='w',
                                     label_text='Y-Col:',
                                     items=names,
                                     menubutton_width=10)
     self.ycolsmenu.pack(side=TOP, fill=BOTH)
     self.bf = Frame(self.mainwin)
     self.bf.pack(side=TOP, fill=BOTH)
     names.extend('-')
     self.filterbymenu = Pmw.OptionMenu(self.bf,
                                        labelpos='w',
                                        label_text='Filter by:',
                                        items=names,
                                        initialitem='-',
                                        menubutton_width=5)
     self.filterbymenu.pack(side=LEFT, fill=BOTH)
     self.filtervalentry = Pmw.EntryField(self.bf,
                                          labelpos='w',
                                          label_text='Value:')
     self.filtervalentry.pack(side=LEFT, fill=BOTH)
     return
Example #5
0
 def updateJobsTable(self):
     """Show table for current jobs list"""
     self.checkJobsDict()
     jobdict = self.DB.meta.peatsa_jobs
     M = TableModel()
     #open job log from file
     f = open('jobstates.log', 'r')
     jl = pickle.load(f)
     for j in jobdict:
         jobid = jobdict[j]
         try:
             M.addRecord(j,
                         state=jl[jobid]['State'],
                         date=jl[jobid]['Date'])
         except:
             M.addRecord(j, state='Not in DB')
     self.jobstable = TableCanvas(self.tf,
                                  model=M,
                                  height=100,
                                  editable=False)
     self.jobstable.createTableFrame()
     self.log.yview('moveto', 1)
     f.close()
     return