eric6/QScintilla/EditorAssembly.py

changeset 7685
0b6e8c0d6403
parent 7533
88261c96484b
child 7690
a59680062837
equal deleted inserted replaced
7683:2fca14bea889 7685:0b6e8c0d6403
40 self.__layout.setContentsMargins(0, 0, 0, 0) 40 self.__layout.setContentsMargins(0, 0, 0, 0)
41 self.__layout.setSpacing(1) 41 self.__layout.setSpacing(1)
42 42
43 from .EditorButtonsWidget import EditorButtonsWidget 43 from .EditorButtonsWidget import EditorButtonsWidget
44 from .Editor import Editor 44 from .Editor import Editor
45 from .EditorOutline import EditorOutlineView
45 46
46 self.__editor = Editor(dbs, fn, vm, filetype, editor, tv) 47 self.__editor = Editor(dbs, fn, vm, filetype, editor, tv)
47 self.__buttonsWidget = EditorButtonsWidget(self.__editor, self) 48 self.__buttonsWidget = EditorButtonsWidget(self.__editor, self)
48 self.__globalsCombo = QComboBox() 49 self.__globalsCombo = QComboBox()
49 self.__membersCombo = QComboBox() 50 self.__membersCombo = QComboBox()
51 self.__sourceOutline = EditorOutlineView(self.__editor)
52 # TODO: make this configurable
53 self.__sourceOutline.setMaximumWidth(200)
50 54
51 self.__layout.addWidget(self.__buttonsWidget, 1, 0, -1, 1) 55 self.__layout.addWidget(self.__buttonsWidget, 1, 0, -1, 1)
52 self.__layout.addWidget(self.__globalsCombo, 0, 1) 56 self.__layout.addWidget(self.__globalsCombo, 0, 1)
53 self.__layout.addWidget(self.__membersCombo, 0, 2) 57 self.__layout.addWidget(self.__membersCombo, 0, 2)
54 self.__layout.addWidget(self.__editor, 1, 1, 1, -1) 58 self.__layout.addWidget(self.__editor, 1, 1, 1, 2)
59 self.__layout.addWidget(self.__sourceOutline, 0, 3, -1, -1)
60
61 if not self.__sourceOutline.isSupportedLanguage(
62 self.__editor.getLanguage()
63 ):
64 self.__sourceOutline.hide()
55 65
56 self.setFocusProxy(self.__editor) 66 self.setFocusProxy(self.__editor)
57 67
58 self.__module = None 68 self.__module = None
59 69
64 self.__shutdownTimerCalled = False 74 self.__shutdownTimerCalled = False
65 self.__parseTimer = QTimer(self) 75 self.__parseTimer = QTimer(self)
66 self.__parseTimer.setSingleShot(True) 76 self.__parseTimer.setSingleShot(True)
67 self.__parseTimer.setInterval(5 * 1000) 77 self.__parseTimer.setInterval(5 * 1000)
68 self.__parseTimer.timeout.connect(self.__parseEditor) 78 self.__parseTimer.timeout.connect(self.__parseEditor)
79 self.__parseTimer.timeout.connect(self.__sourceOutline.repopulate)
69 self.__editor.textChanged.connect(self.__resetParseTimer) 80 self.__editor.textChanged.connect(self.__resetParseTimer)
70 self.__editor.refreshed.connect(self.__resetParseTimer) 81 self.__editor.refreshed.connect(self.__resetParseTimer)
71 82
72 self.__selectedGlobal = "" 83 self.__selectedGlobal = ""
73 self.__selectedMember = "" 84 self.__selectedMember = ""

eric ide

mercurial