def set_editor(self, editor):
        """
        Sets the associated editor, when the editor's offset calculator mode
        emit the signal pic_infos_available, the table is automatically
        refreshed.

        You can also refresh manually by calling :meth:`update_pic_infos`.
        """
        if self._editor is not None:
            try:
                self._editor.offset_calculator.pic_infos_available.disconnect(
                    self._update)
            except (AttributeError, RuntimeError, ReferenceError):
                # see https://github.com/OpenCobolIDE/OpenCobolIDE/issues/89
                pass
        self._editor = weakref.proxy(editor) if editor else editor
        try:
            self._editor.offset_calculator.pic_infos_available.connect(
                self._update)
        except AttributeError:
            pass
Sets the associated editor, when the editor's offset calculator mode
        emit the signal pic_infos_available, the table is automatically
        refreshed.

        You can also refresh manually by calling :meth:`update_pic_infos`.