home *** CD-ROM | disk | FTP | other *** search
/ CyberMycha 2003 October / cmycha200310.iso / NHL2004 / NHL2004Demo.exe / fe / COMMON / htc / scroller / EAHTML_ScrollBar.htc next >
Text File  |  2003-08-20  |  4KB  |  109 lines

  1. <PUBLIC:COMPONENT tagName="EAHTML_ScrollBar" lightWeight="true" >
  2.     <PUBLIC:PROPERTY    NAME="name"                    />
  3.     <PUBLIC:PROPERTY     NAME="size"                    />
  4.     <PUBLIC:PROPERTY    NAME="orient"                    />
  5.     <PUBLIC:PROPERTY    NAME="type"                    />
  6.     <PUBLIC:PROPERTY    NAME="top_pos"                />
  7.     <PUBLIC:PROPERTY    NAME="left_pos"                />
  8.     <PUBLIC:PROPERTY    NAME="max_value"                />
  9.     <PUBLIC:PROPERTY    NAME="min_value"                />
  10.     <PUBLIC:PROPERTY    NAME="page_value"                />
  11.     <PUBLIC:PROPERTY    NAME="ondrag_fire_event"        />
  12.     <PUBLIC:PROPERTY    NAME="skin"                    />
  13.     <PUBLIC:PROPERTY     NAME="thumb_size"                />
  14.     <PUBLIC:PROPERTY    NAME="value"                        GET="GetCurrentValue"            />
  15.     <PUBLIC:PROPERTY     NAME="track_size"                GET="GetCurrentTrackSize"        />
  16.  
  17.     <PUBLIC:METHOD        NAME="SetThumbHtml"           />
  18.     <PUBLIC:METHOD        NAME="SetValue"               />
  19.     <PUBLIC:METHOD        NAME="SetSkin"               />
  20.     <PUBLIC:METHOD        NAME="ShowValueOnThumb"    />
  21.  
  22.     <PUBLIC:ATTACH         EVENT="onpropertychange"        ONEVENT="DoPropChange();"     />
  23.  
  24.     <PUBLIC:EVENT        NAME="ondisabled"                ID="OnDisabled"            />
  25.     <PUBLIC:EVENT        NAME="onchange"                ID="OnChange"                />
  26.     <PUBLIC:EVENT        NAME="onerror"                ID="OnError"                />
  27.     <PUBLIC:EVENT        NAME="onscrollstop"            ID="OnScrollStop"            />
  28. </PUBLIC:COMPONENT>
  29. <script>
  30.  
  31.     var Slider                = element.document.parentWindow.Slider;
  32.     var aSlider            = null;
  33.     var name                = (element.name)        ? (element.name)            : element.uniqueID;
  34.     var type                = (element.type)        ? (element.type + "")        : "scrollbar";
  35.     var size                = (element.size)           ? (element.size - 0)            : 200;
  36.     var thumb_size            = (element.thumb_size) ? (element.thumb_size - 0)     :30;
  37.     var page_value            = (element.page_value) ? (element.page_value - 0)     : (isNaN(element.page_value)) ? 1 : element.page_value;
  38.     var min_value            = (element.min_value)   ? (element.min_value -0)     : 0;
  39.     var max_value            = (element.max_value) ?  (element.max_value -0)    : 1;
  40.     var skin                = (element.skin)       ? element.skin + "" : "";
  41.     var top_pos            = element.top_pos;
  42.     var left_pos            = element.left_pos;
  43.     var ondrag_fire_event    = (element.ondrag_fire_event == "true") ? true : false;
  44.  
  45.     if ( (!isNaN(top_pos)) && (!isNaN(left_pos)) ) {
  46.         element.style.position    = "absolute";
  47.         element.style.pixelLeft    = left_pos;
  48.         element.style.pixelTop    = top_pos;
  49.     };
  50.     element.id        = name;
  51.  
  52.     if (!skin) {
  53.         if  (type == "slider") {
  54.             aSlider    = new Slider(element.document.parentWindow, size, orient, thumb_size, min_value, max_value, page_value, 1, Slider.DefaultSkins.hs);
  55.             aSlider.onDrag_fireOnChange(false);
  56.         } else {
  57.             aSlider    = new Slider(element.document.parentWindow, size, orient, thumb_size, min_value, max_value, page_value, 1);
  58.             aSlider.onDrag_fireOnChange(Boolean(ondrag_fire_event));
  59.         };
  60.     } else {
  61.         aSlider.setSkin(eval(skin));
  62.     };
  63.     aSlider.onchange    = function()
  64.     {
  65.         var eventObject            = createEventObject();
  66.               eventObject.scrollValue    = aSlider.getValue();
  67.         OnChange.fire(eventObject);
  68.     };
  69.     aSlider.write(element.document.parentWindow, element, "beforeEnd");
  70.  
  71.     function SetThumbHTML()  { /*stub so stuff doesn't break;*/ }; //deprecated
  72.     function ShowValueOnThumb(bool) { aSlider.showValueOnThumb(bool); bool = null; };
  73.     function SetValue(newValue, fireOnChange) {    aSlider.setValue(newValue, fireOnChange); };
  74.     function SetSkin() {    aSlider.setSkin(); };
  75.     function GetCurrentValue()    { return aSlider.getValue(); };
  76.     function GetCurrentTrackSize() { return aSlider.getTrackSize(); };
  77.  
  78.     function DoPropChange()
  79.     {
  80.         switch(event.propertyName) {
  81.             case "min_value":
  82.                 aSlider.setValueRange(min_value -0, aSlider.getMaxValue());
  83.             break;
  84.             case "max_value":
  85.                 aSlider.setValueRange(aSlider.getMinValue(), max_value-0);
  86.             break;
  87.             case "thumb_size":
  88.                 if (type != "slider") {
  89.                     aSlider.setThumbSize(thumb_size -1);
  90.                 };
  91.             break;
  92.             case "top_pos":
  93.                 element.style.pixelTop = top_pos;
  94.             break;
  95.             case "left_pos":
  96.                 element.style.pixelLeft = left_pos;
  97.             break;
  98.             case "skin":
  99.                 aSlider.setSkin(eval(skin));
  100.             break;
  101.             case "ondrag_fire_event":
  102.                 aSlider.onDrag_fireOnChange(Boolean(ondrag_fire_event));
  103.             break;
  104.             case "page_value":
  105.                 aSlider.setPageValue(element.page_value);
  106.             break;
  107.         };
  108.     };
  109. </script>