def onDeleteSection(self, evt): sections = self.talk.sections.keys() if self.talk.first_section in sections: sections.remove(self.talk.first_section) if len(sections) > 0: dlg = wx.SingleChoiceDialog(self.parentWindow, u"Abschnitt löschen", u"Abschnitt löschen", sections, wx.CHOICEDLG_STYLE) if dlg.ShowModal() == wx.ID_OK: name = dlg.GetStringSelection() for section in self.talk.sections: for question in self.talk.sections[section].questions: if question.sub == name: dialogs.showWarning(self.parentWindow, u"Der Abschnitt kann nicht gelöscht werden, da er\nan mindestens einer Stelle noch referenziert wird.", U"Löschen fehlgeschlagen") return if dialogs.askForDelete(self.parentWindow): del self.talk.sections[name]
def onDeleteQuestion(self, evt): if self.selected_question == None or self.selected_question < 0: return if not dialogs.askForDelete(self.parentWindow): return del self.talk.sections[self.section].questions[self.selected_question] items = self.frame.lstQuestions.GetItems() del items[self.selected_question] self.frame.lstQuestions.SetItems(items) new_selection = self.selected_question - 1 if new_selection < 0: if len(self.frame.lstQuestions.GetStrings()) > 0: new_selection += 1 self.frame.lstQuestions.SetSelection(new_selection) else: self.frame.lstQuestions.SetSelection(wx.NOT_FOUND) self.selected_question = None else: self.frame.lstQuestions.SetSelection(new_selection) self.selected_question = new_selection if self.selected_question < 0: self.selected_question = None self.onChangeSelection(evt)