controls/DebugVariablePanel.py
changeset 1008 1e5d285864f6
parent 988 30e7571c10d0
child 1040 af8a1aee3584
equal deleted inserted replaced
1007:025ac12cd0d2 1008:1e5d285864f6
   303     def __del__(self):
   303     def __del__(self):
   304         self.ParentWindow = None
   304         self.ParentWindow = None
   305         self.ParentControl = None
   305         self.ParentControl = None
   306     
   306     
   307     def OnDragOver(self, x, y, d):
   307     def OnDragOver(self, x, y, d):
   308         if self.ParentControl is not None:
   308         if not isinstance(self.ParentControl, CustomGrid):
   309             self.ParentControl.OnMouseDragging(x, y)
   309             if self.ParentControl is not None:
   310         else:
   310                 self.ParentControl.OnMouseDragging(x, y)
   311             self.ParentWindow.RefreshHighlight(x, y)
   311             else:
       
   312                 self.ParentWindow.RefreshHighlight(x, y)
   312         return wx.TextDropTarget.OnDragOver(self, x, y, d)
   313         return wx.TextDropTarget.OnDragOver(self, x, y, d)
   313         
   314         
   314     def OnDropText(self, x, y, data):
   315     def OnDropText(self, x, y, data):
   315         message = None
   316         message = None
   316         try:
   317         try:
   370                 self.ParentWindow.MoveValue(values[0])
   371                 self.ParentWindow.MoveValue(values[0])
   371             else:
   372             else:
   372                 self.ParentWindow.InsertValue(values[0], force=True)
   373                 self.ParentWindow.InsertValue(values[0], force=True)
   373     
   374     
   374     def OnLeave(self):
   375     def OnLeave(self):
   375         self.ParentWindow.ResetHighlight()
   376         if not isinstance(self.ParentControl, CustomGrid):
       
   377             self.ParentWindow.ResetHighlight()
   376         return wx.TextDropTarget.OnLeave(self)
   378         return wx.TextDropTarget.OnLeave(self)
   377     
   379     
   378     def ShowMessage(self, message):
   380     def ShowMessage(self, message):
   379         dialog = wx.MessageDialog(self.ParentWindow, message, _("Error"), wx.OK|wx.ICON_ERROR)
   381         dialog = wx.MessageDialog(self.ParentWindow, message, _("Error"), wx.OK|wx.ICON_ERROR)
   380         dialog.ShowModal()
   382         dialog.ShowModal()
  1430     
  1432     
  1431 class DebugVariablePanel(wx.Panel, DebugViewer):
  1433 class DebugVariablePanel(wx.Panel, DebugViewer):
  1432     
  1434     
  1433     def __init__(self, parent, producer, window):
  1435     def __init__(self, parent, producer, window):
  1434         wx.Panel.__init__(self, parent, style=wx.SP_3D|wx.TAB_TRAVERSAL)
  1436         wx.Panel.__init__(self, parent, style=wx.SP_3D|wx.TAB_TRAVERSAL)
  1435         self.SetBackgroundColour(wx.WHITE)
       
  1436         
  1437         
  1437         self.ParentWindow = window
  1438         self.ParentWindow = window
  1438         
  1439         
  1439         DebugViewer.__init__(self, producer, True)
  1440         DebugViewer.__init__(self, producer, True)
  1440         
  1441         
  1441         self.HasNewData = False
  1442         self.HasNewData = False
       
  1443         self.Force = False
  1442         
  1444         
  1443         if USE_MPL:
  1445         if USE_MPL:
       
  1446             self.SetBackgroundColour(wx.WHITE)
       
  1447             
  1444             main_sizer = wx.BoxSizer(wx.VERTICAL)
  1448             main_sizer = wx.BoxSizer(wx.VERTICAL)
  1445             
  1449             
  1446             self.Ticks = numpy.array([])
  1450             self.Ticks = numpy.array([])
  1447             self.RangeValues = None
  1451             self.RangeValues = None
  1448             self.StartTick = 0
  1452             self.StartTick = 0
  1449             self.Fixed = False
  1453             self.Fixed = False
  1450             self.Force = False
       
  1451             self.CursorTick = None
  1454             self.CursorTick = None
  1452             self.DraggingAxesPanel = None
  1455             self.DraggingAxesPanel = None
  1453             self.DraggingAxesBoundingBox = None
  1456             self.DraggingAxesBoundingBox = None
  1454             self.DraggingAxesMousePos = None
  1457             self.DraggingAxesMousePos = None
  1455             self.VariableNameMask = []
  1458             self.VariableNameMask = []
  2108                     self.GraphicPanels.insert(idx, panel)
  2111                     self.GraphicPanels.insert(idx, panel)
  2109                 else:
  2112                 else:
  2110                     self.GraphicPanels.append(panel)
  2113                     self.GraphicPanels.append(panel)
  2111                 self.ResetVariableNameMask()
  2114                 self.ResetVariableNameMask()
  2112                 self.RefreshGraphicsSizer()
  2115                 self.RefreshGraphicsSizer()
       
  2116                 self.ForceRefresh()
  2113             else:
  2117             else:
  2114                 self.Table.InsertItem(idx, item)
  2118                 self.Table.InsertItem(idx, item)
  2115             
  2119                 self.RefreshView()
  2116             self.ForceRefresh()
       
  2117     
  2120     
  2118     def MoveValue(self, iec_path, idx = None):
  2121     def MoveValue(self, iec_path, idx = None):
  2119         if idx is None:
  2122         if idx is None:
  2120             idx = len(self.GraphicPanels)
  2123             idx = len(self.GraphicPanels)
  2121         source_panel = None
  2124         source_panel = None