414 break |
414 break |
415 self.previous_log_count[level] = count |
415 self.previous_log_count[level] = count |
416 new_messages.sort() |
416 new_messages.sort() |
417 if len(new_messages) > 0: |
417 if len(new_messages) > 0: |
418 self.HasNewData = True |
418 self.HasNewData = True |
419 old_length = len(self.LogMessages) |
419 if self.CurrentMessage is not None: |
|
420 current_is_last = self.GetNextMessage(self.CurrentMessage)[0] is None |
|
421 else: |
|
422 current_is_last = True |
420 for new_message in new_messages: |
423 for new_message in new_messages: |
421 self.LogMessages.append(new_message) |
424 self.LogMessages.append(new_message) |
422 self.LogMessagesTimestamp = numpy.append(self.LogMessagesTimestamp, [new_message.Timestamp]) |
425 self.LogMessagesTimestamp = numpy.append(self.LogMessagesTimestamp, [new_message.Timestamp]) |
423 if self.CurrentMessage is None or self.CurrentMessage == old_length - 1: |
426 if current_is_last: |
424 self.CurrentMessage = len(self.LogMessages) - 1 |
427 self.ScrollToLast(False) |
425 self.ResetMessageToolTip() |
428 self.ResetMessageToolTip() |
426 self.MessageToolTipTimer.Stop() |
429 self.MessageToolTipTimer.Stop() |
427 self.ParentWindow.SelectTab(self) |
430 self.ParentWindow.SelectTab(self) |
428 self.NewDataAvailable(None) |
431 self.NewDataAvailable(None) |
429 |
432 |
755 else: |
758 else: |
756 self.LastStartTime = current_time |
759 self.LastStartTime = current_time |
757 self.ScrollTimer.Start(int(period * 1000), True) |
760 self.ScrollTimer.Start(int(period * 1000), True) |
758 self.ScrollSpeed = speed |
761 self.ScrollSpeed = speed |
759 |
762 |
760 def ScrollToLast(self): |
763 def ScrollToLast(self, refresh=True): |
761 if len(self.LogMessages) > 0: |
764 if len(self.LogMessages) > 0: |
762 self.CurrentMessage = len(self.LogMessages) - 1 |
765 self.CurrentMessage = len(self.LogMessages) - 1 |
763 message = self.LogMessages[self.CurrentMessage] |
766 message = self.LogMessages[self.CurrentMessage] |
764 if not self.FilterLogMessage(message): |
767 if not self.FilterLogMessage(message): |
765 message, self.CurrentMessage = self.GetPreviousMessage(self.CurrentMessage) |
768 message, self.CurrentMessage = self.GetPreviousMessage(self.CurrentMessage) |
766 self.RefreshView() |
769 if refresh: |
|
770 self.RefreshView() |
767 |
771 |
768 def ScrollToFirst(self): |
772 def ScrollToFirst(self): |
769 if len(self.LogMessages) > 0: |
773 if len(self.LogMessages) > 0: |
770 message_idx = 0 |
774 message_idx = 0 |
771 message = self.LogMessages[message_idx] |
775 message = self.LogMessages[message_idx] |