612 confnode = self.CTR.GetChildByName(page_infos[1]) |
612 confnode = self.CTR.GetChildByName(page_infos[1]) |
613 return notebook.GetPageIndex(confnode._OpenView(*page_infos[2:])) |
613 return notebook.GetPageIndex(confnode._OpenView(*page_infos[2:])) |
614 else: |
614 else: |
615 return IDEFrame.LoadTab(self, notebook, page_infos) |
615 return IDEFrame.LoadTab(self, notebook, page_infos) |
616 |
616 |
617 # Strange hack required by WAMP connector, using twisted. |
|
618 # Twisted reactor needs to be stopped only before quit, |
|
619 # since it cannot be restarted |
|
620 ToDoBeforeQuit = [] |
|
621 |
|
622 def AddToDoBeforeQuit(self, Thing): |
|
623 self.ToDoBeforeQuit.append(Thing) |
|
624 |
|
625 def TryCloseFrame(self): |
617 def TryCloseFrame(self): |
626 if self.CTR is None or self.CheckSaveBeforeClosing(_("Close Application")): |
618 if self.CTR is None or self.CheckSaveBeforeClosing(_("Close Application")): |
627 if self.CTR is not None: |
619 if self.CTR is not None: |
628 self.CTR.KillDebugThread() |
620 self.CTR.KillDebugThread() |
629 self.CTR._Disconnect() |
621 self.CTR._Disconnect() |
630 self.KillLocalRuntime() |
622 self.KillLocalRuntime() |
631 |
623 |
632 self.SaveLastState() |
624 self.SaveLastState() |
633 |
625 |
634 for Thing in self.ToDoBeforeQuit: |
626 for Thing in ToDoBeforeQuit: |
635 Thing() |
627 Thing() |
636 self.ToDoBeforeQuit = [] |
628 ToDoBeforeQuit = [] |
637 |
629 |
638 return True |
630 return True |
639 return False |
631 return False |
640 |
632 |
641 def OnCloseFrame(self, event): |
633 def OnCloseFrame(self, event): |