Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(12)

Side by Side Diff: Source/devtools/front_end/ui/TabbedPane.js

Issue 1113813002: [DevTools] Rename View to Widget. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: rebased Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « Source/devtools/front_end/ui/SuggestBox.js ('k') | Source/devtools/front_end/ui/TextPrompt.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2010 Google Inc. All rights reserved. 2 * Copyright (C) 2010 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 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 /** 68 /**
69 * @param {boolean} locked 69 * @param {boolean} locked
70 */ 70 */
71 setCurrentTabLocked: function(locked) 71 setCurrentTabLocked: function(locked)
72 { 72 {
73 this._currentTabLocked = locked; 73 this._currentTabLocked = locked;
74 this._headerElement.classList.toggle("locked", this._currentTabLocked); 74 this._headerElement.classList.toggle("locked", this._currentTabLocked);
75 }, 75 },
76 76
77 /** 77 /**
78 * @return {?WebInspector.View} 78 * @return {?WebInspector.Widget}
79 */ 79 */
80 get visibleView() 80 get visibleView()
81 { 81 {
82 return this._currentTab ? this._currentTab.view : null; 82 return this._currentTab ? this._currentTab.view : null;
83 }, 83 },
84 84
85 /** 85 /**
86 * @return {!Array.<!WebInspector.View>} 86 * @return {!Array.<!WebInspector.Widget>}
87 */ 87 */
88 tabViews: function() 88 tabViews: function()
89 { 89 {
90 /** 90 /**
91 * @param {!WebInspector.TabbedPaneTab} tab 91 * @param {!WebInspector.TabbedPaneTab} tab
92 * @return {!WebInspector.View} 92 * @return {!WebInspector.Widget}
93 */ 93 */
94 function tabToView(tab) 94 function tabToView(tab)
95 { 95 {
96 return tab.view; 96 return tab.view;
97 } 97 }
98 return this._tabs.map(tabToView); 98 return this._tabs.map(tabToView);
99 }, 99 },
100 100
101 /** 101 /**
102 * @return {?string} 102 * @return {?string}
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 { 184 {
185 var tabs = this._tabs.slice(); 185 var tabs = this._tabs.slice();
186 for (var i = 0; i < tabs.length; ++i) 186 for (var i = 0; i < tabs.length; ++i)
187 tabs[i].setDelegate(delegate); 187 tabs[i].setDelegate(delegate);
188 this._delegate = delegate; 188 this._delegate = delegate;
189 }, 189 },
190 190
191 /** 191 /**
192 * @param {string} id 192 * @param {string} id
193 * @param {string} tabTitle 193 * @param {string} tabTitle
194 * @param {!WebInspector.View} view 194 * @param {!WebInspector.Widget} view
195 * @param {string=} tabTooltip 195 * @param {string=} tabTooltip
196 * @param {boolean=} userGesture 196 * @param {boolean=} userGesture
197 * @param {boolean=} isCloseable 197 * @param {boolean=} isCloseable
198 */ 198 */
199 appendTab: function(id, tabTitle, view, tabTooltip, userGesture, isCloseable ) 199 appendTab: function(id, tabTitle, view, tabTooltip, userGesture, isCloseable )
200 { 200 {
201 isCloseable = typeof isCloseable === "boolean" ? isCloseable : this._clo seableTabs; 201 isCloseable = typeof isCloseable === "boolean" ? isCloseable : this._clo seableTabs;
202 var tab = new WebInspector.TabbedPaneTab(this, id, tabTitle, isCloseable , view, tabTooltip); 202 var tab = new WebInspector.TabbedPaneTab(this, id, tabTitle, isCloseable , view, tabTooltip);
203 tab.setDelegate(this._delegate); 203 tab.setDelegate(this._delegate);
204 this._tabsById[id] = tab; 204 this._tabsById[id] = tab;
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
415 { 415 {
416 var tab = this._tabsById[id]; 416 var tab = this._tabsById[id];
417 if (tab.title === tabTitle) 417 if (tab.title === tabTitle)
418 return; 418 return;
419 tab.title = tabTitle; 419 tab.title = tabTitle;
420 this._updateTabElements(); 420 this._updateTabElements();
421 }, 421 },
422 422
423 /** 423 /**
424 * @param {string} id 424 * @param {string} id
425 * @param {!WebInspector.View} view 425 * @param {!WebInspector.Widget} view
426 */ 426 */
427 changeTabView: function(id, view) 427 changeTabView: function(id, view)
428 { 428 {
429 var tab = this._tabsById[id]; 429 var tab = this._tabsById[id];
430 if (this._currentTab && this._currentTab.id === tab.id) { 430 if (this._currentTab && this._currentTab.id === tab.id) {
431 if (tab.view !== view) 431 if (tab.view !== view)
432 this._hideTab(tab); 432 this._hideTab(tab);
433 tab.view = view; 433 tab.view = view;
434 this._showTab(tab); 434 this._showTab(tab);
435 } else 435 } else
(...skipping 370 matching lines...) Expand 10 before | Expand all | Expand 10 after
806 806
807 __proto__: WebInspector.VBox.prototype 807 __proto__: WebInspector.VBox.prototype
808 } 808 }
809 809
810 /** 810 /**
811 * @constructor 811 * @constructor
812 * @param {!WebInspector.TabbedPane} tabbedPane 812 * @param {!WebInspector.TabbedPane} tabbedPane
813 * @param {string} id 813 * @param {string} id
814 * @param {string} title 814 * @param {string} title
815 * @param {boolean} closeable 815 * @param {boolean} closeable
816 * @param {!WebInspector.View} view 816 * @param {!WebInspector.Widget} view
817 * @param {string=} tooltip 817 * @param {string=} tooltip
818 */ 818 */
819 WebInspector.TabbedPaneTab = function(tabbedPane, id, title, closeable, view, to oltip) 819 WebInspector.TabbedPaneTab = function(tabbedPane, id, title, closeable, view, to oltip)
820 { 820 {
821 this._closeable = closeable; 821 this._closeable = closeable;
822 this._tabbedPane = tabbedPane; 822 this._tabbedPane = tabbedPane;
823 this._id = id; 823 this._id = id;
824 this._title = title; 824 this._title = title;
825 this._tooltip = tooltip; 825 this._tooltip = tooltip;
826 this._view = view; 826 this._view = view;
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
893 var element = this.tabElement; 893 var element = this.tabElement;
894 var hasClass = element.classList.contains(className); 894 var hasClass = element.classList.contains(className);
895 if (hasClass === force) 895 if (hasClass === force)
896 return false; 896 return false;
897 element.classList.toggle(className, force); 897 element.classList.toggle(className, force);
898 delete this._measuredWidth; 898 delete this._measuredWidth;
899 return true; 899 return true;
900 }, 900 },
901 901
902 /** 902 /**
903 * @return {!WebInspector.View} 903 * @return {!WebInspector.Widget}
904 */ 904 */
905 get view() 905 get view()
906 { 906 {
907 return this._view; 907 return this._view;
908 }, 908 },
909 909
910 set view(view) 910 set view(view)
911 { 911 {
912 this._view = view; 912 this._view = view;
913 }, 913 },
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after
1178 * @param {!WebInspector.TabbedPane} tabbedPane 1178 * @param {!WebInspector.TabbedPane} tabbedPane
1179 * @param {!Array.<string>} ids 1179 * @param {!Array.<string>} ids
1180 */ 1180 */
1181 closeTabs: function(tabbedPane, ids) { } 1181 closeTabs: function(tabbedPane, ids) { }
1182 } 1182 }
1183 1183
1184 /** 1184 /**
1185 * @constructor 1185 * @constructor
1186 * @param {!WebInspector.TabbedPane} tabbedPane 1186 * @param {!WebInspector.TabbedPane} tabbedPane
1187 * @param {string} extensionPoint 1187 * @param {string} extensionPoint
1188 * @param {function(string, !WebInspector.View)=} viewCallback 1188 * @param {function(string, !WebInspector.Widget)=} viewCallback
1189 */ 1189 */
1190 WebInspector.ExtensibleTabbedPaneController = function(tabbedPane, extensionPoin t, viewCallback) 1190 WebInspector.ExtensibleTabbedPaneController = function(tabbedPane, extensionPoin t, viewCallback)
1191 { 1191 {
1192 this._tabbedPane = tabbedPane; 1192 this._tabbedPane = tabbedPane;
1193 this._extensionPoint = extensionPoint; 1193 this._extensionPoint = extensionPoint;
1194 this._viewCallback = viewCallback; 1194 this._viewCallback = viewCallback;
1195 this._tabOrders = {}; 1195 this._tabOrders = {};
1196 /** @type {!Object.<string, !Promise.<?WebInspector.View>>} */ 1196 /** @type {!Object.<string, !Promise.<?WebInspector.Widget>>} */
1197 this._promiseForId = {}; 1197 this._promiseForId = {};
1198 1198
1199 this._tabbedPane.setRetainTabOrder(true, this._tabOrderComparator.bind(this) ); 1199 this._tabbedPane.setRetainTabOrder(true, this._tabOrderComparator.bind(this) );
1200 this._tabbedPane.addEventListener(WebInspector.TabbedPane.EventTypes.TabSele cted, this._tabSelected, this); 1200 this._tabbedPane.addEventListener(WebInspector.TabbedPane.EventTypes.TabSele cted, this._tabSelected, this);
1201 /** @type {!Map.<string, ?WebInspector.View>} */ 1201 /** @type {!Map.<string, ?WebInspector.Widget>} */
1202 this._views = new Map(); 1202 this._views = new Map();
1203 this._initialize(); 1203 this._initialize();
1204 } 1204 }
1205 1205
1206 WebInspector.ExtensibleTabbedPaneController.prototype = { 1206 WebInspector.ExtensibleTabbedPaneController.prototype = {
1207 _initialize: function() 1207 _initialize: function()
1208 { 1208 {
1209 /** @type {!Map.<string, !Runtime.Extension>} */ 1209 /** @type {!Map.<string, !Runtime.Extension>} */
1210 this._extensions = new Map(); 1210 this._extensions = new Map();
1211 var extensions = self.runtime.extensions(this._extensionPoint); 1211 var extensions = self.runtime.extensions(this._extensionPoint);
1212 1212
1213 for (var i = 0; i < extensions.length; ++i) { 1213 for (var i = 0; i < extensions.length; ++i) {
1214 var descriptor = extensions[i].descriptor(); 1214 var descriptor = extensions[i].descriptor();
1215 var id = descriptor["name"]; 1215 var id = descriptor["name"];
1216 this._tabOrders[id] = i; 1216 this._tabOrders[id] = i;
1217 var title = WebInspector.UIString(descriptor["title"]); 1217 var title = WebInspector.UIString(descriptor["title"]);
1218 1218
1219 this._extensions.set(id, extensions[i]); 1219 this._extensions.set(id, extensions[i]);
1220 this._tabbedPane.appendTab(id, title, new WebInspector.View()); 1220 this._tabbedPane.appendTab(id, title, new WebInspector.Widget());
1221 } 1221 }
1222 }, 1222 },
1223 1223
1224 /** 1224 /**
1225 * @param {string} id 1225 * @param {string} id
1226 * @param {string} title 1226 * @param {string} title
1227 * @param {number} order 1227 * @param {number} order
1228 * @param {!WebInspector.View} view 1228 * @param {!WebInspector.Widget} view
1229 */ 1229 */
1230 appendView: function(id, title, order, view) 1230 appendView: function(id, title, order, view)
1231 { 1231 {
1232 this._tabOrders[id] = order; 1232 this._tabOrders[id] = order;
1233 this._views.set(id, view); 1233 this._views.set(id, view);
1234 this._tabbedPane.appendTab(id, title, new WebInspector.View()); 1234 this._tabbedPane.appendTab(id, title, new WebInspector.Widget());
1235 }, 1235 },
1236 1236
1237 /** 1237 /**
1238 * @param {!WebInspector.Event} event 1238 * @param {!WebInspector.Event} event
1239 */ 1239 */
1240 _tabSelected: function(event) 1240 _tabSelected: function(event)
1241 { 1241 {
1242 var tabId = /** @type {string} */ (event.data.tabId); 1242 var tabId = /** @type {string} */ (event.data.tabId);
1243 this.viewForId(tabId).then(viewLoaded.bind(this)); 1243 this.viewForId(tabId).then(viewLoaded.bind(this));
1244 1244
1245 /** 1245 /**
1246 * @this {WebInspector.ExtensibleTabbedPaneController} 1246 * @this {WebInspector.ExtensibleTabbedPaneController}
1247 * @param {?WebInspector.View} view 1247 * @param {?WebInspector.Widget} view
1248 */ 1248 */
1249 function viewLoaded(view) 1249 function viewLoaded(view)
1250 { 1250 {
1251 if (!view) 1251 if (!view)
1252 return; 1252 return;
1253 this._tabbedPane.changeTabView(tabId, view); 1253 this._tabbedPane.changeTabView(tabId, view);
1254 var shouldFocus = this._tabbedPane.visibleView.element.isSelfOrAnces tor(WebInspector.currentFocusElement()); 1254 var shouldFocus = this._tabbedPane.visibleView.element.isSelfOrAnces tor(WebInspector.currentFocusElement());
1255 if (shouldFocus) 1255 if (shouldFocus)
1256 view.focus(); 1256 view.focus();
1257 } 1257 }
1258 }, 1258 },
1259 1259
1260 /** 1260 /**
1261 * @return {!Array.<string>} 1261 * @return {!Array.<string>}
1262 */ 1262 */
1263 viewIds: function() 1263 viewIds: function()
1264 { 1264 {
1265 return this._extensions.keysArray(); 1265 return this._extensions.keysArray();
1266 }, 1266 },
1267 1267
1268 /** 1268 /**
1269 * @param {string} id 1269 * @param {string} id
1270 * @return {!Promise.<?WebInspector.View>} 1270 * @return {!Promise.<?WebInspector.Widget>}
1271 */ 1271 */
1272 viewForId: function(id) 1272 viewForId: function(id)
1273 { 1273 {
1274 if (this._views.has(id)) 1274 if (this._views.has(id))
1275 return Promise.resolve(/** @type {?WebInspector.View} */ (this._view s.get(id))); 1275 return Promise.resolve(/** @type {?WebInspector.Widget} */ (this._vi ews.get(id)));
1276 if (!this._extensions.has(id)) 1276 if (!this._extensions.has(id))
1277 return Promise.resolve(/** @type {?WebInspector.View} */ (null)); 1277 return Promise.resolve(/** @type {?WebInspector.Widget} */ (null));
1278 if (this._promiseForId[id]) 1278 if (this._promiseForId[id])
1279 return this._promiseForId[id]; 1279 return this._promiseForId[id];
1280 1280
1281 var promise = this._extensions.get(id).instancePromise(); 1281 var promise = this._extensions.get(id).instancePromise();
1282 this._promiseForId[id] = /** @type {!Promise.<?WebInspector.View>} */ (p romise); 1282 this._promiseForId[id] = /** @type {!Promise.<?WebInspector.Widget>} */ (promise);
1283 return promise.then(cacheView.bind(this)); 1283 return promise.then(cacheView.bind(this));
1284 1284
1285 /** 1285 /**
1286 * @param {!Object} object 1286 * @param {!Object} object
1287 * @this {WebInspector.ExtensibleTabbedPaneController} 1287 * @this {WebInspector.ExtensibleTabbedPaneController}
1288 */ 1288 */
1289 function cacheView(object) 1289 function cacheView(object)
1290 { 1290 {
1291 var view = /** @type {!WebInspector.View} */ (object); 1291 var view = /** @type {!WebInspector.Widget} */ (object);
1292 delete this._promiseForId[id]; 1292 delete this._promiseForId[id];
1293 this._views.set(id, view); 1293 this._views.set(id, view);
1294 if (this._viewCallback && view) 1294 if (this._viewCallback && view)
1295 this._viewCallback(id, view); 1295 this._viewCallback(id, view);
1296 return view; 1296 return view;
1297 } 1297 }
1298 }, 1298 },
1299 1299
1300 /** 1300 /**
1301 * @param {string} id1 1301 * @param {string} id1
1302 * @param {string} id2 1302 * @param {string} id2
1303 * @return {number} 1303 * @return {number}
1304 */ 1304 */
1305 _tabOrderComparator: function(id1, id2) 1305 _tabOrderComparator: function(id1, id2)
1306 { 1306 {
1307 return this._tabOrders[id2] = this._tabOrders[id1]; 1307 return this._tabOrders[id2] = this._tabOrders[id1];
1308 } 1308 }
1309 } 1309 }
OLDNEW
« no previous file with comments | « Source/devtools/front_end/ui/SuggestBox.js ('k') | Source/devtools/front_end/ui/TextPrompt.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698