ViewManager/ViewManager.py

changeset 6931
faac36ec9d76
parent 6891
93f82da09f22
child 6932
8a3df4c6ac9a
equal deleted inserted replaced
6930:33c98cea84f0 6931:faac36ec9d76
112 @signal breakpointToggled(Editor) emitted when a breakpoint is toggled 112 @signal breakpointToggled(Editor) emitted when a breakpoint is toggled
113 @signal bookmarkToggled(Editor) emitted when a bookmark is toggled 113 @signal bookmarkToggled(Editor) emitted when a bookmark is toggled
114 @signal syntaxerrorToggled(Editor) emitted when a syntax error is toggled 114 @signal syntaxerrorToggled(Editor) emitted when a syntax error is toggled
115 @signal previewStateChanged(bool) emitted to signal a change in the 115 @signal previewStateChanged(bool) emitted to signal a change in the
116 preview state 116 preview state
117 @signal astViewerStateChanged(bool) emitted to signal a change in the
118 AST viewer state
117 @signal editorLanguageChanged(Editor) emitted to signal a change of an 119 @signal editorLanguageChanged(Editor) emitted to signal a change of an
118 editor's language 120 editor's language
119 @signal editorTextChanged(Editor) emitted to signal a change of an 121 @signal editorTextChanged(Editor) emitted to signal a change of an
120 editor's text 122 editor's text
121 @signal editorLineChanged(str,int) emitted to signal a change of an 123 @signal editorLineChanged(str,int) emitted to signal a change of an
137 cursorChanged = pyqtSignal(Editor) 139 cursorChanged = pyqtSignal(Editor)
138 breakpointToggled = pyqtSignal(Editor) 140 breakpointToggled = pyqtSignal(Editor)
139 bookmarkToggled = pyqtSignal(Editor) 141 bookmarkToggled = pyqtSignal(Editor)
140 syntaxerrorToggled = pyqtSignal(Editor) 142 syntaxerrorToggled = pyqtSignal(Editor)
141 previewStateChanged = pyqtSignal(bool) 143 previewStateChanged = pyqtSignal(bool)
144 astViewerStateChanged = pyqtSignal(bool)
142 editorLanguageChanged = pyqtSignal(Editor) 145 editorLanguageChanged = pyqtSignal(Editor)
143 editorTextChanged = pyqtSignal(Editor) 146 editorTextChanged = pyqtSignal(Editor)
144 editorLineChanged = pyqtSignal(str, int) 147 editorLineChanged = pyqtSignal(str, int)
145 148
146 def __init__(self): 149 def __init__(self):
3743 )) 3746 ))
3744 self.previewAct.setChecked(Preferences.getUI("ShowFilePreview")) 3747 self.previewAct.setChecked(Preferences.getUI("ShowFilePreview"))
3745 self.previewAct.toggled[bool].connect(self.__previewEditor) 3748 self.previewAct.toggled[bool].connect(self.__previewEditor)
3746 self.viewActions.append(self.previewAct) 3749 self.viewActions.append(self.previewAct)
3747 3750
3751 self.astViewerAct = E5Action(
3752 QCoreApplication.translate('ViewManager', 'Python AST Viewer'),
3753 UI.PixmapCache.getIcon("astTree"),
3754 QCoreApplication.translate('ViewManager', 'Python AST Viewer'),
3755 0, 0, self, 'vm_python_ast_viewer', True)
3756 self.astViewerAct.setStatusTip(QCoreApplication.translate(
3757 'ViewManager', 'Show the AST for the current Python file'))
3758 self.astViewerAct.setWhatsThis(QCoreApplication.translate(
3759 'ViewManager',
3760 """<b>Python AST Viewer</b>"""
3761 """<p>This opens the a tree view of the AST of the current"""
3762 """ Python source file.</p>"""
3763 ))
3764 self.astViewerAct.setChecked(False)
3765 self.astViewerAct.toggled[bool].connect(self.__astViewer)
3766 self.viewActions.append(self.astViewerAct)
3767
3748 self.viewActGrp.setEnabled(False) 3768 self.viewActGrp.setEnabled(False)
3749 self.viewFoldActGrp.setEnabled(False) 3769 self.viewFoldActGrp.setEnabled(False)
3750 self.unhighlightAct.setEnabled(False) 3770 self.unhighlightAct.setEnabled(False)
3751 self.splitViewAct.setEnabled(False) 3771 self.splitViewAct.setEnabled(False)
3752 self.splitOrientationAct.setEnabled(False) 3772 self.splitOrientationAct.setEnabled(False)
3753 self.splitRemoveAct.setEnabled(False) 3773 self.splitRemoveAct.setEnabled(False)
3754 self.nextSplitAct.setEnabled(False) 3774 self.nextSplitAct.setEnabled(False)
3755 self.prevSplitAct.setEnabled(False) 3775 self.prevSplitAct.setEnabled(False)
3756 self.previewAct.setEnabled(True) 3776 self.previewAct.setEnabled(True)
3777 self.astViewerAct.setEnabled(False)
3757 self.newDocumentViewAct.setEnabled(False) 3778 self.newDocumentViewAct.setEnabled(False)
3758 self.newDocumentSplitViewAct.setEnabled(False) 3779 self.newDocumentSplitViewAct.setEnabled(False)
3759 3780
3760 self.splitOrientationAct.setChecked( 3781 self.splitOrientationAct.setChecked(
3761 Preferences.getUI("SplitOrientationVertical")) 3782 Preferences.getUI("SplitOrientationVertical"))
3772 menu.addActions(self.viewActGrp.actions()) 3793 menu.addActions(self.viewActGrp.actions())
3773 menu.addSeparator() 3794 menu.addSeparator()
3774 menu.addActions(self.viewFoldActGrp.actions()) 3795 menu.addActions(self.viewFoldActGrp.actions())
3775 menu.addSeparator() 3796 menu.addSeparator()
3776 menu.addAction(self.previewAct) 3797 menu.addAction(self.previewAct)
3798 menu.addAction(self.astViewerAct)
3777 menu.addSeparator() 3799 menu.addSeparator()
3778 menu.addAction(self.unhighlightAct) 3800 menu.addAction(self.unhighlightAct)
3779 menu.addSeparator() 3801 menu.addSeparator()
3780 menu.addAction(self.newDocumentViewAct) 3802 menu.addAction(self.newDocumentViewAct)
3781 if self.canSplit(): 3803 if self.canSplit():
3804 tb.setToolTip(QCoreApplication.translate('ViewManager', 'View')) 3826 tb.setToolTip(QCoreApplication.translate('ViewManager', 'View'))
3805 3827
3806 tb.addActions(self.viewActGrp.actions()) 3828 tb.addActions(self.viewActGrp.actions())
3807 tb.addSeparator() 3829 tb.addSeparator()
3808 tb.addAction(self.previewAct) 3830 tb.addAction(self.previewAct)
3831 tb.addAction(self.astViewerAct)
3809 tb.addSeparator() 3832 tb.addSeparator()
3810 tb.addAction(self.newDocumentViewAct) 3833 tb.addAction(self.newDocumentViewAct)
3811 if self.canSplit(): 3834 if self.canSplit():
3812 tb.addAction(self.newDocumentSplitViewAct) 3835 tb.addAction(self.newDocumentSplitViewAct)
3813 3836
6145 6168
6146 @param checked state of the action (boolean) 6169 @param checked state of the action (boolean)
6147 """ 6170 """
6148 Preferences.setUI("ShowFilePreview", checked) 6171 Preferences.setUI("ShowFilePreview", checked)
6149 self.previewStateChanged.emit(checked) 6172 self.previewStateChanged.emit(checked)
6173
6174 def __astViewer(self, checked):
6175 """
6176 Private slot to handle a change of the AST Viewer selection state.
6177
6178 @param checked state of the action (boolean)
6179 """
6180 self.astViewerStateChanged.emit(checked)
6150 6181
6151 ################################################################## 6182 ##################################################################
6152 ## Below are the action methods for the macro menu 6183 ## Below are the action methods for the macro menu
6153 ################################################################## 6184 ##################################################################
6154 6185
6614 self.newDocumentViewAct.setEnabled(False) 6645 self.newDocumentViewAct.setEnabled(False)
6615 self.newDocumentSplitViewAct.setEnabled(False) 6646 self.newDocumentSplitViewAct.setEnabled(False)
6616 self.splitViewAct.setEnabled(False) 6647 self.splitViewAct.setEnabled(False)
6617 self.splitOrientationAct.setEnabled(False) 6648 self.splitOrientationAct.setEnabled(False)
6618 self.previewAct.setEnabled(True) 6649 self.previewAct.setEnabled(True)
6650 self.astViewerAct.setEnabled(False)
6619 self.macroActGrp.setEnabled(False) 6651 self.macroActGrp.setEnabled(False)
6620 self.bookmarkActGrp.setEnabled(False) 6652 self.bookmarkActGrp.setEnabled(False)
6621 self.__enableSpellingActions() 6653 self.__enableSpellingActions()
6622 self.__setSbFile(zoom=0) 6654 self.__setSbFile(zoom=0)
6623 6655
6631 self.autosaveTimer.stop() 6663 self.autosaveTimer.stop()
6632 6664
6633 # hide search and replace widgets 6665 # hide search and replace widgets
6634 self.__searchWidget.hide() 6666 self.__searchWidget.hide()
6635 self.__replaceWidget.hide() 6667 self.__replaceWidget.hide()
6668
6669 # hide the AST Viewer via its action
6670 self.astViewerAct.setChecked(False)
6636 6671
6637 def __editorOpened(self): 6672 def __editorOpened(self):
6638 """ 6673 """
6639 Private slot to handle the editorOpened signal. 6674 Private slot to handle the editorOpened signal.
6640 """ 6675 """
6656 self.splitViewAct.setEnabled(True) 6691 self.splitViewAct.setEnabled(True)
6657 self.splitOrientationAct.setEnabled(True) 6692 self.splitOrientationAct.setEnabled(True)
6658 self.macroActGrp.setEnabled(True) 6693 self.macroActGrp.setEnabled(True)
6659 self.bookmarkActGrp.setEnabled(True) 6694 self.bookmarkActGrp.setEnabled(True)
6660 self.__enableSpellingActions() 6695 self.__enableSpellingActions()
6696 self.astViewerAct.setEnabled(True)
6661 6697
6662 # activate the autosave timer 6698 # activate the autosave timer
6663 if not self.autosaveTimer.isActive() and \ 6699 if not self.autosaveTimer.isActive() and \
6664 self.autosaveInterval > 0: 6700 self.autosaveInterval > 0:
6665 self.autosaveTimer.start(self.autosaveInterval * 60000) 6701 self.autosaveTimer.start(self.autosaveInterval * 60000)

eric ide

mercurial