home *** CD-ROM | disk | FTP | other *** search
- class com.comp.ScrollBar extends MovieClip
- {
- var c_mcSourceClip;
- var objRef;
- var _nInterval;
- var __height;
- var _nMax = 100;
- var _nMin = 0;
- var _nScrollPosition = 0;
- function ScrollBar(_objRoot, _strSourceClip, _strTargetClip, _iWidth, _iHeight)
- {
- var _loc1_ = this;
- super();
- _loc1_.c_objRoot = _objRoot;
- _loc1_.c_iWidth = _iWidth;
- _loc1_.c_iHeight = _iHeight;
- _loc1_.c_mcTargetClip = _loc1_.c_objRoot[_strTargetClip];
- _loc1_.c_iYpos = _loc1_.c_mcTargetClip._y;
- _loc1_.c_objRoot.attachMovie("BoundingBox","_mcBoundingBox",700);
- _loc1_.c_mcSourceClip = _loc1_.c_objRoot._mcBoundingBox;
- _loc1_.c_iPoschanged = 0;
- _loc1_.init();
- }
- function init()
- {
- var _loc1_ = this;
- _loc1_.c_mcSourceClip._width = _loc1_.c_iWidth;
- _loc1_.c_mcSourceClip._height = _loc1_.c_iHeight;
- _loc1_.c_mcSourceClip._xscale = 100;
- _loc1_.c_mcSourceClip._yscale = 100;
- _loc1_.c_mcSourceClip._x = _loc1_.c_mcTargetClip._x + _loc1_.c_mcTargetClip._width;
- _loc1_.c_mcSourceClip._y = _loc1_.c_mcTargetClip._y;
- mx.events.EventDispatcher.initialize(_loc1_.c_mcSourceClip);
- _loc1_.createChildren();
- }
- function setXY(_iXPos)
- {
- this.c_mcSourceClip._x = _iXPos;
- }
- function createChildren()
- {
- var _loc1_ = this;
- _loc1_.c_mcSourceClip.attachMovie("ScrollUp","_mcScrollUp",220);
- _loc1_.c_mcSourceClip.attachMovie("ScrollTrack","_mcScrollTrack",222);
- _loc1_.c_mcSourceClip.attachMovie("ScrollDown","_mcScrollDown",223);
- _loc1_.c_objRoot._mcBoundingBox.attachMovie("ScrollThumb","_mcScrollThumb",224);
- _loc1_.arrange();
- }
- function arrange()
- {
- var _loc1_ = this;
- _loc1_.c_mcSourceClip._mcScrollTrack._y = _loc1_.c_mcSourceClip._mcScrollUp._height;
- _loc1_.c_mcSourceClip._mcScrollTrack._height = _loc1_.c_iHeight - int(_loc1_.c_mcSourceClip._mcScrollUp._height) - int(_loc1_.c_mcSourceClip._mcScrollDown._height);
- _loc1_.c_mcSourceClip._mcScrollDown._y = _loc1_.c_mcSourceClip._mcScrollTrack._y + _loc1_.c_mcSourceClip._mcScrollTrack._height;
- _loc1_.c_mcSourceClip._mcScrollThumb._x = 0;
- _loc1_.c_mcSourceClip._mcScrollThumb._width = _loc1_.c_mcSourceClip._width;
- _loc1_.c_iDiffrence = _loc1_.c_mcTargetClip._height / _loc1_.c_mcSourceClip._mcScrollTrack._height;
- var _loc3_ = _loc1_.c_mcSourceClip._mcScrollThumb._height;
- if(_loc1_.c_mcTargetClip._height > _loc1_.c_mcSourceClip._height - _loc1_.c_iPoschanged)
- {
- _loc1_.c_mcSourceClip._mcScrollThumb._height = _loc1_.c_mcSourceClip._height * _loc1_.c_mcSourceClip._height / _loc1_.c_mcTargetClip._height;
- if(_loc1_.c_mcSourceClip._mcScrollThumb._height > _loc1_.c_mcSourceClip._mcScrollTrack._height)
- {
- _loc1_.c_mcSourceClip._mcScrollThumb._height = _loc1_.c_mcSourceClip._mcScrollTrack._height;
- }
- else if(_loc1_.c_mcSourceClip._mcScrollThumb._height < _loc3_)
- {
- _loc1_.c_mcSourceClip._mcScrollThumb._height = _loc3_;
- }
- }
- var _loc2_ = (_loc1_._nScrollPosition - _loc1_._nMin) / (_loc1_._nMax - _loc1_._nMin) * (_loc1_.c_mcSourceClip._mcScrollDown._y - _loc1_.c_mcSourceClip._mcScrollThumb._height);
- if(_loc2_ > _loc1_.c_mcSourceClip._mcScrollDown._y - _loc1_.c_mcSourceClip._mcScrollThumb._height)
- {
- _loc2_ = _loc1_.c_mcSourceClip._mcScrollDown._y - _loc1_.c_mcSourceClip._mcScrollThumb._height;
- }
- else if(_loc2_ < _loc1_.c_mcSourceClip._mcScrollTrack._y)
- {
- _loc2_ = _loc1_.c_mcSourceClip._mcScrollTrack._y;
- }
- _loc1_.c_mcSourceClip._mcScrollThumb._y = _loc2_;
- _loc1_.init_thumb_y = _loc1_.c_mcSourceClip._mcScrollThumb._y;
- _loc1_.setEvents();
- }
- function setEvents()
- {
- var _loc1_ = this;
- _loc1_.c_mcSourceClip._mcScrollThumb.objRef = _loc1_;
- _loc1_.c_mcSourceClip._mcScrollTrack.objRef = _loc1_;
- _loc1_.c_mcSourceClip._mcScrollUp.objRef = _loc1_;
- _loc1_.c_mcSourceClip._mcScrollDown.objRef = _loc1_;
- _loc1_.c_mcSourceClip._mcScrollThumb.useHandCursor = false;
- _loc1_.c_mcSourceClip._mcScrollTrack.useHandCursor = false;
- _loc1_.c_mcSourceClip._mcScrollUp.useHandCursor = false;
- _loc1_.c_mcSourceClip._mcScrollDown.useHandCursor = false;
- var this_ref = _loc1_;
- _loc1_.c_mcSourceClip._mcScrollThumb.onPress = function()
- {
- var _loc1_ = this;
- _loc1_.startDrag(false,_loc1_._x,_loc1_._parent._mcScrollTrack._y + 1,_loc1_._x,Math.abs(_loc1_._parent._mcScrollDown._y - _loc1_._height) + 0.5);
- var _loc2_ = _loc1_.objRef.c_mcSourceClip._mcScrollThumb._ymouse;
- _loc1_._nInterval = setInterval(_loc1_.objRef.scroll,10,_loc1_.objRef,_loc2_,1);
- };
- _loc1_.c_mcSourceClip._mcScrollThumb.onRelease = function()
- {
- var _loc1_ = this;
- _loc1_.stopDrag();
- delete _loc1_.objRef.c_mcSourceClip._mcScrollThumb.onMouseMove;
- clearInterval(_loc1_._nInterval);
- };
- _loc1_.c_mcSourceClip._mcScrollThumb.onReleaseOutside = _loc1_.c_mcSourceClip._mcScrollThumb.onRelease;
- _loc1_.c_mcSourceClip._mcScrollTrack.onPress = function()
- {
- var _loc1_ = this;
- if(_loc1_.objRef.c_mcSourceClip._ymouse + _loc1_.objRef.c_mcSourceClip._mcScrollDown._height > _loc1_._y + _loc1_._height - _loc1_.objRef.c_mcSourceClip._mcScrollThumb._height)
- {
- _loc1_.objRef.c_mcSourceClip._mcScrollThumb._y = _loc1_.objRef.c_mcSourceClip._ymouse - _loc1_.objRef.c_mcSourceClip._mcScrollThumb._height;
- if(this_ref.init_thumb_y > _loc1_.objRef.c_mcSourceClip._mcScrollThumb._y)
- {
- _loc1_.objRef.c_mcSourceClip._mcScrollThumb._y = this_ref.init_thumb_y;
- }
- }
- else
- {
- _loc1_.objRef.c_mcSourceClip._mcScrollThumb._y = _loc1_.objRef.c_mcSourceClip._ymouse;
- }
- _loc1_._nInterval = setInterval(_loc1_.objRef.scroll,10,_loc1_.objRef,_loc1_._nOffset,0);
- };
- _loc1_.c_mcSourceClip._mcScrollTrack.onRelease = function()
- {
- delete this.objRef.c_mcSourceClip._mcScrollThumb.onMouseMove;
- clearInterval(this._nInterval);
- };
- _loc1_.c_mcSourceClip._mcScrollTrack.onReleaseOutside = _loc1_.c_mcSourceClip._mcScrollTrack.onRelease;
- _loc1_.c_mcSourceClip._mcScrollUp.onPress = function()
- {
- var _loc1_ = this;
- _loc1_._nInterval = setInterval(_loc1_.objRef.nudge,5,-4,_loc1_.objRef);
- };
- _loc1_.c_mcSourceClip._mcScrollUp.onRelease = function()
- {
- clearInterval(this._nInterval);
- };
- _loc1_.c_mcSourceClip._mcScrollUp.onReleaseOutside = _loc1_.c_mcSourceClip._mcScrollUp.onRelease;
- _loc1_.c_mcSourceClip._mcScrollDown.onPress = function()
- {
- var _loc1_ = this;
- _loc1_._nInterval = setInterval(_loc1_.objRef.nudge,5,4,_loc1_.objRef);
- };
- _loc1_.c_mcSourceClip._mcScrollDown.onRelease = function()
- {
- clearInterval(this._nInterval);
- };
- _loc1_.c_mcSourceClip._mcScrollDown.onReleaseOutside = _loc1_.c_mcSourceClip._mcScrollDown.onRelease;
- }
- function set min(nMin)
- {
- this._nMin = nMin;
- }
- function get min()
- {
- return this._nMin;
- }
- function set max(nMax)
- {
- this._nMax = nMax;
- }
- function get max()
- {
- return this._nMax;
- }
- function set scrollPosition(nScrollPosition)
- {
- var _loc1_ = this;
- _loc1_._nScrollPosition = nScrollPosition;
- _loc1_.arrange();
- }
- function get scrollPosition()
- {
- var _loc1_ = this;
- var _loc2_ = (_loc1_._mcScrollThumb._y - _loc1_._mcScrollTrack._y) / (_loc1_._mcScrollTrack._height - _loc1_._mcScrollThumb._height) * (_loc1_._nMax - _loc1_._nMin) + _loc1_._nMin;
- return Math.round(_loc2_);
- }
- function set height(nHeight)
- {
- this.setSize(null,nHeight);
- }
- function get height()
- {
- return this.__height;
- }
- function setSize(nW, nH)
- {
- var _loc1_ = this;
- _loc1_._xscale = 100;
- _loc1_._yscale = 100;
- _loc1_.__width = nW;
- _loc1_.__height = nH;
- _loc1_.arrange();
- }
- function scroll(_objRef, _iOffset, _iNo)
- {
- var _loc1_ = _objRef.c_mcSourceClip._mcScrollThumb._y - _iOffset;
- var _loc2_ = _objRef.c_mcSourceClip._mcScrollTrack._y;
- var _loc3_ = _objRef.c_mcSourceClip._mcScrollDown._y - _objRef.c_mcSourceClip._mcScrollThumb._height - 10;
- var nattLower = _objRef.c_mcSourceClip._y - _objRef.c_mcTargetClip._height + _objRef.c_mcSourceClip._height;
- if(_objRef.c_mcTargetClip._height > _objRef.c_mcSourceClip._height)
- {
- if(_loc1_ > _loc2_ && _loc1_ < _loc3_)
- {
- if(_iNo == 0)
- {
- var scrollcoverdist = _objRef.c_mcSourceClip._mcScrollThumb._y * (100 / _objRef.c_mcSourceClip._mcScrollTrack._height);
- var scrollMCdist = (_objRef.c_mcTargetClip._height - _objRef.c_mcSourceClip._height) * (scrollcoverdist / 100);
- var temp = _objRef.c_iYpos - scrollMCdist;
- _objRef.c_mcTargetClip._y = - _objRef.c_mcSourceClip._mcScrollThumb._y * _objRef.c_iDiffrence;
- }
- else if(_iNo == 1)
- {
- _objRef.c_mcSourceClip._mcScrollThumb.onMouseMove = function()
- {
- var _loc2_ = _objRef.c_mcSourceClip._mcScrollThumb._y * (100 / _objRef.c_mcSourceClip._mcScrollTrack._height);
- var _loc1_ = (_objRef.c_mcTargetClip._height - _objRef.c_mcSourceClip._height) * (_loc2_ / 100);
- var temp = _objRef.c_iYpos - _loc1_;
- _objRef.c_mcTargetClip._y = - this._y * _objRef.c_iDiffrence;
- };
- }
- }
- else if(_loc1_ < _loc2_)
- {
- delete _objRef.c_mcSourceClip._mcScrollThumb.onMouseMove;
- _objRef.c_mcTargetClip._y = _objRef.c_iYpos;
- }
- else if(_loc1_ > _loc3_)
- {
- delete _objRef.c_mcSourceClip._mcScrollThumb.onMouseMove;
- _objRef.c_mcTargetClip._y = nattLower - _objRef.c_iPoschanged;
- }
- }
- this.dispatchScrollEvent();
- updateAfterEvent();
- }
- function nudge(nIncrement, _objRef)
- {
- var _loc1_ = _objRef;
- var _loc2_ = _loc1_.c_mcSourceClip._mcScrollTrack._y;
- var _loc3_ = _loc1_.c_mcSourceClip._mcScrollDown._y - _loc1_.c_mcSourceClip._mcScrollThumb._height;
- var nattLower = _loc1_.c_mcSourceClip._y - _loc1_.c_mcTargetClip._height + _loc1_.c_mcSourceClip._height;
- var dist = _loc1_.c_mcTargetClip._height / _loc1_.c_mcSourceClip._height;
- var scrollheight = _loc1_.c_mcSourceClip._mcScrollTrack._height / Math.floor(dist);
- var movieheight = _loc1_.c_mcTargetClip._height / Math.ceil(dist);
- if(scrollheight <= _loc1_.c_mcSourceClip._mcScrollTrack._height)
- {
- _loc1_.c_mcSourceClip._mcScrollThumb._y += nIncrement;
- _loc1_.c_mcTargetClip._y -= nIncrement * _loc1_.c_iDiffrence;
- }
- if(_loc1_.c_mcSourceClip._mcScrollThumb._y < _loc2_)
- {
- _loc1_.c_mcSourceClip._mcScrollThumb._y = _loc2_;
- _loc1_.c_mcTargetClip._y = _loc1_.c_iYpos;
- }
- else if(_loc1_.c_mcSourceClip._mcScrollThumb._y > _loc3_)
- {
- _loc1_.c_mcSourceClip._mcScrollThumb._y = _loc3_;
- _loc1_.c_mcTargetClip._y = nattLower - _loc1_.c_iPoschanged;
- }
- updateAfterEvent();
- }
- function dispatchScrollEvent()
- {
- var _loc1_ = this;
- if(_loc1_._mcScrollThumb._y != _loc1_._nPrevScroll)
- {
- _loc1_.dispatchEvent({type:"scroll",target:_loc1_});
- _loc1_._nPrevScroll = _loc1_._mcScrollThumb._y;
- }
- }
- function removeScrollBar(_objRef)
- {
- this.c_mcSourceClip.removeMovieClip();
- }
- function setY(_iYPos)
- {
- var _loc1_ = this;
- _loc1_.c_mcSourceClip._y += _iYPos;
- _loc1_.c_iPoschanged = _iYPos;
- }
- function setX(_iXPos)
- {
- this.c_mcSourceClip._x += _iXPos;
- }
- }
-