def __init__(self, g, model=None): super(MetaModel, self).__init__() self.g = g self.g.registerRetranslate(self.retranslated) if model is None: defaultfile = open(resource_filename('qdex', 'metamodel.yaml')) model = yaml.load(defaultfile) self.root = MetamodelItem.load(model, g=g) # XXX: Only have one category of lists now; show a flat list self.root = self.root.children[0]
return self.columnClass(name=self.name, model=model, **kwargs) columnFactory.memo[columnClass] = ColumnFactory return ColumnFactory ColumnGroup.defaultClassForLoad = columnFactory(SimpleModelColumn) class DisabledColumn(BaseColumnGroup): """A disabled (greyed-out, not selectable) node. For undefined classes.""" enabled = False def __init__(self, name=None, **kwargs): super(DisabledColumn, self).__init__() self.name = name self.columns = None class Separator(BaseColumnGroup): """A menu separator. Just a visual thing.""" enabled = False def addSpecialAction(self, menu): """Add a separator to the menu""" return menu.addSeparator() defaultColumnGroups = {} fileobj = open(resource_filename('qdex', 'columns.yaml')) for tableName, group in yaml.load(fileobj).items(): defaultColumnGroups[tableName] = ColumnGroup(**group)