88 MAX_ZOOMIN = 4 |
88 MAX_ZOOMIN = 4 |
89 else: |
89 else: |
90 MAX_ZOOMIN = 7 |
90 MAX_ZOOMIN = 7 |
91 ZOOM_FACTORS = [math.sqrt(2) ** x for x in xrange(-6, MAX_ZOOMIN)] |
91 ZOOM_FACTORS = [math.sqrt(2) ** x for x in xrange(-6, MAX_ZOOMIN)] |
92 |
92 |
|
93 |
|
94 WX_NO_LOGICAL = "gtk3" in wx.PlatformInfo |
93 |
95 |
94 def GetVariableCreationFunction(variable_type): |
96 def GetVariableCreationFunction(variable_type): |
95 def variableCreationFunction(viewer, id, specific_values): |
97 def variableCreationFunction(viewer, id, specific_values): |
96 return FBD_Variable(viewer, |
98 return FBD_Variable(viewer, |
97 variable_type, |
99 variable_type, |
831 |
833 |
832 def PrepareDC(self, dc): |
834 def PrepareDC(self, dc): |
833 dc.SetFont(self.GetFont()) |
835 dc.SetFont(self.GetFont()) |
834 self.Editor.DoPrepareDC(dc) |
836 self.Editor.DoPrepareDC(dc) |
835 dc.SetUserScale(self.ViewScale[0], self.ViewScale[1]) |
837 dc.SetUserScale(self.ViewScale[0], self.ViewScale[1]) |
|
838 if WX_NO_LOGICAL: |
|
839 dc.SetLogicalFunction = lambda *a,**k: None |
836 |
840 |
837 def GetLogicalDC(self): |
841 def GetLogicalDC(self): |
838 dc = wx.ClientDC(self.Editor) |
842 dc = wx.ClientDC(self.Editor) |
839 self.PrepareDC(dc) |
843 self.PrepareDC(dc) |
840 return dc |
844 return dc |
2273 self.RefreshVisibleElements() |
2277 self.RefreshVisibleElements() |
2274 else: |
2278 else: |
2275 if not event.Dragging() and (gettime() - self.LastHighlightCheckTime) > REFRESH_PERIOD: |
2279 if not event.Dragging() and (gettime() - self.LastHighlightCheckTime) > REFRESH_PERIOD: |
2276 self.LastHighlightCheckTime = gettime() |
2280 self.LastHighlightCheckTime = gettime() |
2277 highlighted = self.FindElement(event, connectors=False) |
2281 highlighted = self.FindElement(event, connectors=False) |
2278 if self.HighlightedElement is not None and self.HighlightedElement != highlighted: |
2282 if self.HighlightedElement != highlighted: |
2279 self.HighlightedElement.SetHighlighted(False) |
2283 if self.HighlightedElement is not None: |
2280 self.HighlightedElement = None |
2284 self.HighlightedElement.SetHighlighted(False) |
2281 if highlighted is not None: |
2285 if highlighted is not None: |
2282 if not self.Debug and isinstance(highlighted, (Wire, Graphic_Group)): |
2286 if not self.Debug and isinstance(highlighted, (Wire, Graphic_Group)): |
2283 highlighted.HighlightPoint(pos) |
2287 highlighted.HighlightPoint(pos) |
2284 if self.HighlightedElement != highlighted: |
|
2285 highlighted.SetHighlighted(True) |
2288 highlighted.SetHighlighted(True) |
2286 self.HighlightedElement = highlighted |
2289 self.HighlightedElement = highlighted |
2287 if self.rubberBand.IsShown(): |
2290 if self.rubberBand.IsShown(): |
2288 self.rubberBand.OnMotion(event, dc, self.Scaling) |
2291 self.rubberBand.OnMotion(event, dc, self.Scaling) |
2289 elif not self.Debug and self.Mode == MODE_SELECTION and self.SelectedElement is not None: |
2292 elif not self.Debug and self.Mode == MODE_SELECTION and self.SelectedElement is not None: |