1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
|
import pyqtgraph as pg
pg.mkQApp()
def test_legend_item_basics():
legend = pg.LegendItem()
assert legend.opts['pen'] == pg.mkPen(None)
assert legend.opts['brush'] == pg.mkBrush(None)
assert legend.opts['labelTextColor'] is None
assert legend.opts['labelTextSize'] == '9pt'
assert legend.opts['offset'] is None
assert legend.columnCount == 1
assert legend.rowCount == 1
assert legend.labelTextColor() is None
assert legend.labelTextSize() == '9pt'
assert legend.brush() == pg.mkBrush(None)
assert legend.pen() == pg.mkPen(None)
assert legend.sampleType is pg.ItemSample
# Set brush
# ----------------------------------------------------
brush = pg.mkBrush('b')
legend.setBrush(brush)
assert legend.brush() == brush
assert legend.opts['brush'] == brush
# Set pen
# ----------------------------------------------------
pen = pg.mkPen('b')
legend.setPen(pen)
assert legend.pen() == pen
assert legend.opts['pen'] == pen
# Set labelTextColor
# ----------------------------------------------------
text_color = pg.mkColor('b')
legend.setLabelTextColor(text_color)
assert legend.labelTextColor() == text_color
assert legend.opts['labelTextColor'] == text_color
# Set labelTextSize
# ----------------------------------------------------
text_size = '12pt'
legend.setLabelTextSize(text_size)
assert legend.labelTextSize() == text_size
assert legend.opts['labelTextSize'] == text_size
# Add items
# ----------------------------------------------------
assert len(legend.items) == 0
plot = pg.PlotDataItem(name="Plot")
legend.addItem(plot, name="Plot")
assert len(legend.items) == 1
scatter = pg.PlotDataItem(name="Scatter")
legend.addItem(scatter, name="Scatter")
assert len(legend.items) == 2
assert legend.columnCount == 1
assert legend.rowCount == 2
curve = pg.PlotDataItem(name="Curve")
legend.addItem(curve, name="Curve")
assert len(legend.items) == 3
assert legend.rowCount == 3
scrabble = pg.PlotDataItem(name="Scrabble")
legend.addItem(scrabble, name="Scrabble")
assert len(legend.items) == 4
assert legend.layout.rowCount() == 4
assert legend.rowCount == 4
legend.setColumnCount(2)
assert legend.columnCount == 2
assert legend.rowCount == 2
assert legend.layout.rowCount() == 2
# Remove items
# ----------------------------------------------------
legend.removeItem(scrabble)
assert legend.rowCount == 2
assert legend.layout.rowCount() == 2
assert scrabble not in legend.items
assert len(legend.items) == 3
legend.removeItem(curve)
assert legend.rowCount == 2 # rowCount will never decrease when removing
assert legend.layout.rowCount() == 1
assert curve not in legend.items
assert len(legend.items) == 2
legend.clear()
assert legend.items == []
|