code: def DrawIconAndLabel(self, dc, node, x, y, w, h, depth):
          ''' Draw the icon, if any, and the label, if any, of the node. '''
          if w-2 < self._em_size_//2 or h-2 < self._em_size_ //2:
              return
          dc.SetClippingRegion(x+1, y+1, w-2, h-2) # Don't draw outside the box
          try:
              icon = self.adapter.icon(node, node==self.selectedNode)
              if icon and h >= icon.GetHeight() and w >= icon.GetWidth():
                  iconWidth = icon.GetWidth() + 2
                  dc.DrawIcon(icon, x+2, y+2)
              else:
                  iconWidth = 0
              if self.labels and h >= dc.GetTextExtent('ABC')[1]:
                  dc.SetTextForeground(self.TextForegroundForNode(node, depth))
                  dc.DrawText(self.adapter.label(node), x + iconWidth + 2, y+2)
          finally:
              dc.DestroyClippingRegion(f DrawIconAndLabel(self, dc, node, x, y, w, h, depth):
          ''' Draw the icon, if any, and the label, if any, of the node. '''
          if w-2 < self._em_size_//2 or h-2 < self._em_size_ //2:
              return
          dc.SetClippingRegion(x+1, y+1, w-2, h-2) # Don't draw outside the box
          try:
              icon = self.adapter.icon(node, node==self.selectedNode)
              if icon and h >= icon.GetHeight() and w >= icon.GetWidth():
                  iconWidth = icon.GetWidth() + 2
                  dc.DrawIcon(icon, x+2, y+2)
              else:
                  iconWidth = 0
              if self.labels and h >= dc.GetTextExtent('ABC')[1]:
                  dc.SetTextForeground(self.TextForegroundForNode(node, depth))
                  dc.DrawText(self.adapter.label(node), x + iconWidth + 2, y+2)
          finally:
              dc.DestroyClippingRegion()
docs: Draw the icon, if any, and the label, if any, of the node.