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)