def edit_on_text_editor(self):
        """Edit the entry text in the text editor."""
        ### retrieve the text in the entry
        entry_text = self.cursor.get()

        ### since we'll not edit text on the entry anymore,
        ### stop text editing events
        stop_text_input()

        ### XXX the edition that takes place on the text editor
        ### should probably be validated by the same validation
        ### command set on this string entry; check and fix as needed

        ### edit it on text editor
        text = edit_text(entry_text)

        ### if there is an edited text (if it is not None,
        ### it means the user confirmed the edition in the
        ### text editor) and it is different from the entry
        ### text originally used, set such text as the text
        ### of the entry

        if text is not None and text != entry_text:
            self.cursor.set(text)

        ### regardless of whether the new text was set as
        ### the entry text or not, we resume the entry's
        ### editing session
        self.resume_editing()
Edit the entry text in the text editor.
nodezator/widget/stringentry.py