def initMessageArea(self):
"""Initialize the message log area.
"""
# font for messages
msgFont = wx.Font(pointSize=11, family=wx.FONTFAMILY_MODERN,
style=wx.FONTSTYLE_NORMAL, weight=wx.FONTWEIGHT_NORMAL,
underline=False)
# font for CEBL introduction message
helloFont = wx.Font(pointSize=24, family=wx.FONTFAMILY_ROMAN,
style=wx.FONTSTYLE_NORMAL, weight=wx.FONTWEIGHT_BOLD, underline=True)
# the message log
messageControlBox = widgets.ControlBox(self.scrolledPanel,
label='Message Log', orient=wx.VERTICAL)
self.messageArea = wx.TextCtrl(self.scrolledPanel,
style=wx.TE_MULTILINE | wx.TE_READONLY | wx.TE_RICH)
self.messageArea.SetMinSize((150,150))
messageControlBox.Add(self.messageArea, proportion=1, flag=wx.ALL | wx.EXPAND, border=10)
# intro message
self.messageArea.SetDefaultStyle(
#wx.TextAttr(colText=wx.Colour('black'), font=helloFont)) # wxpython3
wx.TextAttr(font=helloFont))
self.messageArea.AppendText('Welcome to CEBL!\n\n')
# setup message style
self.messageArea.SetDefaultStyle(wx.TextAttr())
#self.messageArea.SetDefaultStyle(wx.TextAttr(colText=wx.Colour('black'), font=msgFont)) # wxpython3
self.messageArea.SetDefaultStyle(wx.TextAttr(font=msgFont))
# add the message area text ctrl widget as a log target
self.mgr.logger.addTextCtrl(self.messageArea)
messageControlSizer = wx.BoxSizer(orient=wx.HORIZONTAL)
# button for saving the message log to a file
self.saveMessagesButton = wx.Button(self.scrolledPanel, label='Save')
messageControlSizer.Add(self.saveMessagesButton, proportion=0,
flag=wx.LEFT | wx.BOTTOM | wx.RIGHT, border=10)
self.Bind(wx.EVT_BUTTON, self.saveMessages, self.saveMessagesButton)
# button for clearing the message log
self.clearMessagesButton = wx.Button(self.scrolledPanel, label='Clear')
messageControlSizer.Add(self.clearMessagesButton, proportion=0,
flag=wx.BOTTOM | wx.RIGHT, border=10)
self.Bind(wx.EVT_BUTTON, self.clearMessages, self.clearMessagesButton)
# set up verbose logging
self.verboseMessagesCheckBox = wx.CheckBox(self.scrolledPanel, label='Verbose')
messageControlSizer.Add(self.verboseMessagesCheckBox, proportion=0,
flag=wx.BOTTOM | wx.RIGHT, border=10)
messageControlBox.Add(messageControlSizer, proportion=0, flag=wx.EXPAND)
# sizer for message log area
self.messageSizer = wx.BoxSizer(orient=wx.VERTICAL)
self.messageSizer.Add(messageControlBox, proportion=1,
flag=wx.ALL | wx.EXPAND, border=10)
评论列表
文章目录