15c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)/*
25c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * Copyright (C) 2007 Apple Inc.  All rights reserved.
35c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) *
45c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * Redistribution and use in source and binary forms, with or without
55c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * modification, are permitted provided that the following conditions
65c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * are met:
75c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) *
85c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * 1.  Redistributions of source code must retain the above copyright
95c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) *     notice, this list of conditions and the following disclaimer.
105c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * 2.  Redistributions in binary form must reproduce the above copyright
115c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) *     notice, this list of conditions and the following disclaimer in the
125c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) *     documentation and/or other materials provided with the distribution.
135c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * 3.  Neither the name of Apple Computer, Inc. ("Apple") nor the names of
145c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) *     its contributors may be used to endorse or promote products derived
155c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) *     from this software without specific prior written permission.
165c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) *
175c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
185c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
195c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
205c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
215c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
225c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
235c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
245c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
255c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
265c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
275c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) */
285c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
295c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)/**
305c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) * @constructor
31926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * @extends {WebInspector.View}
325c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) */
335c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)WebInspector.SidebarPane = function(title)
345c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){
35926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)    WebInspector.View.call(this);
3607a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch    this.setMinimumSize(25, 0);
37d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)    this.element.className = "sidebar-pane"; // Override
385c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
39197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch    this.titleElement = document.createElementWithClass("div", "sidebar-pane-toolbar");
40926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)    this.bodyElement = this.element.createChild("div", "body");
41926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)    this._title = title;
42926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)    this._expandCallback = null;
43926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)}
44926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)
45926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)WebInspector.SidebarPane.EventTypes = {
46926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)    wasShown: "wasShown"
475c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)}
485c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
495c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)WebInspector.SidebarPane.prototype = {
5009380295ba73501a205346becac22c6978e4671dTorne (Richard Coles)    /**
5109380295ba73501a205346becac22c6978e4671dTorne (Richard Coles)     * @return {string}
5209380295ba73501a205346becac22c6978e4671dTorne (Richard Coles)     */
53926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)    title: function()
545c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    {
555c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)        return this._title;
565c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    },
575c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
58926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)    /**
59926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)     * @param {function()} callback
60926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)     */
61926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)    prepareContent: function(callback)
625c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    {
63926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)        if (callback)
64926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)            callback();
655c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    },
665c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
67926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)    expand: function()
685c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    {
69926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)        this.prepareContent(this.onContentReady.bind(this));
705c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    },
715c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
72926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)    onContentReady: function()
735c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    {
74926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)        if (this._expandCallback)
75926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)            this._expandCallback();
76926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)        else
77926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)            this._expandPending = true;
785c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    },
795c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
80926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)    /**
81926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)     * @param {function()} callback
82926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)     */
83926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)    setExpandCallback: function(callback)
845c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    {
85926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)        this._expandCallback = callback;
86926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)        if (this._expandPending) {
87926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)            delete this._expandPending;
88926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)            this._expandCallback();
89926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)        }
905c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    },
915c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
92926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)    wasShown: function()
935c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    {
94926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)        WebInspector.View.prototype.wasShown.call(this);
95926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)        this.dispatchEventToListeners(WebInspector.SidebarPane.EventTypes.wasShown);
965c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    },
975c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
98926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)    __proto__: WebInspector.View.prototype
99926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)}
100926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)
101926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)/**
102926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * @constructor
103a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) * @param {!Element} container
104a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles) * @param {!WebInspector.SidebarPane} pane
105926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) */
106926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)WebInspector.SidebarPaneTitle = function(container, pane)
107926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles){
108926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)    this._pane = pane;
1095c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
110926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)    this.element = container.createChild("div", "sidebar-pane-title");
111926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)    this.element.textContent = pane.title();
112926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)    this.element.tabIndex = 0;
113926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)    this.element.addEventListener("click", this._toggleExpanded.bind(this), false);
114926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)    this.element.addEventListener("keydown", this._onTitleKeyDown.bind(this), false);
115926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)    this.element.appendChild(this._pane.titleElement);
116926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)
117926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)    this._pane.setExpandCallback(this._expand.bind(this));
118926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)}
119926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)
120926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)WebInspector.SidebarPaneTitle.prototype = {
121926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)
122926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)    _expand: function()
1235c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    {
124a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles)        this.element.classList.add("expanded");
1255d92fedcae5e801a8b224de090094f2d9df0b54aTorne (Richard Coles)        this._pane.show(this.element.parentElement, /** @type {?Element} */ (this.element.nextSibling));
1265c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    },
1275c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
128926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)    _collapse: function()
1295c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    {
130a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles)        this.element.classList.remove("expanded");
131926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)        if (this._pane.element.parentNode == this.element.parentNode)
132926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)            this._pane.detach();
1335c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    },
1345c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
135926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)    _toggleExpanded: function()
1365c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    {
137a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles)        if (this.element.classList.contains("expanded"))
138926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)            this._collapse();
139926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)        else
140926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)            this._pane.expand();
1415c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    },
1425c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
143926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)    /**
144197021e6b966cfb06891637935ef33fff06433d1Ben Murdoch     * @param {!Event} event
145926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)     */
1465c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    _onTitleKeyDown: function(event)
1475c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    {
1485c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)        if (isEnterKey(event) || event.keyCode === WebInspector.KeyboardShortcut.Keys.Space.code)
149926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)            this._toggleExpanded();
150926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)    }
151926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)}
152926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)
153926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)/**
154926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * @constructor
155926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * @extends {WebInspector.View}
156926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) */
157926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)WebInspector.SidebarPaneStack = function()
158926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles){
159926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)    WebInspector.View.call(this);
16007a852d8c1953036774d8f3b65d18dcfea3bb4a2Ben Murdoch    this.setMinimumSize(25, 0);
161d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)    this.element.className = "sidebar-pane-stack"; // Override
162e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)    /** @type {!Map.<!WebInspector.SidebarPane, !WebInspector.SidebarPaneTitle>} */
163e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)    this._titleByPane = new Map();
164926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)}
165926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)
166926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)WebInspector.SidebarPaneStack.prototype = {
167926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)    /**
168a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles)     * @param {!WebInspector.SidebarPane} pane
169926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)     */
170926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)    addPane: function(pane)
171926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)    {
1729e12abdf8c3a23d52091ea54ebb6a04d327f9300Torne (Richard Coles)        this._titleByPane.set(pane, new WebInspector.SidebarPaneTitle(this.element, pane));
173e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)    },
174e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)
175e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)    /**
176e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)     * @param {!WebInspector.SidebarPane} pane
177e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)     * @param {boolean} hide
178e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)     */
179e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)    togglePaneHidden: function(pane, hide)
180e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)    {
181e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)        var title = this._titleByPane.get(pane);
182e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)        if (!title)
183e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)            return;
184e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)
185e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)        title.element.classList.toggle("hidden", hide);
186e38fbeeb576b5094e34e038ab88d9d6a5c5c2214Torne (Richard Coles)        pane.element.classList.toggle("hidden", hide);
187926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)    },
188926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)
189926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)    __proto__: WebInspector.View.prototype
190926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)}
191926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)
192926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)/**
193926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * @constructor
194926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) * @extends {WebInspector.TabbedPane}
195926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles) */
196926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)WebInspector.SidebarTabbedPane = function()
197926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles){
198926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)    WebInspector.TabbedPane.call(this);
19909380295ba73501a205346becac22c6978e4671dTorne (Richard Coles)    this.setRetainTabOrder(true);
200a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles)    this.element.classList.add("sidebar-tabbed-pane");
201926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)}
202926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)
203926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)WebInspector.SidebarTabbedPane.prototype = {
204926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)    /**
205a854de003a23bf3c7f95ec0f8154ada64092ff5cTorne (Richard Coles)     * @param {!WebInspector.SidebarPane} pane
206926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)     */
207926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)    addPane: function(pane)
208926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)    {
209926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)        var title = pane.title();
210926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)        this.appendTab(title, title, pane);
211926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)        pane.element.appendChild(pane.titleElement);
212926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)        pane.setExpandCallback(this.selectTab.bind(this, title));
213926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)
2145c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)    },
2155c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
216926b001d589ce2f10facb93dd4b87578ea35a855Torne (Richard Coles)    __proto__: WebInspector.TabbedPane.prototype
2175c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)}
218