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 |