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()
def DrawIconAndLabel ( self , dc , node , x , y , w , h , depth ) : 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 ) 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 ( )
Draw the icon, if any, and the label, if any, of the node.