49 def __init__(self, parent, size): |
49 def __init__(self, parent, size): |
50 wx.Panel.__init__(self, parent, size=size) |
50 wx.Panel.__init__(self, parent, size=size) |
51 self.Bind(wx.EVT_LEFT_DOWN, self.OnLeftDown) |
51 self.Bind(wx.EVT_LEFT_DOWN, self.OnLeftDown) |
52 self.Bind(wx.EVT_LEFT_UP, self.OnLeftUp) |
52 self.Bind(wx.EVT_LEFT_UP, self.OnLeftUp) |
53 self.Bind(wx.EVT_MOTION, self.OnMotion) |
53 self.Bind(wx.EVT_MOTION, self.OnMotion) |
|
54 self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnEraseBackground) |
54 self.Bind(wx.EVT_PAINT, self.OnPaint) |
55 self.Bind(wx.EVT_PAINT, self.OnPaint) |
55 self.Bind(wx.EVT_SIZE, self.OnResize) |
56 self.Bind(wx.EVT_SIZE, self.OnResize) |
56 |
57 |
57 self.ThumbPosition = 0. # -1 <= ThumbPosition <= 1 |
58 self.ThumbPosition = 0. # -1 <= ThumbPosition <= 1 |
58 self.ThumbScrollingStartPos = None |
59 self.ThumbScrollingStartPos = None |
314 else: |
318 else: |
315 self.Font = wx.Font(12, wx.SWISS, wx.NORMAL, wx.NORMAL, faceName='Courier') |
319 self.Font = wx.Font(12, wx.SWISS, wx.NORMAL, wx.NORMAL, faceName='Courier') |
316 self.MessagePanel.Bind(wx.EVT_LEFT_UP, self.OnMessagePanelLeftUp) |
320 self.MessagePanel.Bind(wx.EVT_LEFT_UP, self.OnMessagePanelLeftUp) |
317 self.MessagePanel.Bind(wx.EVT_LEFT_DCLICK, self.OnMessagePanelLeftDCLick) |
321 self.MessagePanel.Bind(wx.EVT_LEFT_DCLICK, self.OnMessagePanelLeftDCLick) |
318 self.MessagePanel.Bind(wx.EVT_MOUSEWHEEL, self.OnMessagePanelMouseWheel) |
322 self.MessagePanel.Bind(wx.EVT_MOUSEWHEEL, self.OnMessagePanelMouseWheel) |
|
323 self.MessagePanel.Bind(wx.EVT_ERASE_BACKGROUND, self.OnMessagePanelEraseBackground) |
319 self.MessagePanel.Bind(wx.EVT_PAINT, self.OnMessagePanelPaint) |
324 self.MessagePanel.Bind(wx.EVT_PAINT, self.OnMessagePanelPaint) |
320 self.MessagePanel.Bind(wx.EVT_SIZE, self.OnMessagePanelResize) |
325 self.MessagePanel.Bind(wx.EVT_SIZE, self.OnMessagePanelResize) |
321 message_panel_sizer.AddWindow(self.MessagePanel, flag=wx.GROW) |
326 message_panel_sizer.AddWindow(self.MessagePanel, flag=wx.GROW) |
322 |
327 |
323 self.MessageScrollBar = LogScrollBar(self, wx.Size(16, -1)) |
328 self.MessageScrollBar = LogScrollBar(self, wx.Size(16, -1)) |
629 |
634 |
630 def OnMessagePanelMouseWheel(self, event): |
635 def OnMessagePanelMouseWheel(self, event): |
631 self.ScrollMessagePanel(event.GetWheelRotation() / event.GetWheelDelta()) |
636 self.ScrollMessagePanel(event.GetWheelRotation() / event.GetWheelDelta()) |
632 event.Skip() |
637 event.Skip() |
633 |
638 |
|
639 def OnMessagePanelEraseBackground(self, event): |
|
640 pass |
|
641 |
634 def OnMessagePanelPaint(self, event): |
642 def OnMessagePanelPaint(self, event): |
635 self.RefreshView() |
643 self.RefreshView() |
636 event.Skip() |
644 event.Skip() |
637 |
645 |
638 def OnMessagePanelResize(self, event): |
646 def OnMessagePanelResize(self, event): |