diff --git a/pixelocr/gui/glyphdbedit.py b/pixelocr/gui/glyphdbedit.py index 60d612b..be2aa15 100644 --- a/pixelocr/gui/glyphdbedit.py +++ b/pixelocr/gui/glyphdbedit.py @@ -25,6 +25,7 @@ from PyQt4.QtCore import ( from PyQt4.QtGui import ( QApplication, + QColor, QTableView, ) @@ -78,12 +79,25 @@ class CheckBoxColumn(Column): setattr(glyph_data, self.field_name, value == Qt.Checked) +class ColorColumn(Column): + flags = 0 + data_type = None + + def data(self, glyph_data, role): + r, g, b = getattr(glyph_data, self.field_name) + if role == Qt.DecorationRole: + return QColor(r, g, b) + elif role == Qt.DisplayRole: + return '#{:02x}{:02x}{:02x}'.format(r, g, b) + + class GlyphDBModel(QAbstractTableModel): COLUMNS = [ Column('Text', 'text', 'image'), IntColumn('Elevation', 'elevation'), CheckBoxColumn('Bold', 'bold'), CheckBoxColumn('Italic', 'italic'), + ColorColumn('Color', 'color'), DateColumn('Date added', 'date_added'), ]