14 from UI.BrowserModel import ( |
14 from UI.BrowserModel import ( |
15 BrowserModel, BrowserItem, BrowserClassItem, BrowserCodingItem, |
15 BrowserModel, BrowserItem, BrowserClassItem, BrowserCodingItem, |
16 BrowserGlobalsItem, BrowserImportsItem, BrowserImportItem, |
16 BrowserGlobalsItem, BrowserImportsItem, BrowserImportItem, |
17 BrowserClassAttributesItem, BrowserMethodItem |
17 BrowserClassAttributesItem, BrowserMethodItem |
18 ) |
18 ) |
|
19 |
|
20 import Preferences |
19 |
21 |
20 |
22 |
21 class EditorOutlineModel(BrowserModel): |
23 class EditorOutlineModel(BrowserModel): |
22 """ |
24 """ |
23 Class implementing the editor outline model. |
25 Class implementing the editor outline model. |
88 keys = list(dictionary.keys()) |
90 keys = list(dictionary.keys()) |
89 if len(keys) > 0: |
91 if len(keys) > 0: |
90 parentItem = self.rootItem |
92 parentItem = self.rootItem |
91 |
93 |
92 if repopulate: |
94 if repopulate: |
93 self.beginInsertRows( |
95 last = len(keys) - 1 |
94 QModelIndex(), |
96 if ( |
95 0, len(keys) - 1) |
97 "@@Coding@@" in keys and |
|
98 not Preferences.getEditor("SourceOutlineShowCoding") |
|
99 ): |
|
100 last -= 1 |
|
101 self.beginInsertRows(QModelIndex(), 0, last) |
96 |
102 |
97 for key in keys: |
103 for key in keys: |
98 if key.startswith("@@"): |
104 if key.startswith("@@"): |
99 # special treatment done later |
105 # special treatment done later |
100 continue |
106 continue |
104 node = BrowserClassItem( |
110 node = BrowserClassItem( |
105 parentItem, cl, self.__filename) |
111 parentItem, cl, self.__filename) |
106 self._addItem(node, parentItem) |
112 self._addItem(node, parentItem) |
107 except AttributeError: |
113 except AttributeError: |
108 pass |
114 pass |
109 if "@@Coding@@" in keys: |
115 if ( |
|
116 "@@Coding@@" in keys and |
|
117 Preferences.getEditor("SourceOutlineShowCoding") |
|
118 ): |
110 node = BrowserCodingItem( |
119 node = BrowserCodingItem( |
111 parentItem, |
120 parentItem, |
112 QCoreApplication.translate( |
121 QCoreApplication.translate( |
113 "EditorOutlineModel", "Coding: {0}") |
122 "EditorOutlineModel", "Coding: {0}") |
114 .format(dictionary["@@Coding@@"].coding), |
123 .format(dictionary["@@Coding@@"].coding), |