home *** CD-ROM | disk | FTP | other *** search
/ Computer Active 2010 July / CA07.iso / Multimedija / QuickTimeInstaller.exe / AppleApplicationSupport.msi / WebKit.resources_inspector_PanelEnablerView.js < prev    next >
Encoding:
Text File  |  2010-03-15  |  3.9 KB  |  98 lines

  1. /*
  2.  * Copyright (C) 2008 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. ``AS IS'' AND ANY
  14.  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  15.  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  16.  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
  17.  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
  18.  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
  19.  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
  20.  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
  21.  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  22.  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  23.  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  24.  */
  25.  
  26. WebInspector.PanelEnablerView = function(identifier, headingText, disclaimerText, buttonTitle)
  27. {
  28.     WebInspector.View.call(this);
  29.  
  30.     this.element.addStyleClass("panel-enabler-view");
  31.     this.element.addStyleClass(identifier);
  32.  
  33.     this.contentElement = document.createElement("div");
  34.     this.contentElement.className = "panel-enabler-view-content";
  35.     this.element.appendChild(this.contentElement);
  36.  
  37.     this.imageElement = document.createElement("img");
  38.     this.contentElement.appendChild(this.imageElement);
  39.  
  40.     this.choicesForm = document.createElement("form");
  41.     this.contentElement.appendChild(this.choicesForm);
  42.  
  43.     this.headerElement = document.createElement("h1");
  44.     this.headerElement.textContent = headingText;
  45.     this.choicesForm.appendChild(this.headerElement);
  46.  
  47.     var self = this;
  48.     function enableOption(text, checked) {
  49.         var label = document.createElement("label");
  50.         var option = document.createElement("input");
  51.         option.type = "radio";
  52.         option.name = "enable-option";
  53.         if (checked)
  54.             option.checked = true;
  55.         label.appendChild(option);
  56.         label.appendChild(document.createTextNode(text));
  57.         self.choicesForm.appendChild(label);
  58.         return option;
  59.     };
  60.  
  61.     this.enabledForSession = enableOption(WebInspector.UIString("Only enable for this session"), true);
  62.     this.enabledAlways = enableOption(WebInspector.UIString("Always enable"));
  63.  
  64.     this.disclaimerElement = document.createElement("div");
  65.     this.disclaimerElement.className = "panel-enabler-disclaimer";
  66.     this.disclaimerElement.textContent = disclaimerText;
  67.     this.choicesForm.appendChild(this.disclaimerElement);
  68.  
  69.     this.enableButton = document.createElement("button");
  70.     this.enableButton.setAttribute("type", "button");
  71.     this.enableButton.textContent = buttonTitle;
  72.     this.enableButton.addEventListener("click", this._enableButtonCicked.bind(this), false);
  73.     this.choicesForm.appendChild(this.enableButton);
  74.  
  75.     window.addEventListener("resize", this._windowResized.bind(this), true);
  76. }
  77.  
  78. WebInspector.PanelEnablerView.prototype = {
  79.     _enableButtonCicked: function()
  80.     {
  81.         this.dispatchEventToListeners("enable clicked");
  82.     },
  83.  
  84.     _windowResized: function()
  85.     {
  86.         this.imageElement.removeStyleClass("hidden");
  87.  
  88.         if (this.element.offsetWidth < (this.choicesForm.offsetWidth + this.imageElement.offsetWidth))
  89.             this.imageElement.addStyleClass("hidden");
  90.     },
  91.  
  92.     get alwaysEnabled() {
  93.         return this.enabledAlways.checked;
  94.     }
  95. }
  96.  
  97. WebInspector.PanelEnablerView.prototype.__proto__ = WebInspector.View.prototype;
  98.