home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 January / 01_02.iso / software / netscape62win / browser.xpi / bin / chrome / toolkit.jar / content / global / bindings / scrollbar.xml < prev    next >
Encoding:
Extensible Markup Language  |  2001-08-04  |  4.1 KB  |  110 lines

  1. <?xml version="1.0"?>
  2.  
  3. <bindings id="scrollbarBindings"
  4.    xmlns="http://www.mozilla.org/xbl"
  5.    xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
  6.   
  7.   <binding id="scrollbar">
  8.     <content>
  9.       <xul:scrollbarbutton sbattr="scrollbar-up-top" type="decrement" inherits="sborient=orient"/>
  10.       <xul:scrollbarbutton sbattr="scrollbar-down-top" type="increment" collapsed="true" inherits="sborient=orient"/>
  11.       <xul:slider flex="1" inherits="curpos,maxpos,pageincrement,increment,orient">
  12.         <xul:thumb sbattr="scrollbar-thumb" inherits="orient,src" flex="1"/>
  13.       </xul:slider>
  14.       <xul:scrollbarbutton sbattr="scrollbar-up-bottom" type="decrement" collapsed="true" inherits="sborient=orient"/>
  15.       <xul:scrollbarbutton sbattr="scrollbar-down-bottom" type="increment" inherits="sborient=orient"/>
  16.     </content>
  17.     
  18.     <implementation>
  19.       <constructor>
  20.         this.initScrollbar();
  21.       </constructor>
  22.  
  23.       <method name="initScrollbar">
  24.         <body>
  25.           <![CDATA[
  26.             try {
  27.               var scrollbarStyle = this.boxObject.getLookAndFeelMetric("scrollbarStyle");
  28.               var thumbStyle = this.boxObject.getLookAndFeelMetric("thumbStyle");
  29.               var downTop;
  30.               var upBottom;
  31.               if ( scrollbarStyle == "double" ) {
  32.                 downTop = this.findNodeByAttribute("sbattr", "scrollbar-down-top");
  33.                 upBottom = this.findNodeByAttribute("sbattr", "scrollbar-up-bottom");
  34.                 downTop.removeAttribute("collapsed");
  35.                 upBottom.removeAttribute("collapsed");
  36.               }
  37.               else if ( scrollbarStyle == "doubletop" ) {
  38.                 downTop = this.findNodeByAttribute("sbattr", "scrollbar-down-top");
  39.                 var downBottom = this.findNodeByAttribute("sbattr", "scrollbar-down-bottom");
  40.                 downTop.removeAttribute("collapsed");
  41.                 downBottom.setAttribute("collapsed","true");
  42.               }
  43.               else if ( scrollbarStyle == "doublebottom" ) {
  44.                 var upTop = this.findNodeByAttribute("sbattr", "scrollbar-up-top");
  45.                 upBottom = this.findNodeByAttribute("sbattr", "scrollbar-up-bottom");
  46.                 upTop.setAttribute("collapsed","true");
  47.                 upBottom.removeAttribute("collapsed");
  48.               }
  49.               if ( thumbStyle == "fixed" ) {
  50.                 var thumb = this.findNodeByAttribute("sbattr","scrollbar-thumb");
  51.                 if ( thumb )
  52.                   thumb.removeAttribute("flex");
  53.               }
  54.             }
  55.             catch ( x ) {
  56.               //throw "Scrollbars in this skin are not properly supporting mac smart-scrolling prefs!";
  57.             }
  58.           ]]>
  59.         </body>
  60.       </method>
  61.       
  62.       <method name="findNodeByAttribute">
  63.         <parameter name="aAttribute"/>
  64.         <parameter name="aValue"/>
  65.         <body>
  66.         <![CDATA[
  67.           var nodes = document.getAnonymousNodes(this);
  68.           for (var i = 0; i < nodes.length; i++) {
  69.             if (nodes[i].getAttribute(aAttribute) == aValue)
  70.               return nodes[i];
  71.             else {
  72.               var subnodes = nodes[i].getElementsByAttribute(aAttribute, aValue);
  73.               if (!subnodes.length) continue;
  74.               return subnodes[0];
  75.             }
  76.           }
  77.           return null;
  78.         ]]>
  79.         </body>
  80.       </method>
  81.     </implementation>
  82.     <handlers>                                                                      
  83.       <handler event="contextmenu" action="event.preventDefault();"/>           
  84.     </handlers>  
  85.   </binding>
  86.  
  87.   <binding id="slider">
  88.     <content>
  89.       <xul:thumb inherits="orient,src" flex="1"/>
  90.     </content>
  91.   </binding>
  92.  
  93.   <binding id="thumb">
  94.     <content>
  95.       <xul:spring flex="1"/>
  96.       <xul:image inherits="src"/>
  97.       <xul:spring flex="1"/>
  98.     </content>
  99.   </binding>
  100.  
  101.   <binding id="scrollbarbutton">
  102.     <content>
  103.       <xul:hbox class="scrollbarbutton-box" flex="1">
  104.         <xul:image class="scrollbarbutton-icon" inherits="src"/>
  105.       </xul:hbox>
  106.     </content>
  107.   </binding>
  108. </bindings>
  109.  
  110.