home *** CD-ROM | disk | FTP | other *** search
/ Basic Instinct 2 Press Kit / Basic Instinct 2 Press Kit.iso / pc / main.dxr / FlashPaper_1_BIProdNotes.swf / scripts / __Packages / FPUI / TreeSelectableItem.as < prev   
Encoding:
Text File  |  2006-03-15  |  4.0 KB  |  124 lines

  1. class FPUI.TreeSelectableItem extends FPUI.SelectableItem
  2. {
  3.    var tree;
  4.    var node;
  5.    var index;
  6.    var m_iconName = "";
  7.    function TreeSelectableItem()
  8.    {
  9.       super();
  10.    }
  11.    function displayContent(nodeObj, selected, index)
  12.    {
  13.       var _loc1_ = this;
  14.       var _loc2_ = nodeObj;
  15.       super.displayContent(_loc2_,selected,index);
  16.       var treeControl = _loc1_.m_controller;
  17.       var iconName = !(_loc2_ && !_loc2_.isBranch()) ? "" : "ftree_icon_leaf";
  18.       if(_loc2_ == null || _loc1_.m_iconName != iconName)
  19.       {
  20.          _loc1_.m_iconName = "";
  21.          if(_loc1_.m_iconMC)
  22.          {
  23.             _loc1_.m_iconMC.removeMovieClip();
  24.          }
  25.       }
  26.       _loc1_.m_connectorMC.ex.clear();
  27.       if(_loc2_ != null)
  28.       {
  29.          if(_loc1_.m_connectorMC == undefined)
  30.          {
  31.             _loc1_.createEmptyMovieClip("m_connectorMC",3001);
  32.          }
  33.          _loc1_.m_connectorMC._x = 2;
  34.          var ch = _loc1_.getHighlightHeight();
  35.          var cw = 17;
  36.          var nodeLevel = _loc2_.getLevel();
  37.          if(_loc2_.isBranch())
  38.          {
  39.             _loc1_.setLabelBold(true);
  40.             var mx = Math.floor(cw / 2) + nodeLevel * cw;
  41.             var my = Math.floor(ch / 2);
  42.             var _loc3_ = _loc1_.m_connectorMC.ex;
  43.             if(_loc3_ == undefined)
  44.             {
  45.                _loc3_ = _loc1_.m_connectorMC.createEmptyMovieClip("ex",1);
  46.             }
  47.             _loc1_.drawExpander(_loc3_,mx,my,_loc2_.isOpen());
  48.             _loc3_.node = _loc2_;
  49.             _loc3_.index = index;
  50.             _loc3_.tree = treeControl;
  51.             _loc3_.useHandCursor = false;
  52.             _loc3_.trackAsMenu = true;
  53.             _loc3_.onRelease = function()
  54.             {
  55.                var _loc1_ = this.tree;
  56.                if(_loc1_.getEnabled())
  57.                {
  58.                   var _loc2_ = this.node;
  59.                   _loc2_.setIsOpen(!_loc2_.isOpen());
  60.                   var _loc3_ = this.index;
  61.                   _loc1_.refreshBranch(_loc3_);
  62.                   if(!_loc1_.getFocused())
  63.                   {
  64.                      _loc1_.pressFocus();
  65.                   }
  66.                }
  67.             };
  68.          }
  69.          else
  70.          {
  71.             _loc1_.setLabelBold(false);
  72.          }
  73.          if(_loc1_.m_iconMC == undefined)
  74.          {
  75.             _loc1_.attachMovie(iconName,"m_iconMC",3000);
  76.             _loc1_.m_iconName = iconName;
  77.          }
  78.          var offset = _loc1_.m_connectorMC._x + (nodeLevel + 1) * cw - 1;
  79.          if(_loc1_.m_iconMC)
  80.          {
  81.             _loc1_.m_iconMC._x = Math.round(offset);
  82.             _loc1_.m_iconMC._y = Math.round((ch - _loc1_.m_iconMC._height) / 2);
  83.             _loc1_.m_iconMC.useHandCursor = false;
  84.             offset += _loc1_.m_iconMC._width + 4;
  85.          }
  86.          _loc1_.m_labelFieldMC._x = Math.round(offset);
  87.          if(_loc1_.m_controller.getItemHeight() < ch)
  88.          {
  89.             _loc1_.m_labelFieldMC._y = Math.round((ch - _loc1_.m_controller.getItemHeight()) / 2);
  90.          }
  91.          if(_loc2_ != null)
  92.          {
  93.             _loc2_.setLastDrawnWidth(offset + _loc1_.m_labelFieldMC._x + _loc1_.m_labelFieldMC.textWidth);
  94.             treeControl.setMinTreeWidth(_loc2_.getLastDrawnWidth());
  95.          }
  96.          _loc1_._y = Math.round(_loc1_._y);
  97.       }
  98.    }
  99.    function drawExpander(ex, x, y, isOpen)
  100.    {
  101.       var _loc2_ = ex;
  102.       _loc2_.clear();
  103.       var _loc1_ = 6;
  104.       _loc2_.beginFill(16777215,0);
  105.       _loc2_.moveTo(- _loc1_,- _loc1_);
  106.       _loc2_.lineTo(_loc1_,- _loc1_);
  107.       _loc2_.lineTo(_loc1_,_loc1_);
  108.       _loc2_.lineTo(- _loc1_,_loc1_);
  109.       _loc2_.lineTo(- _loc1_,- _loc1_);
  110.       _loc2_.endFill();
  111.       var _loc3_ = 7697781;
  112.       _loc1_ = 3;
  113.       _loc2_.beginFill(_loc3_);
  114.       _loc2_.moveTo(- _loc1_,- _loc1_);
  115.       _loc2_.lineTo(_loc1_,0);
  116.       _loc2_.lineTo(- _loc1_,_loc1_);
  117.       _loc2_.lineTo(- _loc1_,- _loc1_);
  118.       _loc2_.endFill();
  119.       _loc2_._x = Math.floor(x);
  120.       _loc2_._y = Math.floor(y);
  121.       _loc2_._rotation = !isOpen ? 0 : 90;
  122.    }
  123. }
  124.