Skip to content

Commit

Permalink
If the editor tab is not displayed all ".event_generate()"
Browse files Browse the repository at this point in the history
messages are lost. So it is better to send them to winfo_toplevel() before
This solves an old bug that sometimes the canvas is not in sync with
the editor
  • Loading branch information
vlachoudis committed Jan 14, 2017
1 parent 2b90c09 commit 3c1f0b1
Showing 1 changed file with 17 additions and 17 deletions.
34 changes: 17 additions & 17 deletions CNCList.py
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,7 @@ def addLines(lines):

#self.selection_set(ACTIVE)
#self.see(ACTIVE)
self.event_generate("<<Modified>>")
self.winfo_toplevel().event_generate("<<Modified>>")

# ----------------------------------------------------------------------
# Clone selected blocks
Expand Down Expand Up @@ -272,7 +272,7 @@ def clone(self, event=None):
else:
self.selection_set(ACTIVE)
self.see(ACTIVE)
self.event_generate("<<Modified>>")
self.winfo_toplevel().event_generate("<<Modified>>")
return "break"

# ----------------------------------------------------------------------
Expand Down Expand Up @@ -301,7 +301,7 @@ def deleteBlock(self, event=None):
self.yview_moveto(ypos)
self.selection_set(ACTIVE)
self.see(ACTIVE)
self.event_generate("<<Modified>>")
self.winfo_toplevel().event_generate("<<Modified>>")

# ----------------------------------------------------------------------
# Edit active item
Expand Down Expand Up @@ -355,7 +355,7 @@ def edit(self, event=None):
self.itemconfig(active, foreground=DISABLE_COLOR)

self.yview_moveto(ypos)
self.event_generate("<<Modified>>")
self.winfo_toplevel().event_generate("<<Modified>>")

# ----------------------------------------------------------------------
# return active block id
Expand Down Expand Up @@ -407,7 +407,7 @@ def insertBlock(self, event=None):
self.see(active)
self.activate(active)
self.edit()
self.event_generate("<<Modified>>")
self.winfo_toplevel().event_generate("<<Modified>>")

# ----------------------------------------------------------------------
# Insert a new line below cursor
Expand Down Expand Up @@ -464,7 +464,7 @@ def insertLine(self, event=None):
self._blockPos[i] += 1 # shift all blocks below by one

self.gcode.addUndo(self.gcode.insLineUndo(bid, lid+1, edit.value))
self.event_generate("<<Modified>>")
self.winfo_toplevel().event_generate("<<Modified>>")

# ----------------------------------------------------------------------
def toggleKey(self,event=None):
Expand All @@ -479,7 +479,7 @@ def toggleKey(self,event=None):
self.activate(self._blockPos[bid])
self.selection_set(ACTIVE)
self.see(ACTIVE)
self.event_generate("<<ListboxSelect>>")
self.winfo_toplevel().event_generate("<<ListboxSelect>>")

# ----------------------------------------------------------------------
# Button1 clicked
Expand Down Expand Up @@ -590,7 +590,7 @@ def toggleExpand(self, event=None):
self.activate(active)
self.see(active)

self.event_generate("<<Status>>",data="Toggled Expand of selected objects")
self.winfo_toplevel().event_generate("<<Status>>",data="Toggled Expand of selected objects")

# ----------------------------------------------------------------------
def _toggleEnable(self, enable=None):
Expand Down Expand Up @@ -627,32 +627,32 @@ def _toggleEnable(self, enable=None):
self.gcode.addUndo(undoinfo)
self.activate(active)
self.yview_moveto(ypos)
self.event_generate("<<ListboxSelect>>")
self.winfo_toplevel().event_generate("<<ListboxSelect>>")

# ----------------------------------------------------------------------
def enable(self, event=None):
self._toggleEnable(True)
self.event_generate("<<Status>>",data="Enabled selected objects")
self.winfo_toplevel().event_generate("<<Status>>",data="Enabled selected objects")

# ----------------------------------------------------------------------
def disable(self, event=None):
self._toggleEnable(False)
self.event_generate("<<Status>>",data="Disabled selected objects")
self.winfo_toplevel().event_generate("<<Status>>",data="Disabled selected objects")

# ----------------------------------------------------------------------
# toggle state enable/disable
# ----------------------------------------------------------------------
def toggleEnable(self, event=None):
self._toggleEnable()
self.event_generate("<<Status>>",data="Toggled Visibility of selected objects")
self.winfo_toplevel().event_generate("<<Status>>",data="Toggled Visibility of selected objects")

# ----------------------------------------------------------------------
# change color of a block
# ----------------------------------------------------------------------
def changeColor(self, event=None):
items = list(map(int,self.curselection()))
if not items:
self.event_generate("<<Status>>",data="Nothing is selected")
self.winfo_toplevel().event_generate("<<Status>>",data="Nothing is selected")
return

# Find initial color
Expand Down Expand Up @@ -681,8 +681,8 @@ def changeColor(self, event=None):
self.gcode.addUndo(undoinfo)
for bid in blocks:
self.gcode[bid].color = color
self.event_generate("<<Modified>>")
self.event_generate("<<Status>>",data="Changed color of block")
self.winfo_toplevel().event_generate("<<Modified>>")
self.winfo_toplevel().event_generate("<<Status>>",data="Changed color of block")

# ----------------------------------------------------------------------
# Select items in the form of (block, item)
Expand Down Expand Up @@ -853,7 +853,7 @@ def orderUp(self, event=None):
sel = self.gcode.orderUp(items)
self.fill()
self.select(sel,clear=True,toggle=False)
self.event_generate("<<Modified>>")
self.winfo_toplevel().event_generate("<<Modified>>")
return "break"

# ----------------------------------------------------------------------
Expand All @@ -865,7 +865,7 @@ def orderDown(self, event=None):
sel = self.gcode.orderDown(items)
self.fill()
self.select(sel,clear=True,toggle=False)
self.event_generate("<<Modified>>")
self.winfo_toplevel().event_generate("<<Modified>>")
return "break"

# ----------------------------------------------------------------------
Expand Down

0 comments on commit 3c1f0b1

Please sign in to comment.