From 13d0ade02142db3df44e36a3ea2d20d6fc65e425 Mon Sep 17 00:00:00 2001 From: Andrey Golovizin Date: Fri, 19 Sep 2014 23:08:18 +0200 Subject: [PATCH] Add glyphdbedit.TextColumn. --- pixelocr/gui/glyphdbedit.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/pixelocr/gui/glyphdbedit.py b/pixelocr/gui/glyphdbedit.py index 9200bbf..d41fa27 100644 --- a/pixelocr/gui/glyphdbedit.py +++ b/pixelocr/gui/glyphdbedit.py @@ -38,16 +38,13 @@ class Column(object): to_display = str to_value = str - def __init__(self, header, field_name, image_field_name=None): + def __init__(self, header, field_name): self.header = header self.field_name = field_name - self.image_field_name=image_field_name def data(self, glyph_data, role): if role in [Qt.DisplayRole, Qt.EditRole]: return self.to_display(getattr(glyph_data, self.field_name)) - elif role == Qt.DecorationRole and self.image_field_name: - return getattr(glyph_data, self.image_field_name).qimage def setData(self, glyph_data, value, role): if role == Qt.EditRole: @@ -57,6 +54,14 @@ class Column(object): return getattr(glyph_data, self.field_name) +class TextColumn(Column): + def data(self, glyph_data, role): + if role == Qt.DecorationRole: + return glyph_data.image.qimage + else: + return super().data(glyph_data, role) + + class IntColumn(Column): to_display = int to_value = int @@ -93,7 +98,7 @@ class ColorColumn(Column): class GlyphDBModel(QAbstractTableModel): COLUMNS = [ - Column('Text', 'text', 'image'), + TextColumn('Text', 'text'), IntColumn('Elevation', 'elevation'), CheckBoxColumn('B', 'bold'), CheckBoxColumn('I', 'italic'),