1/* 2 * Copyright (C) 2013 Apple Inc. All rights reserved. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 1. Redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer. 9 * 2. Redistributions in binary form must reproduce the above copyright 10 * notice, this list of conditions and the following disclaimer in the 11 * documentation and/or other materials provided with the distribution. 12 * 13 * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' 14 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 15 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS 17 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 18 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 19 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 20 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 21 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 22 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 23 * THE POSSIBILITY OF SUCH DAMAGE. 24 */ 25 26WebInspector.DetailsSidebarPanel = function(identifier, displayName, singularDisplayName, image, keyboardShortcutKey, element) { 27 if (keyboardShortcutKey) 28 this._keyboardShortcut = new WebInspector.KeyboardShortcut(WebInspector.KeyboardShortcut.Modifier.Control | WebInspector.KeyboardShortcut.Modifier.Shift, keyboardShortcutKey, this.toggle.bind(this)); 29 30 if (this._keyboardShortcut) { 31 var showToolTip = WebInspector.UIString("Show the %s details sidebar (%s)").format(singularDisplayName, this._keyboardShortcut.displayName); 32 var hideToolTip = WebInspector.UIString("Hide the %s details sidebar (%s)").format(singularDisplayName, this._keyboardShortcut.displayName); 33 } else { 34 var showToolTip = WebInspector.UIString("Show the %s details sidebar").format(singularDisplayName); 35 var hideToolTip = WebInspector.UIString("Hide the %s details sidebar").format(singularDisplayName); 36 } 37 38 WebInspector.SidebarPanel.call(this, identifier, displayName, showToolTip, hideToolTip, image, element); 39 40 this.element.classList.add(WebInspector.DetailsSidebarPanel.StyleClassName); 41}; 42 43WebInspector.DetailsSidebarPanel.StyleClassName = "details"; 44 45WebInspector.DetailsSidebarPanel.prototype = { 46 constructor: WebInspector.DetailsSidebarPanel, 47 48 // Public 49 50 inspect: function(objects) 51 { 52 // Implemented by subclasses. 53 return false; 54 }, 55 56 shown: function() 57 { 58 if (this._needsRefresh) { 59 delete this._needsRefresh; 60 this.refresh(); 61 } 62 }, 63 64 needsRefresh: function() 65 { 66 if (!this.selected) { 67 this._needsRefresh = true; 68 return; 69 } 70 71 this.refresh(); 72 }, 73 74 refresh: function() 75 { 76 // Implemented by subclasses. 77 } 78}; 79 80WebInspector.DetailsSidebarPanel.prototype.__proto__ = WebInspector.SidebarPanel.prototype; 81