<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    TWaver - 專注UI技術

    http://twaver.servasoft.com/
    posts - 171, comments - 191, trackbacks - 0, articles - 2
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    如何實現link多層bundle

    Posted on 2013-07-22 15:33 TWaver 閱讀(1725) 評論(0)  編輯  收藏
    TWaver默認的Link只能分組bundle,沒有分層bundle(也就是展開一層后,再展開一層,或合并一層后,再合并一層),因為在多層bundle中,在中間層中,無法自動分辨是想合并還是展開。這里寫個例子,屏蔽了默認的雙擊Link展開或者合并LinkBundle,通過按鈕實現多層bundle(這里實現了兩層的合并或展開)。

    TWaver中相同Styles.LINK_BUNDLE_ID才能bundle,所以第一層Link分組設置Styles.LINK_BUNDLE_ID



     1 for(var i:int=0; i<4; i++){
     2         var link:Link = new Link(node, node2);
     3         link.name = "link " + i;
     4         if(i%2 == 0){
     5             link.setStyle(Styles.LINK_BUNDLE_ID, "bundle1");
     6             link.setStyle(Styles.LINK_COLOR, 0xFF0000);
     7         }else{
     8             link.setStyle(Styles.LINK_BUNDLE_ID, "bundle2");
     9             link.setStyle(Styles.LINK_COLOR, 0x0000FF);
    10         }
    11         box.add(link);
    12 }

    第一層合并或展開,可以直接使用TWaver方法

    1 link.reverseBundleExpanded();

    第二層合并,需要記錄上一層的Styles.LINK_BUNDLE_ID,因為在展開時需要恢復原本的Styles.LINK_BUNDLE_ID,并需要設置Styles.LINK_BUNDLE_EXPANDED為false,最后重新設置所有Link的Styles.LINK_BUNDLE_ID為相同的值
    1 e.setStyle(Styles.LINK_BUNDLE_ID, e.getClient("original_bundle_id"));
    2 e.setStyle(Styles.LINK_BUNDLE_EXPANDED, false);
    3 e.setStyle(Styles.LINK_BUNDLE_ID, "bundle");

    從完全合并第一次展開的時候,需要恢復原本的Styles.LINK_BUNDLE_ID,并將所有Link的original_bundle_id設置為null,設置e.setStyle(Styles.LINK_BUNDLE_EXPANDED, false);(展開后為第一層的合并狀態)
    1 e.setStyle(Styles.LINK_BUNDLE_ID,&nbsp;e.getClient("original_bundle_id"));
    2 e.setClient("original_bundle_id", null);
    3 e.setStyle(Styles.LINK_BUNDLE_EXPANDED, false);

    見實現方法
     1 private function bundle(expand:Boolean):void {
     2         var link:Link = network.selectionModel.lastData as Link;
     3         if(link == null){
     4             return;
     5         }
     6         if(link.getStyle(Styles.LINK_BUNDLE_EXPANDED)){
     7             if(!expand){
     8                 link.reverseBundleExpanded();
     9              }
    10          }else{
    11              if(expand){
    12                  if(link.getClient("original_bundle_id") == null){
    13                      link.reverseBundleExpanded();
    14                  }else{
    15                      getSharedLinks(link.fromNode,
    16                         link.toNode).forEach(function(e:IElement):void {
    17                          e.setStyle(Styles.LINK_BUNDLE_ID,
    18                          e.getClient("original_bundle_id"));
    19                          e.setClient("original_bundle_id", null);
    20                          e.setStyle(Styles.LINK_BUNDLE_EXPANDED, false);
    21                      });
    22                  }
    23              }else{
    24                  getSharedLinks(link.fromNode,
    25                     link.toNode).forEach(function(e:IElement):void {
    26                      e.setClient("original_bundle_id",
    27                      e.getStyle(Styles.LINK_BUNDLE_ID));
    28                      e.setStyle(Styles.LINK_BUNDLE_ID, "bundle");
    29                      e.setStyle(Styles.LINK_BUNDLE_EXPANDED, false);
    30                  });
    31              }
    32          }
    33 }
    可以執行文件下載 LinkBundleDemo

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 色屁屁在线观看视频免费| 亚洲精品在线电影| 日亚毛片免费乱码不卡一区| 日本免费福利视频| 极品色天使在线婷婷天堂亚洲| 永久免费观看的毛片的网站| 亚洲色偷偷偷综合网| 免费看香港一级毛片| 亚洲av永久无码精品秋霞电影秋 | 中文字幕a∨在线乱码免费看| 亚洲午夜精品久久久久久浪潮| 五月天国产成人AV免费观看| 丝袜熟女国偷自产中文字幕亚洲| 国产在线精品一区免费香蕉| 亚洲电影中文字幕| 日韩欧毛片免费视频| 亚洲国产精品成人午夜在线观看| 免费一区二区三区四区五区| 成人一级免费视频| 亚洲乱亚洲乱妇无码麻豆| 99精品视频在线视频免费观看| 亚洲日韩中文字幕| 国产精品99久久免费| 国产特黄一级一片免费| 亚洲AV日韩AV永久无码下载| 免费在线看v网址| 黄色免费在线观看网址| 亚洲色欲久久久综合网| 成人免费视频网站www| 亚洲av永久中文无码精品综合| 亚洲免费在线观看| 毛片无码免费无码播放| 亚洲国产精品ⅴa在线观看| 亚洲乳大丰满中文字幕| 日本一区二区三区免费高清| 一级午夜免费视频| 亚洲91精品麻豆国产系列在线| 免费国产a国产片高清网站| 99re在线免费视频| 香蕉视频免费在线播放| 亚洲毛片免费视频|