view sandbox/wx-dc.py @ 746:e83572fff43f
Roll-back a bug introduces by dirty hand-merge in [723]. (closes #74) (see #76)
Boris! Please do not do dirty hand merges! If you did hg fetch here, this bug
would not appear! Please, be extremely careful when you do hand merges and
double-check your changes. Do a diff with each parent and see what you remove
related to the parent! If someone else's code is involved in the merge (which
is almost always the case), do that diff twice just to make sure you have not
missed anything!
author |
Daniil Alexeyevsky <dendik@kodomo.fbb.msu.ru> |
date |
Mon, 11 Jul 2011 14:29:54 +0400 |
parents |
|
children |
61e5d8e146c7 |
line source
7 class Text(bufferedcanvas.BufferedCanvas):
9 def __init__(self, seqs, *args, **kw):
11 self.font = wx.FFont(12, wx.FONTFAMILY_MODERN)
12 bufferedcanvas.BufferedCanvas.__init__(self, *args, **kw)
14 dc = wx.ClientDC(self)
16 w = (len(seqs[0][1])+1) * dc.GetCharWidth()
17 h = (len(seqs)+1) * (dc.GetCharHeight() + 1)
19 self.SetVirtualSize(self.size)
21 self.Bind(wx.EVT_SCROLL, self.onPaint)
26 dc.SetBackground(wx.Brush("White"))
31 h = dc.GetCharHeight()
32 for i, (name, body, ids, colors) in enumerate(self.seqs):
33 for j in xrange(len(body)):
36 dc.SetBrush(wx.Brush(colors[j]))
37 dc.SetPen(wx.Pen(colors[j]))
38 dc.DrawRectangle(x, y, x + w, y + h)
39 dc.SetPen(wx.Pen("Black"))
40 dc.DrawText(body[j], x, y)
42 if hasattr(self, 'size'):
43 self.SetVirtualSize(self.size)
45 seqs = common.autoload('data/small.fasta')
48 top = wx.Frame(None, title='Example', size=(500, 500))
49 text = Text(seqs, top)