def __init__(self, parent): ProgressStatusBar.__init__(self, parent, style=wx.ST_SIZEGRIP) # Attributes self._pid = parent.GetId() # Save parents id for filtering msgs self._widths = list() self._cleanup_timer = wx.Timer(self, EdStatBar.ID_CLEANUP_TIMER) self._eolmenu = wx.Menu() # Setup self.SetFieldsCount(6) # Info, vi stuff, line/progress self.SetStatusWidths([-1, 90, 40, 40, 40, 155]) self._eolmenu.Append(ed_glob.ID_EOL_MAC, u"CR", _("Change line endings to %s") % u"CR") self._eolmenu.Append(ed_glob.ID_EOL_WIN, u"CRLF", _("Change line endings to %s") % u"CRLF") self._eolmenu.Append(ed_glob.ID_EOL_UNIX, u"LF", _("Change line endings to %s") % u"LF") # Event Handlers self.Bind(wx.EVT_LEFT_DCLICK, self.OnLeftDClick) self.Bind(wx.EVT_LEFT_UP, self.OnLeftUp) self.Bind(wx.EVT_TIMER, self.OnExpireMessage, id=EdStatBar.ID_CLEANUP_TIMER) # Messages ed_msg.Subscribe(self.OnProgress, ed_msg.EDMSG_PROGRESS_SHOW) ed_msg.Subscribe(self.OnProgress, ed_msg.EDMSG_PROGRESS_STATE) ed_msg.Subscribe(self.OnUpdateText, ed_msg.EDMSG_UI_SB_TXT) ed_msg.Subscribe(self.OnUpdateDoc, ed_msg.EDMSG_UI_NB_CHANGED) ed_msg.Subscribe(self.OnUpdateDoc, ed_msg.EDMSG_FILE_SAVED) ed_msg.Subscribe(self.OnUpdateDoc, ed_msg.EDMSG_FILE_OPENED) ed_msg.Subscribe(self.OnUpdateDoc, ed_msg.EDMSG_UI_STC_LEXER)
def __init__(self, parent): ProgressStatusBar.__init__(self, parent, style=wx.ST_SIZEGRIP) # Attributes self._pid = parent.GetId() # Save parents id for filtering msgs self._widths = list() self._cleanup_timer = wx.Timer(self, EdStatBar.ID_CLEANUP_TIMER) self._eolmenu = wx.Menu() # Setup self.SetFieldsCount(6) # Info, vi stuff, line/progress self.SetStatusWidths([-1, 90, 40, 40, 40, 155]) self._eolmenu.Append(ed_glob.ID_EOL_MAC, u"CR", _("Change line endings to %s") % u"CR") self._eolmenu.Append(ed_glob.ID_EOL_WIN, u"CRLF", _("Change line endings to %s") % u"CRLF") self._eolmenu.Append(ed_glob.ID_EOL_UNIX, u"LF", _("Change line endings to %s") % u"LF") # Event Handlers self.Bind(wx.EVT_LEFT_DCLICK, self.OnLeftDClick) self.Bind(wx.EVT_LEFT_UP, self.OnLeftUp) self.Bind(wx.EVT_TIMER, self.OnExpireMessage, id=EdStatBar.ID_CLEANUP_TIMER) # Messages ed_msg.Subscribe(self.OnProgress, ed_msg.EDMSG_PROGRESS_SHOW) ed_msg.Subscribe(self.OnProgress, ed_msg.EDMSG_PROGRESS_STATE) ed_msg.Subscribe(self.OnUpdateText, ed_msg.EDMSG_UI_SB_TXT) ed_msg.Subscribe(self.OnUpdateDoc, ed_msg.EDMSG_UI_NB_CHANGED) ed_msg.Subscribe(self.OnUpdateDoc, ed_msg.EDMSG_FILE_SAVED) ed_msg.Subscribe(self.OnUpdateDoc, ed_msg.EDMSG_UI_STC_LEXER)
def __init__(self, parent): ProgressStatusBar.__init__(self, parent, style=wx.ST_SIZEGRIP) # Setup self._pid = parent.GetId() # Save parents id for filtering msgs self._widths = list() self.SetFieldsCount(6) # Info, vi stuff, line/progress self.SetStatusWidths([-1, 90, 40, 40, 40, 155]) self._cleanup_timer = wx.Timer(self, EdStatBar.ID_CLEANUP_TIMER) # Event Handlers self.Bind(wx.EVT_LEFT_DCLICK, self.OnLeftDClick) self.Bind(wx.EVT_TIMER, self.OnExpireMessage, id=EdStatBar.ID_CLEANUP_TIMER) # Messages ed_msg.Subscribe(self.OnProgress, ed_msg.EDMSG_PROGRESS_SHOW) ed_msg.Subscribe(self.OnProgress, ed_msg.EDMSG_PROGRESS_STATE) ed_msg.Subscribe(self.OnUpdateText, ed_msg.EDMSG_UI_SB_TXT) ed_msg.Subscribe(self.OnUpdateDoc, ed_msg.EDMSG_UI_NB_CHANGED) ed_msg.Subscribe(self.OnUpdateDoc, ed_msg.EDMSG_FILE_SAVED) ed_msg.Subscribe(self.OnUpdateDoc, ed_msg.EDMSG_UI_STC_LEXER) # ed_msg.Subscribe(self.OnProgress, ed_msg.EDMSG_FILE_OPENING) ed_msg.Subscribe(self.OnUpdateDoc, ed_msg.EDMSG_FILE_OPENED)
def __init__(self, parent): ProgressStatusBar.__init__(self, parent, style=wx.ST_SIZEGRIP) # Setup self._pid = parent.GetId() # Save parents id for filtering msgs self._widths = list() self.SetFieldsCount(6) # Info, vi stuff, line/progress self.SetStatusWidths([-1, 90, 40, 40, 40, 155]) self._cleanup_timer = wx.Timer(self, EdStatBar.ID_CLEANUP_TIMER) # Event Handlers self.Bind(wx.EVT_LEFT_DCLICK, self.OnLeftDClick) self.Bind(wx.EVT_TIMER, self.OnExpireMessage, id=EdStatBar.ID_CLEANUP_TIMER) # Messages ed_msg.Subscribe(self.OnProgress, ed_msg.EDMSG_PROGRESS_SHOW) ed_msg.Subscribe(self.OnProgress, ed_msg.EDMSG_PROGRESS_STATE) ed_msg.Subscribe(self.OnUpdateText, ed_msg.EDMSG_UI_SB_TXT) ed_msg.Subscribe(self.OnUpdateDoc, ed_msg.EDMSG_UI_NB_CHANGED) ed_msg.Subscribe(self.OnUpdateDoc, ed_msg.EDMSG_FILE_SAVED) ed_msg.Subscribe(self.OnUpdateDoc, ed_msg.EDMSG_UI_STC_LEXER)
def __SetStatusText(self, txt, field): """Safe method to use for setting status text with CallAfter. @param txt: string @param field: int """ try: ProgressStatusBar.SetStatusText(self, txt, field) self.AdjustFieldWidths() if field == ed_glob.SB_INFO: # Start the expiration countdown if self._cleanup_timer.IsRunning(): self._cleanup_timer.Stop() self._cleanup_timer.Start(10000, True) except wx.PyDeadObjectError: pass
def __del__(self): """Unsubscribe from messages""" ed_msg.Unsubscribe(self.OnProgress) ed_msg.Unsubscribe(self.OnUpdateText) ed_msg.Unsubscribe(self.OnUpdateDoc) ProgressStatusBar.__del__(self)