view sandbox/wx-dc.py @ 508:177f7ee1d3a1
geometrical-core: fix extra requirement
spt file need not be specified to specify pdb file
author |
boris (kodomo) <bnagaev@gmail.com> |
date |
Wed, 23 Feb 2011 19:11:40 +0300 |
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)