def __init__(self, context_model=None, parent=None, callback=None):
super(PackageVersionsTable, self).__init__(<NUM_LIT:0>, <NUM_LIT:2>, parent)<EOL>ContextViewMixin.__init__(self, context_model)<EOL>self.package_name = None<EOL>self.callback = callback<EOL>self.packages = {}<EOL>self.setGridStyle(QtCore.Qt.DotLine)<EOL>self.setSelectionMode(QtGui.QAbstractItemView.SingleSelection)<EOL>self.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)<EOL>self.setVerticalScrollMode(QtGui.QAbstractItemView.ScrollPerPixel)<EOL>hh = self.horizontalHeader()<EOL>hh.setStretchLastSection(True)<EOL>vh = self.verticalHeader()<EOL>vh.setResizeMode(QtGui.QHeaderView.ResizeToContents)<EOL>self.clear()<EOL>
Args:
    callback (callable): If supplied, this will be called and passed
    a `Package` for each package in the versions list. If the callable
    returns False, that package will be disabled for selection.