equal
deleted
inserted
replaced
159 def ShowMessage(self, message): |
159 def ShowMessage(self, message): |
160 """ |
160 """ |
161 Show error message in Error Dialog |
161 Show error message in Error Dialog |
162 @param message: Error message to display |
162 @param message: Error message to display |
163 """ |
163 """ |
164 dialog = wx.MessageDialog(self.ParentWindow, message, _("Error"), wx.OK|wx.ICON_ERROR) |
164 dialog = wx.MessageDialog(self.ParentWindow, |
|
165 message, |
|
166 _("Error"), |
|
167 wx.OK|wx.ICON_ERROR) |
165 dialog.ShowModal() |
168 dialog.ShowModal() |
166 dialog.Destroy() |
169 dialog.Destroy() |
167 |
170 |
168 |
171 |
169 #------------------------------------------------------------------------------- |
172 #------------------------------------------------------------------------------- |
335 @param tick: PLC tick captured |
338 @param tick: PLC tick captured |
336 All other parameters are passed to refresh function |
339 All other parameters are passed to refresh function |
337 """ |
340 """ |
338 # If tick given |
341 # If tick given |
339 if tick is not None: |
342 if tick is not None: |
|
343 self.HasNewData = True |
340 |
344 |
341 # Save tick as start tick for range if data is still empty |
345 # Save tick as start tick for range if data is still empty |
342 if len(self.Ticks) == 0: |
346 if len(self.Ticks) == 0: |
343 self.StartTick = tick |
347 self.StartTick = tick |
344 |
348 |
363 """ |
367 """ |
364 self.Force = True |
368 self.Force = True |
365 wx.CallAfter(self.NewDataAvailable, None, True) |
369 wx.CallAfter(self.NewDataAvailable, None, True) |
366 |
370 |
367 def SetCursorTick(self, cursor_tick): |
371 def SetCursorTick(self, cursor_tick): |
|
372 """ |
|
373 Set Cursor for displaying values of items at a tick given |
|
374 @param cursor_tick: Tick of cursor |
|
375 """ |
|
376 # Save cursor tick |
368 self.CursorTick = cursor_tick |
377 self.CursorTick = cursor_tick |
369 self.Fixed = cursor_tick is not None |
378 self.Fixed = cursor_tick is not None |
370 self.UpdateCursorTick() |
379 self.UpdateCursorTick() |
371 |
380 |
372 def MoveCursorTick(self, move): |
381 def MoveCursorTick(self, move): |
387 self.RefreshCanvasPosition() |
396 self.RefreshCanvasPosition() |
388 self.UpdateCursorTick() |
397 self.UpdateCursorTick() |
389 |
398 |
390 def ResetCursorTick(self): |
399 def ResetCursorTick(self): |
391 self.CursorTick = None |
400 self.CursorTick = None |
|
401 self.Fixed = False |
392 self.UpdateCursorTick() |
402 self.UpdateCursorTick() |
393 |
403 |
394 def UpdateCursorTick(self): |
404 def UpdateCursorTick(self): |
395 for panel in self.GraphicPanels: |
405 for panel in self.GraphicPanels: |
396 if isinstance(panel, DebugVariableGraphicViewer): |
406 if isinstance(panel, DebugVariableGraphicViewer): |
647 event.Skip() |
657 event.Skip() |
648 |
658 |
649 def OnCurrentButton(self, event): |
659 def OnCurrentButton(self, event): |
650 if len(self.Ticks) > 0: |
660 if len(self.Ticks) > 0: |
651 self.StartTick = max(self.Ticks[0], self.Ticks[-1] - self.CurrentRange) |
661 self.StartTick = max(self.Ticks[0], self.Ticks[-1] - self.CurrentRange) |
652 self.Fixed = False |
|
653 self.ResetCursorTick() |
662 self.ResetCursorTick() |
654 event.Skip() |
663 event.Skip() |
655 |
664 |
656 def CopyDataToClipboard(self, variables): |
665 def CopyDataToClipboard(self, variables): |
657 text = "tick;%s;\n" % ";".join([item.GetVariable() for item, data in variables]) |
666 text = "tick;%s;\n" % ";".join([item.GetVariable() for item, data in variables]) |
878 if source_panel.ItemsIsEmpty(): |
887 if source_panel.ItemsIsEmpty(): |
879 source_panel.Destroy() |
888 source_panel.Destroy() |
880 self.GraphicPanels.remove(source_panel) |
889 self.GraphicPanels.remove(source_panel) |
881 self.ResetVariableNameMask() |
890 self.ResetVariableNameMask() |
882 self.RefreshGraphicsSizer() |
891 self.RefreshGraphicsSizer() |
|
892 if len(self.GraphicPanels) == 0: |
|
893 self.Fixed = False |
|
894 self.ResetCursorTick() |
883 self.ForceRefresh() |
895 self.ForceRefresh() |
884 |
896 |
885 def ToggleViewerType(self, panel): |
897 def ToggleViewerType(self, panel): |
886 panel_idx = self.GetViewerIndex(panel) |
898 panel_idx = self.GetViewerIndex(panel) |
887 if panel_idx is not None: |
899 if panel_idx is not None: |
899 self.ForceRefresh() |
911 self.ForceRefresh() |
900 |
912 |
901 def ResetGraphicsValues(self): |
913 def ResetGraphicsValues(self): |
902 self.Ticks = numpy.array([]) |
914 self.Ticks = numpy.array([]) |
903 self.StartTick = 0 |
915 self.StartTick = 0 |
904 self.Fixed = False |
|
905 for panel in self.GraphicPanels: |
916 for panel in self.GraphicPanels: |
906 panel.ResetItemsData() |
917 panel.ResetItemsData() |
907 self.ResetCursorTick() |
918 self.ResetCursorTick() |
908 |
919 |
909 def RefreshGraphicsWindowScrollbars(self): |
920 def RefreshGraphicsWindowScrollbars(self): |