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_display = str
|
||||||
to_value = str
|
to_value = str
|
||||||
|
|
||||||
def __init__(self, header, field_name, image_field_name=None):
|
def __init__(self, header, field_name):
|
||||||
self.header = header
|
self.header = header
|
||||||
self.field_name = field_name
|
self.field_name = field_name
|
||||||
self.image_field_name=image_field_name
|
|
||||||
|
|
||||||
def data(self, glyph_data, role):
|
def data(self, glyph_data, role):
|
||||||
if role in [Qt.DisplayRole, Qt.EditRole]:
|
if role in [Qt.DisplayRole, Qt.EditRole]:
|
||||||
return self.to_display(getattr(glyph_data, self.field_name))
|
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):
|
def setData(self, glyph_data, value, role):
|
||||||
if role == Qt.EditRole:
|
if role == Qt.EditRole:
|
||||||
|
|
@ -57,6 +54,14 @@ class Column(object):
|
||||||
return getattr(glyph_data, self.field_name)
|
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):
|
class IntColumn(Column):
|
||||||
to_display = int
|
to_display = int
|
||||||
to_value = int
|
to_value = int
|
||||||
|
|
@ -93,7 +98,7 @@ class ColorColumn(Column):
|
||||||
|
|
||||||
class GlyphDBModel(QAbstractTableModel):
|
class GlyphDBModel(QAbstractTableModel):
|
||||||
COLUMNS = [
|
COLUMNS = [
|
||||||
Column('Text', 'text', 'image'),
|
TextColumn('Text', 'text'),
|
||||||
IntColumn('Elevation', 'elevation'),
|
IntColumn('Elevation', 'elevation'),
|
||||||
CheckBoxColumn('B', 'bold'),
|
CheckBoxColumn('B', 'bold'),
|
||||||
CheckBoxColumn('I', 'italic'),
|
CheckBoxColumn('I', 'italic'),
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue