code: def update(self):
      if self.parent:
          self.parent.update()
      else:
          oldcursor = self.canvas["cursor"]
          self.canvas["cursor"] = "watch"
          self.canvas.update()
          self.canvas.delete(ALL)  # XXX could be more subtle
          self.draw(7, 2)
          x0, y0, x1, y1 = self.canvas.bbox(ALL)
          self.canvas.configure(scrollregion=(0, 0, x1, y1))
          self.canvas["cursor"] = oldcursor
  
imports: import os
  from tkinter import *
  from tkinter.ttk import Frame, Scrollbar
  from idlelib.config import idleConf
  from idlelib import zoomheight
label_desc: Use image node_id 13 for calling the TreeNode obj's underlying member method code with example usage: obj.update() without return types