def svg_repr(self):
        """Return svg group element representing widget.

        Overrides Object2D.svg_repr().
        """
        line = self.cursor.line
        line.rect.topleft = self.rect.topleft

        text = "<< <" + "".join(
            obj.text for obj in self.cursor.line.get_colliding(self.rect)
        )

        rect = self.rect.copy()
        x_str, y_str, width_str, height_str = map(str, rect)

        ###

        group = Element("g", {"class": "int_float_entry"})

        group.append(
            Element(
                "rect",
                {
                    "x": x_str,
                    "y": y_str,
                    "width": width_str,
                    "height": height_str,
                    "class": "bg",
                },
            )
        )

        ##

        if (
            self.clamp_min is not return_untouched
            and self.clamp_max is not return_untouched
            and self.value is not None
        ):

            try:
                factor = self.value / self.difference
            except ZeroDivisionError:
                factor = 1

            range_rect = self.rect.copy()
            range_rect.w *= factor

            x_str, y_str, width_str, height_str = map(str, range_rect)

            group.append(
                Element(
                    "rect",
                    {
                        "x": x_str,
                        "y": y_str,
                        "width": width_str,
                        "height": height_str,
                        "class": "range_bg",
                    },
                )
            )

        ##

        (
            text_x_str,
            text_y_str,
        ) = map(str, rect.move(0, -3).bottomleft)

        text_element1 = Element(
            "text",
            {
                "x": text_x_str,
                "y": text_y_str,
                "text-anchor": "start",
            },
        )

        text_element1.text = text

        group.append(text_element1)

        ##

        (
            text_x_str,
            text_y_str,
        ) = map(str, rect.move(0, -3).bottomright)

        text_element2 = Element(
            "text",
            {
                "x": text_x_str,
                "y": text_y_str,
                "text-anchor": "end",
            },
        )

        text_element2.text = "> >>"
        group.append(text_element2)

        ##

        return group
Return svg group element representing widget.

        Overrides Object2D.svg_repr().
        
nodezator/widget/intfloatentry/main.py