eric6/ViewManager/ViewManager.py

branch
maintenance
changeset 7737
5371a22cf2aa
parent 7560
343db73c4842
parent 7705
90a9aefd4253
child 7824
096b3ebc1409
equal deleted inserted replaced
7691:e2b36c2167b7 7737:5371a22cf2aa
117 @signal syntaxerrorToggled(Editor) emitted when a syntax error is toggled 117 @signal syntaxerrorToggled(Editor) emitted when a syntax error is toggled
118 @signal previewStateChanged(bool) emitted to signal a change in the 118 @signal previewStateChanged(bool) emitted to signal a change in the
119 preview state 119 preview state
120 @signal astViewerStateChanged(bool) emitted to signal a change in the 120 @signal astViewerStateChanged(bool) emitted to signal a change in the
121 AST viewer state 121 AST viewer state
122 @signal disViewerStateChanged(bool) emitted to signal a change in the
123 DIS viewer state
122 @signal editorLanguageChanged(Editor) emitted to signal a change of an 124 @signal editorLanguageChanged(Editor) emitted to signal a change of an
123 editor's language 125 editor's language
124 @signal editorTextChanged(Editor) emitted to signal a change of an 126 @signal editorTextChanged(Editor) emitted to signal a change of an
125 editor's text 127 editor's text
126 @signal editorLineChanged(str,int) emitted to signal a change of an 128 @signal editorLineChanged(str,int) emitted to signal a change of an
129 editor's current line (line is given one based)
130 @signal editorLineChangedEd(Editor,int) emitted to signal a change of an
127 editor's current line (line is given one based) 131 editor's current line (line is given one based)
128 @signal editorDoubleClickedEd(Editor, position, buttons) emitted to signal 132 @signal editorDoubleClickedEd(Editor, position, buttons) emitted to signal
129 a mouse double click in an editor 133 a mouse double click in an editor
130 """ 134 """
131 changeCaption = pyqtSignal(str) 135 changeCaption = pyqtSignal(str)
145 breakpointToggled = pyqtSignal(Editor) 149 breakpointToggled = pyqtSignal(Editor)
146 bookmarkToggled = pyqtSignal(Editor) 150 bookmarkToggled = pyqtSignal(Editor)
147 syntaxerrorToggled = pyqtSignal(Editor) 151 syntaxerrorToggled = pyqtSignal(Editor)
148 previewStateChanged = pyqtSignal(bool) 152 previewStateChanged = pyqtSignal(bool)
149 astViewerStateChanged = pyqtSignal(bool) 153 astViewerStateChanged = pyqtSignal(bool)
154 disViewerStateChanged = pyqtSignal(bool)
150 editorLanguageChanged = pyqtSignal(Editor) 155 editorLanguageChanged = pyqtSignal(Editor)
151 editorTextChanged = pyqtSignal(Editor) 156 editorTextChanged = pyqtSignal(Editor)
152 editorLineChanged = pyqtSignal(str, int) 157 editorLineChanged = pyqtSignal(str, int)
158 editorLineChangedEd = pyqtSignal(Editor, int)
153 editorDoubleClickedEd = pyqtSignal(Editor, QPoint, int) 159 editorDoubleClickedEd = pyqtSignal(Editor, QPoint, int)
154 160
155 def __init__(self): 161 def __init__(self):
156 """ 162 """
157 Constructor 163 Constructor
3782 )) 3788 ))
3783 self.astViewerAct.setChecked(False) 3789 self.astViewerAct.setChecked(False)
3784 self.astViewerAct.toggled[bool].connect(self.__astViewer) 3790 self.astViewerAct.toggled[bool].connect(self.__astViewer)
3785 self.viewActions.append(self.astViewerAct) 3791 self.viewActions.append(self.astViewerAct)
3786 3792
3793 self.disViewerAct = E5Action(
3794 QCoreApplication.translate(
3795 'ViewManager', 'Python Disassembly Viewer'),
3796 UI.PixmapCache.getIcon("disassembly"),
3797 QCoreApplication.translate(
3798 'ViewManager', 'Python Disassembly Viewer'),
3799 0, 0, self, 'vm_python_dis_viewer', True)
3800 self.disViewerAct.setStatusTip(QCoreApplication.translate(
3801 'ViewManager', 'Show the Disassembly for the current Python file'))
3802 self.disViewerAct.setWhatsThis(QCoreApplication.translate(
3803 'ViewManager',
3804 """<b>Python Disassembly Viewer</b>"""
3805 """<p>This opens the a tree view of the Disassembly of the"""
3806 """ current Python source file.</p>"""
3807 ))
3808 self.disViewerAct.setChecked(False)
3809 self.disViewerAct.toggled[bool].connect(self.__disViewer)
3810 self.viewActions.append(self.disViewerAct)
3811
3787 self.viewActGrp.setEnabled(False) 3812 self.viewActGrp.setEnabled(False)
3788 self.viewFoldActGrp.setEnabled(False) 3813 self.viewFoldActGrp.setEnabled(False)
3789 self.unhighlightAct.setEnabled(False) 3814 self.unhighlightAct.setEnabled(False)
3790 self.splitViewAct.setEnabled(False) 3815 self.splitViewAct.setEnabled(False)
3791 self.splitOrientationAct.setEnabled(False) 3816 self.splitOrientationAct.setEnabled(False)
3792 self.splitRemoveAct.setEnabled(False) 3817 self.splitRemoveAct.setEnabled(False)
3793 self.nextSplitAct.setEnabled(False) 3818 self.nextSplitAct.setEnabled(False)
3794 self.prevSplitAct.setEnabled(False) 3819 self.prevSplitAct.setEnabled(False)
3795 self.previewAct.setEnabled(True) 3820 self.previewAct.setEnabled(True)
3796 self.astViewerAct.setEnabled(False) 3821 self.astViewerAct.setEnabled(False)
3822 self.disViewerAct.setEnabled(False)
3797 self.newDocumentViewAct.setEnabled(False) 3823 self.newDocumentViewAct.setEnabled(False)
3798 self.newDocumentSplitViewAct.setEnabled(False) 3824 self.newDocumentSplitViewAct.setEnabled(False)
3799 3825
3800 self.splitOrientationAct.setChecked( 3826 self.splitOrientationAct.setChecked(
3801 Preferences.getUI("SplitOrientationVertical")) 3827 Preferences.getUI("SplitOrientationVertical"))
3813 menu.addSeparator() 3839 menu.addSeparator()
3814 menu.addActions(self.viewFoldActGrp.actions()) 3840 menu.addActions(self.viewFoldActGrp.actions())
3815 menu.addSeparator() 3841 menu.addSeparator()
3816 menu.addAction(self.previewAct) 3842 menu.addAction(self.previewAct)
3817 menu.addAction(self.astViewerAct) 3843 menu.addAction(self.astViewerAct)
3844 menu.addAction(self.disViewerAct)
3818 menu.addSeparator() 3845 menu.addSeparator()
3819 menu.addAction(self.unhighlightAct) 3846 menu.addAction(self.unhighlightAct)
3820 menu.addSeparator() 3847 menu.addSeparator()
3821 menu.addAction(self.newDocumentViewAct) 3848 menu.addAction(self.newDocumentViewAct)
3822 if self.canSplit(): 3849 if self.canSplit():
3846 3873
3847 tb.addActions(self.viewActGrp.actions()) 3874 tb.addActions(self.viewActGrp.actions())
3848 tb.addSeparator() 3875 tb.addSeparator()
3849 tb.addAction(self.previewAct) 3876 tb.addAction(self.previewAct)
3850 tb.addAction(self.astViewerAct) 3877 tb.addAction(self.astViewerAct)
3878 tb.addAction(self.disViewerAct)
3851 tb.addSeparator() 3879 tb.addSeparator()
3852 tb.addAction(self.newDocumentViewAct) 3880 tb.addAction(self.newDocumentViewAct)
3853 if self.canSplit(): 3881 if self.canSplit():
3854 tb.addAction(self.newDocumentSplitViewAct) 3882 tb.addAction(self.newDocumentSplitViewAct)
3855 3883
6208 Private slot to handle a change of the AST Viewer selection state. 6236 Private slot to handle a change of the AST Viewer selection state.
6209 6237
6210 @param checked state of the action (boolean) 6238 @param checked state of the action (boolean)
6211 """ 6239 """
6212 self.astViewerStateChanged.emit(checked) 6240 self.astViewerStateChanged.emit(checked)
6241
6242 def __disViewer(self, checked):
6243 """
6244 Private slot to handle a change of the DIS Viewer selection state.
6245
6246 @param checked state of the action (boolean)
6247 """
6248 self.disViewerStateChanged.emit(checked)
6213 6249
6214 ################################################################## 6250 ##################################################################
6215 ## Below are the action methods for the macro menu 6251 ## Below are the action methods for the macro menu
6216 ################################################################## 6252 ##################################################################
6217 6253
6681 self.newDocumentSplitViewAct.setEnabled(False) 6717 self.newDocumentSplitViewAct.setEnabled(False)
6682 self.splitViewAct.setEnabled(False) 6718 self.splitViewAct.setEnabled(False)
6683 self.splitOrientationAct.setEnabled(False) 6719 self.splitOrientationAct.setEnabled(False)
6684 self.previewAct.setEnabled(True) 6720 self.previewAct.setEnabled(True)
6685 self.astViewerAct.setEnabled(False) 6721 self.astViewerAct.setEnabled(False)
6722 self.disViewerAct.setEnabled(False)
6686 self.macroActGrp.setEnabled(False) 6723 self.macroActGrp.setEnabled(False)
6687 self.bookmarkActGrp.setEnabled(False) 6724 self.bookmarkActGrp.setEnabled(False)
6688 self.__enableSpellingActions() 6725 self.__enableSpellingActions()
6689 self.__setSbFile(zoom=0) 6726 self.__setSbFile(zoom=0)
6690 6727
6701 self.__searchWidget.hide() 6738 self.__searchWidget.hide()
6702 self.__replaceWidget.hide() 6739 self.__replaceWidget.hide()
6703 6740
6704 # hide the AST Viewer via its action 6741 # hide the AST Viewer via its action
6705 self.astViewerAct.setChecked(False) 6742 self.astViewerAct.setChecked(False)
6743
6744 # hide the DIS Viewer via its action
6745 self.disViewerAct.setChecked(False)
6706 6746
6707 def __editorOpened(self): 6747 def __editorOpened(self):
6708 """ 6748 """
6709 Private slot to handle the editorOpened signal. 6749 Private slot to handle the editorOpened signal.
6710 """ 6750 """
6727 self.splitOrientationAct.setEnabled(True) 6767 self.splitOrientationAct.setEnabled(True)
6728 self.macroActGrp.setEnabled(True) 6768 self.macroActGrp.setEnabled(True)
6729 self.bookmarkActGrp.setEnabled(True) 6769 self.bookmarkActGrp.setEnabled(True)
6730 self.__enableSpellingActions() 6770 self.__enableSpellingActions()
6731 self.astViewerAct.setEnabled(True) 6771 self.astViewerAct.setEnabled(True)
6772 self.disViewerAct.setEnabled(True)
6732 6773
6733 # activate the autosave timer 6774 # activate the autosave timer
6734 if ( 6775 if (
6735 not self.autosaveTimer.isActive() and 6776 not self.autosaveTimer.isActive() and
6736 self.autosaveInterval > 0 6777 self.autosaveInterval > 0

eric ide

mercurial