def go_to_widget(self, steps):
        """Change current color widget to another.

        Parameters
        ==========
        steps (integer)
            number of steps from the current widget to the
            widget you want as the new current widget;
            whether the new current widget is after or
            before the actual current one is defined by
            the signal of this argument.
        """
        ### define index of new current widget by adding the
        ### index of the current widget with the given steps
        new_index = self.colors_editor.current_color_index + steps

        ### clamp the new index to the interval of existing
        ### indices
        clamped_index = max(min(new_index, len(self.widgets) - 1), 0)

        ### assign the clamped index as the current index
        self.colors_editor.current_color_index = clamped_index

        ### store a reference to the new color widget
        self.store_current_widget()

        ### set the color of the new color widget in the
        ### controls so the user can edit the fields from
        ### its actual values, if desired
        self.colors_editor.set_color_on_controls(self.current_widget.color)

        ### finally, if not already, bring color widget to
        ### visible area
        self.color_widget_to_visible_area()
Change current color widget to another.

        Parameters
        ==========
        steps (integer)
            number of steps from the current widget to the
            widget you want as the new current widget;
            whether the new current widget is after or
            before the actual current one is defined by
            the signal of this argument.
        
nodezator/colorsman/editor/panel/main.py