# Path: PyDvi/Tools/EnumFactory.py
# def EnumFactory(cls_name, constant_names):
# 
#     """ Return an :class:`EnumMetaClass` instance, where *cls_name* is the class name and
#     *constant_names* is an iterable of constant's names.
#     """
# 
#     dict_ = {}
#     dict_['_size'] = len(constant_names)
#     for index, name in enumerate(constant_names):
#         dict_[str(name)] = index
# 
#     return EnumMetaClass(cls_name, (), dict_)


from PyQt4 import QtGui, QtCore
from PyQt4.QtCore import Qt, QVariant, QModelIndex
from PyDvi.Tools.EnumFactory import EnumFactory
####################################################################################################


####################################################################################################

columns_enum = EnumFactory('ColumnsEnum',
                           ('field',
                            'value',
                            ))

####################################################################################################

class InfoTableModel(QtCore.QAbstractTableModel):

    ############################################################################

    def __init__(self):

        super(InfoTableModel, self).__init__()

        self.fields = []
        self.values = {}

    ############################################################################

    def data(self, index, role=QtCore.Qt.DisplayRole):

        if not index.isValid() or not (0 <= index.row() < len(self.fields)):
            return QVariant()


# Path: PyDvi/Tools/EnumFactory.py
# def EnumFactory(cls_name, constant_names):
# 
#     """ Return an :class:`EnumMetaClass` instance, where *cls_name* is the class name and
#     *constant_names* is an iterable of constant's names.
#     """
# 
#     dict_ = {}
#     dict_['_size'] = len(constant_names)
#     for index, name in enumerate(constant_names):
#         dict_[str(name)] = index
# 
#     return EnumMetaClass(cls_name, (), dict_)


# Path: PyDviGui/FontViewer/InfoTableModel.py
from PyQt4 import QtGui, QtCore
from PyQt4.QtCore import Qt, QVariant, QModelIndex
from PyDvi.Tools.EnumFactory import EnumFactory

####################################################################################################


####################################################################################################

columns_enum = EnumFactory('ColumnsEnum',
                           ('field',
                            'value',
                            ))

####################################################################################################

class InfoTableModel(QtCore.QAbstractTableModel):

    ############################################################################

    def __init__(self):

        super(InfoTableModel, self).__init__()

        self.fields = []
        self.values = {}

    ############################################################################

    def data(self, index, role=QtCore.Qt.DisplayRole):

        if not index.isValid() or not (0 <= index.row() < len(self.fields)):
            return QVariant()


        if role == Qt.DisplayRole: