def create_exp_mode_visual_elements(self):
        """Create visual elements for node's expanded signature mode."""
        ### create input related widgets
        self.create_input_related_objects()

        ### create output sockets
        self.create_output_sockets()

        ### reposition all objects within the node (also
        ### sets height of self.rect)
        self.reposition_expanded_elements()

        ### also create and store a rects manager to
        ### control all the rects in the node

        ## create a list containing the rects to be managed
        ## and get its __iter__ method to use as a callable
        ## which returns the rects to be managed by the
        ## rects manager instance

        all_rects = [
            self.rect,
            self.top_rectsman,
            self.sigmode_toggle_button.rect,
            self.title_text_obj.rect,
            self.body.rect,
            self.id_text_obj.rect,
            self.output_rectsman,
            self.bottom_rectsman,
        ]

        get_all_rects = all_rects.__iter__

        ## if there are parameters, add the input rectsman to the list

        if self.signature_obj.parameters.values():
            all_rects.append(self.input_rectsman)

        ## use the callable to instantiate the rects
        ## manager and then store it
        self.exp_rectsman = RectsManager(get_all_rects)
Create visual elements for node's expanded signature mode.
nodezator/graphman/callablenode/vizprep/sigmode/__init__.py