code: def draw(self, x, y):
      # XXX This hard-codes too many geometry constants!
      dy = 20
      self.x, self.y = x, y
      self.drawicon()
      self.drawtext()
      if self.state != "expanded":
          return y + dy
      # draw children
      if not self.children:
          sublist = self.item._GetSubList()
          if not sublist:
              # _IsExpandable() was mistaken; that's allowed
              return y + 17
          for item in sublist:
              child = self.__class__(self.canvas, self, item)
              self.children.append(child)
      cx = x + 20
      cy = y + dy
      cylast = 0
      for child in self.children:
          cylast = cy
          self.canvas.create_line(
              x + 9, cy + 7, cx, cy + 7, fill="gray50"
          )
          cy = child.draw(cx, cy)
          if child.item._IsExpandable():
              if child.state == "expanded":
                  iconname = "minusnode"
                  callback = child.collapse
              else:
                  iconname = "plusnode"
                  callback = child.expand
              image = self.geticonimage(iconname)
              id = self.canvas.create_image(
                  x + 9, cylast + 7, image=image
              )
              # XXX This leaks bindings until canvas is deleted:
              self.canvas.tag_bind(id, "<1>", callback)
              self.canvas.tag_bind(id, "<Double-1>", lambda x: None)
      id = self.canvas.create_line(
          x + 9,
          y + 10,
          x + 9,
          cylast + 7,
          ##stipple="gray50",     # XXX Seems broken in Tk 8.0.x
          fill="gray50",
      )
      self.canvas.tag_lower(id)  # XXX .lower(id) before Python 1.5.2
      return cy
  
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 14 for calling the TreeNode obj's underlying member method code with example usage: obj.draw(x, y) and returns: cy, unknown, unknown