Esempio n. 1
0
class TraitListView(KListView):
    def __init__(self, parent, file_type='template', name='TraitListView'):
        KListView.__init__(self, parent, name)
        self.app = get_application_pointer()
        self.conn = self.app.conn
        self.file_type = file_type
        self.scripts = None
        self.templates = None
        self.traits = None
        self.trait = None
        self.setRootIsDecorated(True)
        self.addColumn('trait/file')
        self.addColumn('name')
        self.addColumn('package')

    def set_suite(self, suite):
        self.scripts = TraitScript(self.conn, suite)
        self.templates = TraitTemplate(self.conn, suite)
        self.traits = Traits(self.conn, suite)

    def set_trait(self, trait):
        self.trait = trait

    def refreshlistView(self):
        self.clear()
        self.setColumnText(1, self.file_type)
        if self.trait is None:
            traits = self.traits.list()
        else:
            traits = [self.trait]
        for trait in traits:
            item = KListViewItem(self, trait)
            item.trait = trait
            # expand tree by default
            item.setOpen(True)
            if self.file_type == 'template':
                for row in self.templates.templates(trait):
                    template_item = KListViewItem(item, str(row.templatefile),
                                                  row.template)
                    template_item.trait = trait
                    template_item.row = row
            elif self.file_type == 'script':
                # perhaps we need to make a method to obtain scriptnames
                # in TraitScript object
                for row in self.scripts.cmd.select(clause=Eq('trait', trait), order='script'):
                    script_item = KListViewItem(item, str(row.scriptfile), row.script)
                    script_item.trait = trait
                    script_item.row = row
            else:
                raise ValueError, "unknown file_type %s" % self.file_type

    # get template or script contents
    def getData(self):
        item = self.currentItem()
        if self.file_type == 'template':
            self.templates.set_trait(item.trait)
            return self.templates.templatedata(item.row.template)
        elif self.file_type == 'script':
            self.scripts.set_trait(item.trait)
            return self.scripts.scriptdata(item.row.script)
        else:
            raise ValueError, "unknown file_type %s" % self.file_type

    # replace template or script contents
    def updateData(self, data):
        item = self.currentItem()
        row = item.row
        if self.file_type == 'template':
            self.templates.set_trait(item.trait)
            self.templates.update_template(row.template, contents=data)
        elif self.file_type == 'script':
            self.scripts.set_trait(item.trait)
            self.scripts.update_scriptdata(row.script, data)
        else:
            raise ValueError, "unknown file_type %s" % self.file_type
Esempio n. 2
0
class TraitList(KListView):
    def __init__(self, app, parent, ftype='template', name='TraitList'):
        KListView.__init__(self, parent, name)
        dbwidget(self, app)
        self.ftype = ftype
        self.scripts = None
        self.templates = None
        self.traits = None
        self.trait = None
        self.setRootIsDecorated(True)
        self.addColumn('trait/file')
        self.addColumn('name')
        self.addColumn('package')

    def set_suite(self, suite):
        self.scripts = TraitScript(self.conn, suite)
        self.templates = TraitTemplate(self.conn, suite)
        self.traits = Traits(self.conn, suite)

    def set_trait(self, trait):
        self.trait = trait

    def refreshlistView(self):
        self.clear()
        if self.ftype == 'template':
            self.setColumnText(1, 'template')
        elif self.ftype == 'script':
            self.setColumnText(1, 'script')
        if self.trait is None:
            traits = self.traits.list()
        else:
            traits = [self.trait]
        for trait in traits:
            item = KListViewItem(self, trait)
            item.trait = trait
            if self.ftype == 'template':
                for row in self.templates.templates(trait):
                    titem = KListViewItem(item, str(row.templatefile),
                                          row.template, row.package)
                    titem.trait = trait
                    titem.row = row
            elif self.ftype == 'script':
                for row in self.scripts.cmd.select(clause=Eq('trait', trait),
                                                   order='script'):
                    sitem = KListViewItem(item, str(row.scriptfile),
                                          row.script)
                    sitem.trait = trait
                    sitem.row = row

    def getData(self):
        item = self.currentItem()
        if self.ftype == 'template':
            self.templates.set_trait(item.trait)
            return self.templates.templatedata(item.row.package,
                                               item.row.template)
        elif self.ftype == 'script':
            self.scripts.set_trait(item.trait)
            return self.scripts.scriptdata(item.row.script)

    def updateData(self, data):
        item = self.currentItem()
        row = item.row
        if self.ftype == 'template':
            self.templates.set_trait(item.trait)
            self.templates.update_templatedata(row.package, row.template, data)
        elif self.ftype == 'script':
            self.scripts.set_trait(item.trait)
            self.scripts.update_scriptdata(row.script, data)
