controls/DebugVariablePanel.py
changeset 892 771581a6b0be
parent 888 baf5dbfd28f4
child 895 f5a28011d551
equal deleted inserted replaced
891:39f355a535d8 892:771581a6b0be
   106         if self.Forced != forced:
   106         if self.Forced != forced:
   107             self.Forced = forced
   107             self.Forced = forced
   108             self.Parent.HasNewData = True
   108             self.Parent.HasNewData = True
   109     
   109     
   110     def SetValue(self, value):
   110     def SetValue(self, value):
       
   111         if (self.VariableType == "STRING" and value.startswith("'") and value.endswith("'") or
       
   112             self.VariableType == "WSTRING" and value.startswith('"') and value.endswith('"')):
       
   113             value = value[1:-1]
   111         if self.Value != value:
   114         if self.Value != value:
   112             self.Value = value
   115             self.Value = value
   113             self.Parent.HasNewData = True
   116             self.Parent.HasNewData = True
   114             
   117             
   115     def GetValue(self):
   118     def GetValue(self):
   276         
   279         
   277         self.VariablesGrid = CustomGrid(self.MainPanel, size=wx.Size(-1, 150), style=wx.VSCROLL)
   280         self.VariablesGrid = CustomGrid(self.MainPanel, size=wx.Size(-1, 150), style=wx.VSCROLL)
   278         self.VariablesGrid.SetDropTarget(DebugVariableDropTarget(self))
   281         self.VariablesGrid.SetDropTarget(DebugVariableDropTarget(self))
   279         self.VariablesGrid.Bind(wx.grid.EVT_GRID_CELL_RIGHT_CLICK, 
   282         self.VariablesGrid.Bind(wx.grid.EVT_GRID_CELL_RIGHT_CLICK, 
   280               self.OnVariablesGridCellRightClick)
   283               self.OnVariablesGridCellRightClick)
       
   284         self.VariablesGrid.Bind(wx.grid.EVT_GRID_CELL_LEFT_CLICK, 
       
   285               self.OnVariablesGridCellLeftClick)
   281         self.VariablesGrid.Bind(wx.grid.EVT_GRID_CELL_CHANGE, 
   286         self.VariablesGrid.Bind(wx.grid.EVT_GRID_CELL_CHANGE, 
   282               self.OnVariablesGridCellChange)
   287               self.OnVariablesGridCellChange)
   283         main_panel_sizer.AddWindow(self.VariablesGrid, flag=wx.GROW)
   288         main_panel_sizer.AddWindow(self.VariablesGrid, flag=wx.GROW)
   284         
   289         
   285         self.MainPanel.SetSizer(main_panel_sizer)
   290         self.MainPanel.SetSizer(main_panel_sizer)
   354             self.Graphics3DAxes = self.Graphics3DFigure.gca(projection='3d')
   359             self.Graphics3DAxes = self.Graphics3DFigure.gca(projection='3d')
   355             self.Graphics3DAxes.set_color_cycle(['b'])
   360             self.Graphics3DAxes.set_color_cycle(['b'])
   356             setattr(self.Graphics3DAxes, "_on_move", self.OnGraphics3DMotion)
   361             setattr(self.Graphics3DAxes, "_on_move", self.OnGraphics3DMotion)
   357             
   362             
   358             self.Graphics3DCanvas = FigureCanvas(self.GraphicsPanel, -1, self.Graphics3DFigure)
   363             self.Graphics3DCanvas = FigureCanvas(self.GraphicsPanel, -1, self.Graphics3DFigure)
   359             self.Graphics3DCanvas.SetMinSize(wx.Size(0, 0))
   364             self.Graphics3DCanvas.SetMinSize(wx.Size(1, 1))
   360             graphics_panel_sizer.AddWindow(self.Graphics3DCanvas, 1, flag=wx.GROW)
   365             graphics_panel_sizer.AddWindow(self.Graphics3DCanvas, 1, flag=wx.GROW)
   361             
   366             
   362             self.Graphics3DAxes.mouse_init()
   367             self.Graphics3DAxes.mouse_init()
   363             
   368             
   364             self.GraphicsPanel.SetSizer(graphics_panel_sizer)
   369             self.GraphicsPanel.SetSizer(graphics_panel_sizer)
   447     def GetReleaseVariableMenuFunction(self, iec_path):
   452     def GetReleaseVariableMenuFunction(self, iec_path):
   448         def ReleaseVariableFunction(event):
   453         def ReleaseVariableFunction(event):
   449             self.ReleaseDataValue(iec_path)
   454             self.ReleaseDataValue(iec_path)
   450         return ReleaseVariableFunction
   455         return ReleaseVariableFunction
   451     
   456     
       
   457     def OnVariablesGridCellLeftClick(self, event):
       
   458         if event.GetCol() == 0:
       
   459             row = event.GetRow()
       
   460             data = wx.TextDataObject(str(self.Table.GetValueByName(row, "Variable")))
       
   461             dragSource = wx.DropSource(self.VariablesGrid)
       
   462             dragSource.SetData(data)
       
   463             dragSource.DoDragDrop()
       
   464         event.Skip()
       
   465     
   452     def OnVariablesGridCellRightClick(self, event):
   466     def OnVariablesGridCellRightClick(self, event):
   453         row, col = event.GetRow(), event.GetCol()
   467         row, col = event.GetRow(), event.GetCol()
   454         if self.Table.GetColLabelValue(col, False) == "Value":
   468         if self.Table.GetColLabelValue(col, False) == "Value":
   455             iec_path = self.Table.GetValueByName(row, "Variable").upper()
   469             iec_path = self.Table.GetValueByName(row, "Variable").upper()
   456 
   470