38 @signal compileResources() emitted if changed project resources should be compiled |
38 @signal compileResources() emitted if changed project resources should be compiled |
39 @signal debuggingStarted(filename) emitted when a debugging session was started |
39 @signal debuggingStarted(filename) emitted when a debugging session was started |
40 @signal resetUI() emitted to reset the UI |
40 @signal resetUI() emitted to reset the UI |
41 @signal exceptionInterrupt() emitted after the execution was interrupted by an |
41 @signal exceptionInterrupt() emitted after the execution was interrupted by an |
42 exception and acknowledged by the user |
42 exception and acknowledged by the user |
|
43 @signal appendStdout(msg) emitted when the client program has terminated and the |
|
44 display of the termination dialog is suppressed |
43 """ |
45 """ |
44 clientStack = pyqtSignal(list) |
46 clientStack = pyqtSignal(list) |
45 resetUI = pyqtSignal() |
47 resetUI = pyqtSignal() |
46 exceptionInterrupt = pyqtSignal() |
48 exceptionInterrupt = pyqtSignal() |
47 compileForms = pyqtSignal() |
49 compileForms = pyqtSignal() |
48 compileResources = pyqtSignal() |
50 compileResources = pyqtSignal() |
49 debuggingStarted = pyqtSignal(str) |
51 debuggingStarted = pyqtSignal(str) |
|
52 appendStdout = pyqtSignal(str) |
50 |
53 |
51 def __init__(self, ui, vm, debugServer, debugViewer, project): |
54 def __init__(self, ui, vm, debugServer, debugViewer, project): |
52 """ |
55 """ |
53 Constructor |
56 Constructor |
54 |
57 |
938 |
941 |
939 self.__resetUI() |
942 self.__resetUI() |
940 |
943 |
941 if not Preferences.getDebugger("SuppressClientExit") or status != 0: |
944 if not Preferences.getDebugger("SuppressClientExit") or status != 0: |
942 if self.ui.currentProg is None: |
945 if self.ui.currentProg is None: |
943 E5MessageBox.information(self.ui,Program, |
946 E5MessageBox.information(self.ui, Program, |
944 self.trUtf8('<p>The program has terminated with an exit' |
947 self.trUtf8('<p>The program has terminated with an exit' |
945 ' status of {0}.</p>').format(status)) |
948 ' status of {0}.</p>').format(status)) |
946 else: |
949 else: |
947 E5MessageBox.information(self.ui,Program, |
950 E5MessageBox.information(self.ui, Program, |
948 self.trUtf8('<p><b>{0}</b> has terminated with an exit' |
951 self.trUtf8('<p><b>{0}</b> has terminated with an exit' |
949 ' status of {1}.</p>') |
952 ' status of {1}.</p>') |
|
953 .format(Utilities.normabspath(self.ui.currentProg), status)) |
|
954 else: |
|
955 if self.ui.currentProg is None: |
|
956 self.appendStdout.emit( |
|
957 self.trUtf8('The program has terminated with an exit' |
|
958 ' status of {0}.').format(status)) |
|
959 else: |
|
960 self.appendStdout.emit( |
|
961 self.trUtf8('"{0}" has terminated with an exit' |
|
962 ' status of {1}.') |
950 .format(Utilities.normabspath(self.ui.currentProg), status)) |
963 .format(Utilities.normabspath(self.ui.currentProg), status)) |
951 |
964 |
952 def __clientSyntaxError(self, message, filename, lineNo, characterNo): |
965 def __clientSyntaxError(self, message, filename, lineNo, characterNo): |
953 """ |
966 """ |
954 Private method to handle a syntax error in the debugged program. |
967 Private method to handle a syntax error in the debugged program. |