Add glyphdbedit.TextColumn.
This commit is contained in:
parent
f73c87a7ff
commit
13d0ade021
1 changed files with 10 additions and 5 deletions
|
|
@ -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'),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue