106 @signal cursorChanged(editor) emitted after the cursor position of the active |
106 @signal cursorChanged(editor) emitted after the cursor position of the active |
107 window has changed |
107 window has changed |
108 @signal breakpointToggled(editor) emitted when a breakpoint is toggled. |
108 @signal breakpointToggled(editor) emitted when a breakpoint is toggled. |
109 @signal bookmarkToggled(editor) emitted when a bookmark is toggled. |
109 @signal bookmarkToggled(editor) emitted when a bookmark is toggled. |
110 """ |
110 """ |
|
111 editorOpened = pyqtSignal(str) |
|
112 lastEditorClosed = pyqtSignal() |
|
113 checkActions = pyqtSignal(Editor) |
|
114 cursorChanged = pyqtSignal(Editor) |
|
115 breakpointToggled = pyqtSignal(Editor) |
|
116 |
111 def __init__(self): |
117 def __init__(self): |
112 """ |
118 """ |
113 Constructor |
119 Constructor |
114 |
120 |
115 @param ui reference to the main user interface |
121 @param ui reference to the main user interface |
160 self.dbs = dbs |
166 self.dbs = dbs |
161 |
167 |
162 self.searchDlg = SearchReplaceWidget(False, self, ui) |
168 self.searchDlg = SearchReplaceWidget(False, self, ui) |
163 self.replaceDlg = SearchReplaceWidget(True, self, ui) |
169 self.replaceDlg = SearchReplaceWidget(True, self, ui) |
164 |
170 |
165 self.connect(self, SIGNAL("checkActions"), |
171 self.checkActions.connect(self.searchDlg.updateSelectionCheckBox) |
166 self.searchDlg.updateSelectionCheckBox) |
172 self.checkActions.connect(self.replaceDlg.updateSelectionCheckBox) |
167 self.connect(self, SIGNAL("checkActions"), |
|
168 self.replaceDlg.updateSelectionCheckBox) |
|
169 |
173 |
170 def __loadRecent(self): |
174 def __loadRecent(self): |
171 """ |
175 """ |
172 Private method to load the recently opened filenames. |
176 Private method to load the recently opened filenames. |
173 """ |
177 """ |
3045 self.emit(SIGNAL('editorClosedEd'), editor) |
3049 self.emit(SIGNAL('editorClosedEd'), editor) |
3046 |
3050 |
3047 # send a signal, if it was the very last editor |
3051 # send a signal, if it was the very last editor |
3048 if not len(self.editors): |
3052 if not len(self.editors): |
3049 self.__lastEditorClosed() |
3053 self.__lastEditorClosed() |
3050 self.emit(SIGNAL('lastEditorClosed')) |
3054 self.lastEditorClosed.emit() |
3051 |
3055 |
3052 return True |
3056 return True |
3053 |
3057 |
3054 def closeCurrentWindow(self): |
3058 def closeCurrentWindow(self): |
3055 """ |
3059 """ |
3152 |
3156 |
3153 @param editor reference to the editor object to be connected |
3157 @param editor reference to the editor object to be connected |
3154 """ |
3158 """ |
3155 self.connect(editor, SIGNAL('modificationStatusChanged'), |
3159 self.connect(editor, SIGNAL('modificationStatusChanged'), |
3156 self._modificationStatusChanged) |
3160 self._modificationStatusChanged) |
3157 self.connect(editor, SIGNAL('cursorChanged'), self.__cursorChanged) |
3161 editor.cursorChanged.connect(self.__cursorChanged) |
3158 self.connect(editor, SIGNAL('editorSaved'), self.__editorSaved) |
3162 self.connect(editor, SIGNAL('editorSaved'), self.__editorSaved) |
3159 self.connect(editor, SIGNAL('breakpointToggled'), self.__breakpointToggled) |
3163 editor.breakpointToggled.connect(self.__breakpointToggled) |
3160 self.connect(editor, SIGNAL('bookmarkToggled'), self.__bookmarkToggled) |
3164 self.connect(editor, SIGNAL('bookmarkToggled'), self.__bookmarkToggled) |
3161 self.connect(editor, SIGNAL('syntaxerrorToggled'), self._syntaxErrorToggled) |
3165 self.connect(editor, SIGNAL('syntaxerrorToggled'), self._syntaxErrorToggled) |
3162 self.connect(editor, SIGNAL('coverageMarkersShown'), |
3166 self.connect(editor, SIGNAL('coverageMarkersShown'), |
3163 self.__coverageMarkersShown) |
3167 self.__coverageMarkersShown) |
3164 self.connect(editor, SIGNAL('autoCompletionAPIsAvailable'), |
3168 self.connect(editor, SIGNAL('autoCompletionAPIsAvailable'), |
3200 editor = Editor(self.dbs, fn, self, filetype = filetype, editor = caller, |
3204 editor = Editor(self.dbs, fn, self, filetype = filetype, editor = caller, |
3201 tv = e5App().getObject("TaskViewer")) |
3205 tv = e5App().getObject("TaskViewer")) |
3202 self.editors.append(editor) |
3206 self.editors.append(editor) |
3203 self.__connectEditor(editor) |
3207 self.__connectEditor(editor) |
3204 self.__editorOpened() |
3208 self.__editorOpened() |
3205 self.emit(SIGNAL('editorOpened'), fn) |
3209 self.editorOpened.emit(fn) |
3206 self.emit(SIGNAL('editorOpenedEd'), editor) |
3210 self.emit(SIGNAL('editorOpenedEd'), editor) |
3207 |
3211 |
3208 return editor |
3212 return editor |
3209 |
3213 |
3210 def addToRecentList(self, fn): |
3214 def addToRecentList(self, fn): |
3353 editor = Editor(self.dbs, fn, self, filetype = filetype, |
3357 editor = Editor(self.dbs, fn, self, filetype = filetype, |
3354 tv = e5App().getObject("TaskViewer")) |
3358 tv = e5App().getObject("TaskViewer")) |
3355 self.editors.append(editor) |
3359 self.editors.append(editor) |
3356 self.__connectEditor(editor) |
3360 self.__connectEditor(editor) |
3357 self.__editorOpened() |
3361 self.__editorOpened() |
3358 self.emit(SIGNAL('editorOpened'), fn) |
3362 self.editorOpened.emit(fn) |
3359 self.emit(SIGNAL('editorOpenedEd'), editor) |
3363 self.emit(SIGNAL('editorOpenedEd'), editor) |
3360 newWin = True |
3364 newWin = True |
3361 |
3365 |
3362 if newWin: |
3366 if newWin: |
3363 self._addView(editor, fn) |
3367 self._addView(editor, fn) |
3552 self.editors.append(editor) |
3556 self.editors.append(editor) |
3553 self.__connectEditor(editor) |
3557 self.__connectEditor(editor) |
3554 self._addView(editor, None) |
3558 self._addView(editor, None) |
3555 self.__editorOpened() |
3559 self.__editorOpened() |
3556 self._checkActions(editor) |
3560 self._checkActions(editor) |
3557 self.emit(SIGNAL('editorOpened'), "") |
3561 self.editorOpened.emit("") |
3558 self.emit(SIGNAL('editorOpenedEd'), editor) |
3562 self.emit(SIGNAL('editorOpenedEd'), editor) |
3559 |
3563 |
3560 def printEditor(self, editor): |
3564 def printEditor(self, editor): |
3561 """ |
3565 """ |
3562 Public slot to print an editor. |
3566 Public slot to print an editor. |
4720 enc = editor.getEncoding() |
4724 enc = editor.getEncoding() |
4721 lang = editor.getLanguage() |
4725 lang = editor.getLanguage() |
4722 eol = editor.getEolIndicator() |
4726 eol = editor.getEolIndicator() |
4723 self.__setSbFile(editor.getFileName(), line + 1, pos, enc, lang, eol) |
4727 self.__setSbFile(editor.getFileName(), line + 1, pos, enc, lang, eol) |
4724 |
4728 |
4725 self.emit(SIGNAL('checkActions'), editor) |
4729 self.checkActions.emit(editor) |
4726 |
4730 |
4727 def preferencesChanged(self): |
4731 def preferencesChanged(self): |
4728 """ |
4732 """ |
4729 Public slot to handle the preferencesChanged signal. |
4733 Public slot to handle the preferencesChanged signal. |
4730 |
4734 |
4787 else: |
4791 else: |
4788 enc = None |
4792 enc = None |
4789 lang = None |
4793 lang = None |
4790 eol = None |
4794 eol = None |
4791 self.__setSbFile(fn, line, pos, enc, lang, eol) |
4795 self.__setSbFile(fn, line, pos, enc, lang, eol) |
4792 self.emit(SIGNAL('cursorChanged'), editor) |
4796 self.cursorChanged.emit(editor) |
4793 |
4797 |
4794 def __breakpointToggled(self, editor): |
4798 def __breakpointToggled(self, editor): |
4795 """ |
4799 """ |
4796 Private slot to handle the breakpointToggled signal. |
4800 Private slot to handle the breakpointToggled signal. |
4797 |
4801 |
4798 It simply reemits the signal. |
4802 It simply reemits the signal. |
4799 |
4803 |
4800 @param editor editor that sent the signal |
4804 @param editor editor that sent the signal |
4801 """ |
4805 """ |
4802 self.emit(SIGNAL('breakpointToggled'), editor) |
4806 self.breakpointToggled.emit(editor) |
4803 |
4807 |
4804 def getActions(self, type): |
4808 def getActions(self, type): |
4805 """ |
4809 """ |
4806 Public method to get a list of all actions. |
4810 Public method to get a list of all actions. |
4807 |
4811 |