Esempio n. 3
0
class TraitList(KListView):
    def __init__(self, app, parent, ftype='template', name='TraitList'):
        KListView.__init__(self, parent, name)
        dbwidget(self, app)
        self.ftype = ftype
        self.scripts = None
        self.templates = None
        self.traits = None
        self.trait = None
        self.setRootIsDecorated(True)
        self.addColumn('trait/file')
        self.addColumn('name')
        self.addColumn('package')
        
    def set_suite(self, suite):
        self.scripts = TraitScript(self.conn, suite)
        self.templates = TraitTemplate(self.conn, suite)
        self.traits = Traits(self.conn, suite)
        

    def set_trait(self, trait):
        self.trait = trait
        
    def refreshlistView(self):
        self.clear()
        if self.ftype == 'template':
            self.setColumnText(1, 'template')
        elif self.ftype == 'script':
            self.setColumnText(1, 'script')
        if self.trait is None:
            traits = self.traits.list()
        else:
            traits = [self.trait]
        for trait in traits:
            item = KListViewItem(self, trait)
            item.trait = trait
            if self.ftype == 'template':
                for row in self.templates.templates(trait):
                    titem = KListViewItem(item, str(row.templatefile), row.template, row.package)
                    titem.trait = trait
                    titem.row = row
            elif self.ftype == 'script':
                for row in self.scripts.cmd.select(clause=Eq('trait', trait), order='script'):
                    sitem = KListViewItem(item, str(row.scriptfile), row.script)
                    sitem.trait = trait
                    sitem.row = row
                    
    def getData(self):
        item = self.currentItem()
        if self.ftype == 'template':
            self.templates.set_trait(item.trait)
            return self.templates.templatedata(item.row.package, item.row.template)
        elif self.ftype == 'script':
            self.scripts.set_trait(item.trait)
            return self.scripts.scriptdata(item.row.script)

    def updateData(self, data):
        item = self.currentItem()
        row = item.row
        if self.ftype == 'template':
            self.templates.set_trait(item.trait)
            self.templates.update_templatedata(row.package, row.template, data)
        elif self.ftype == 'script':
            self.scripts.set_trait(item.trait)
            self.scripts.update_scriptdata(row.script, data)
Esempio n. 4
0
class TraitListView(KListView):
    def __init__(self, parent, file_type='template', name='TraitListView'):
        KListView.__init__(self, parent, name)
        self.app = get_application_pointer()
        self.conn = self.app.conn
        self.file_type = file_type
        self.scripts = None
        self.templates = None
        self.traits = None
        self.trait = None
        self.setRootIsDecorated(True)
        self.addColumn('trait/file')
        self.addColumn('name')
        self.addColumn('package')

    def set_suite(self, suite):
        self.scripts = TraitScript(self.conn, suite)
        self.templates = TraitTemplate(self.conn, suite)
        self.traits = Traits(self.conn, suite)

    def set_trait(self, trait):
        self.trait = trait

    def refreshlistView(self):
        self.clear()
        self.setColumnText(1, self.file_type)
        if self.trait is None:
            traits = self.traits.list()
        else:
            traits = [self.trait]
        for trait in traits:
            item = KListViewItem(self, trait)
            item.trait = trait
            # expand tree by default
            item.setOpen(True)
            if self.file_type == 'template':
                for row in self.templates.templates(trait):
                    template_item = KListViewItem(item, str(row.templatefile),
                                                  row.template)
                    template_item.trait = trait
                    template_item.row = row
            elif self.file_type == 'script':
                # perhaps we need to make a method to obtain scriptnames
                # in TraitScript object
                for row in self.scripts.cmd.select(clause=Eq('trait', trait),
                                                   order='script'):
                    script_item = KListViewItem(item, str(row.scriptfile),
                                                row.script)
                    script_item.trait = trait
                    script_item.row = row
            else:
                raise ValueError, "unknown file_type %s" % self.file_type

    # get template or script contents
    def getData(self):
        item = self.currentItem()
        if self.file_type == 'template':
            self.templates.set_trait(item.trait)
            return self.templates.templatedata(item.row.template)
        elif self.file_type == 'script':
            self.scripts.set_trait(item.trait)
            return self.scripts.scriptdata(item.row.script)
        else:
            raise ValueError, "unknown file_type %s" % self.file_type

    # replace template or script contents
    def updateData(self, data):
        item = self.currentItem()
        row = item.row
        if self.file_type == 'template':
            self.templates.set_trait(item.trait)
            self.templates.update_template(row.template, contents=data)
        elif self.file_type == 'script':
            self.scripts.set_trait(item.trait)
            self.scripts.update_scriptdata(row.script, data)
        else:
            raise ValueError, "unknown file_type %s" % self.file_type