def _task_edit_start(self, task): pp = Popup(self.top_widget) pp.part_text_set('title,text', 'Edit task') en = Entry(pp, editable=True, single_line=True, scrollable=True, text=task.raw_txt) en.callback_activated_add(lambda e: self._task_edit_end(task, en, pp)) en.callback_aborted_add(lambda e: pp.delete()) pp.part_content_set('default', en) b = Button(pp, text='Cancel') b.callback_clicked_add(lambda b: pp.delete()) pp.part_content_set('button1', b) b = Button(pp, text='Accept') b.callback_clicked_add(lambda b: self._task_edit_end(task, en, pp)) pp.part_content_set('button2', b) pp.show() en.cursor_begin_set() en.cursor_selection_begin() en.cursor_end_set() en.cursor_selection_end()