def draw(self):
        """Draw itself and widgets.

        Extends Object2D.draw.
        """
        ### reference image locally
        image = self.image

        ### clean image
        image.blit(self.clean_bg, (0, 0))

        ### draw widgets on self

        ## reference rect locally
        rect = self.rect

        ## draw widgets

        for widget in self.widgets:

            if widget.rect.colliderect(rect):
                widget.draw_relative(self)

        ### draw border
        draw_border(image)

        ### draw self
        super().draw()

        ### update screen
        SERVICES_NS.update_screen()
Draw itself and widgets.

        Extends Object2D.draw.
        
nodezator/systemtesting/reportviewer/op.py