def select_single_path(self, path_obj):
        """Perform setups to make single obj selected.

        Works by deselecting all paths and selecting the
        given one, besides executing other admin tasks.

        Parameters
        ==========
        path_obj (fileman.pathobj.PathObject instance)
            path object targeted by the mouse.
        """
        ### deselect all paths
        self.selection_states[:] = [False] * len(self.selection_states)

        ### reference the path
        path = path_obj.path

        ### if the path is selectable...

        if path in self.selectable_paths:

            ### perform tasks to make it so it is selected

            index = self.selectable_paths.index(path)
            self.selection_states[index] = True

            self.last_selected_index = index

            ### make it so the file manager updates its
            ### path selection
            self.fm.update_entry_with_selected()

        ### otherwise, just assign None to the
        ### last selected index

        else:
            self.last_selected_index = None

        ### update appearance of all paths
        self.update_path_objs_appearance()
Perform setups to make single obj selected.

        Works by deselecting all paths and selecting the
        given one, besides executing other admin tasks.

        Parameters
        ==========
        path_obj (fileman.pathobj.PathObject instance)
            path object targeted by the mouse.
        
nodezator/fileman/dirpanel/mouseop.py