OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2014 Google Inc. All rights reserved. | 2 * Copyright (C) 2014 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
76 } | 76 } |
77 | 77 |
78 pushNewState() { | 78 pushNewState() { |
79 var sourceFrame = this._currentSourceFrameCallback(); | 79 var sourceFrame = this._currentSourceFrameCallback(); |
80 if (!sourceFrame) | 80 if (!sourceFrame) |
81 return; | 81 return; |
82 this._pushActiveState(sourceFrame.textEditor.selection()); | 82 this._pushActiveState(sourceFrame.textEditor.selection()); |
83 } | 83 } |
84 | 84 |
85 /** | 85 /** |
86 * @param {!Common.TextRange} selection | 86 * @param {!TextUtils.TextRange} selection |
87 */ | 87 */ |
88 _updateActiveState(selection) { | 88 _updateActiveState(selection) { |
89 var active = this._historyManager.active(); | 89 var active = this._historyManager.active(); |
90 if (!active) | 90 if (!active) |
91 return; | 91 return; |
92 var sourceFrame = this._currentSourceFrameCallback(); | 92 var sourceFrame = this._currentSourceFrameCallback(); |
93 if (!sourceFrame) | 93 if (!sourceFrame) |
94 return; | 94 return; |
95 var entry = new Sources.EditingLocationHistoryEntry(this._sourcesView, this,
sourceFrame, selection); | 95 var entry = new Sources.EditingLocationHistoryEntry(this._sourcesView, this,
sourceFrame, selection); |
96 active.merge(entry); | 96 active.merge(entry); |
97 } | 97 } |
98 | 98 |
99 /** | 99 /** |
100 * @param {!Common.TextRange} selection | 100 * @param {!TextUtils.TextRange} selection |
101 */ | 101 */ |
102 _pushActiveState(selection) { | 102 _pushActiveState(selection) { |
103 var sourceFrame = this._currentSourceFrameCallback(); | 103 var sourceFrame = this._currentSourceFrameCallback(); |
104 if (!sourceFrame) | 104 if (!sourceFrame) |
105 return; | 105 return; |
106 var entry = new Sources.EditingLocationHistoryEntry(this._sourcesView, this,
sourceFrame, selection); | 106 var entry = new Sources.EditingLocationHistoryEntry(this._sourcesView, this,
sourceFrame, selection); |
107 this._historyManager.push(entry); | 107 this._historyManager.push(entry); |
108 } | 108 } |
109 | 109 |
110 /** | 110 /** |
(...skipping 12 matching lines...) Expand all Loading... |
123 | 123 |
124 /** | 124 /** |
125 * @implements {Sources.HistoryEntry} | 125 * @implements {Sources.HistoryEntry} |
126 * @unrestricted | 126 * @unrestricted |
127 */ | 127 */ |
128 Sources.EditingLocationHistoryEntry = class { | 128 Sources.EditingLocationHistoryEntry = class { |
129 /** | 129 /** |
130 * @param {!Sources.SourcesView} sourcesView | 130 * @param {!Sources.SourcesView} sourcesView |
131 * @param {!Sources.EditingLocationHistoryManager} editingLocationManager | 131 * @param {!Sources.EditingLocationHistoryManager} editingLocationManager |
132 * @param {!SourceFrame.SourceFrame} sourceFrame | 132 * @param {!SourceFrame.SourceFrame} sourceFrame |
133 * @param {!Common.TextRange} selection | 133 * @param {!TextUtils.TextRange} selection |
134 */ | 134 */ |
135 constructor(sourcesView, editingLocationManager, sourceFrame, selection) { | 135 constructor(sourcesView, editingLocationManager, sourceFrame, selection) { |
136 this._sourcesView = sourcesView; | 136 this._sourcesView = sourcesView; |
137 this._editingLocationManager = editingLocationManager; | 137 this._editingLocationManager = editingLocationManager; |
138 var uiSourceCode = sourceFrame.uiSourceCode(); | 138 var uiSourceCode = sourceFrame.uiSourceCode(); |
139 this._projectId = uiSourceCode.project().id(); | 139 this._projectId = uiSourceCode.project().id(); |
140 this._url = uiSourceCode.url(); | 140 this._url = uiSourceCode.url(); |
141 | 141 |
142 var position = this._positionFromSelection(selection); | 142 var position = this._positionFromSelection(selection); |
143 this._positionHandle = sourceFrame.textEditor.textEditorPositionHandle(posit
ion.lineNumber, position.columnNumber); | 143 this._positionHandle = sourceFrame.textEditor.textEditorPositionHandle(posit
ion.lineNumber, position.columnNumber); |
144 } | 144 } |
145 | 145 |
146 /** | 146 /** |
147 * @param {!Sources.HistoryEntry} entry | 147 * @param {!Sources.HistoryEntry} entry |
148 */ | 148 */ |
149 merge(entry) { | 149 merge(entry) { |
150 if (this._projectId !== entry._projectId || this._url !== entry._url) | 150 if (this._projectId !== entry._projectId || this._url !== entry._url) |
151 return; | 151 return; |
152 this._positionHandle = entry._positionHandle; | 152 this._positionHandle = entry._positionHandle; |
153 } | 153 } |
154 | 154 |
155 /** | 155 /** |
156 * @param {!Common.TextRange} selection | 156 * @param {!TextUtils.TextRange} selection |
157 * @return {!{lineNumber: number, columnNumber: number}} | 157 * @return {!{lineNumber: number, columnNumber: number}} |
158 */ | 158 */ |
159 _positionFromSelection(selection) { | 159 _positionFromSelection(selection) { |
160 return {lineNumber: selection.endLine, columnNumber: selection.endColumn}; | 160 return {lineNumber: selection.endLine, columnNumber: selection.endColumn}; |
161 } | 161 } |
162 | 162 |
163 /** | 163 /** |
164 * @override | 164 * @override |
165 * @return {boolean} | 165 * @return {boolean} |
166 */ | 166 */ |
167 valid() { | 167 valid() { |
168 var position = this._positionHandle.resolve(); | 168 var position = this._positionHandle.resolve(); |
169 var uiSourceCode = Workspace.workspace.uiSourceCode(this._projectId, this._u
rl); | 169 var uiSourceCode = Workspace.workspace.uiSourceCode(this._projectId, this._u
rl); |
170 return !!(position && uiSourceCode); | 170 return !!(position && uiSourceCode); |
171 } | 171 } |
172 | 172 |
173 /** | 173 /** |
174 * @override | 174 * @override |
175 */ | 175 */ |
176 reveal() { | 176 reveal() { |
177 var position = this._positionHandle.resolve(); | 177 var position = this._positionHandle.resolve(); |
178 var uiSourceCode = Workspace.workspace.uiSourceCode(this._projectId, this._u
rl); | 178 var uiSourceCode = Workspace.workspace.uiSourceCode(this._projectId, this._u
rl); |
179 if (!position || !uiSourceCode) | 179 if (!position || !uiSourceCode) |
180 return; | 180 return; |
181 | 181 |
182 this._editingLocationManager.updateCurrentState(); | 182 this._editingLocationManager.updateCurrentState(); |
183 this._sourcesView.showSourceLocation(uiSourceCode, position.lineNumber, posi
tion.columnNumber); | 183 this._sourcesView.showSourceLocation(uiSourceCode, position.lineNumber, posi
tion.columnNumber); |
184 } | 184 } |
185 }; | 185 }; |
OLD | NEW |