<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

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


    網站導航:
     
    主站蜘蛛池模板: 色播在线永久免费视频网站| 特a级免费高清黄色片| 久久免费高清视频| 亚洲综合精品网站| 日韩精品视频在线观看免费| 亚洲免费一区二区| 亚美影视免费在线观看| 亚洲综合无码AV一区二区| 韩国免费a级作爱片无码| 国产亚洲真人做受在线观看| 少妇性饥渴无码A区免费| 亚洲色图在线观看| 久久久久久精品成人免费图片| 亚洲免费在线视频观看| 成年私人影院免费视频网站 | 久久久久久亚洲精品成人| 91精品国产免费网站| 亚洲精品中文字幕无乱码麻豆| 国产视频精品免费| 日韩在线一区二区三区免费视频 | 在线观看无码AV网站永久免费| 亚洲专区一路线二| 国产成人免费ā片在线观看 | 亚洲美女免费视频| 三年片在线观看免费大全| 亚洲欧洲无码AV不卡在线| 日韩亚洲国产二区| 好吊色永久免费视频大全 | 2022免费国产精品福利在线| 亚洲av无码av制服另类专区| 无遮免费网站在线入口| 国产精品亚洲专区无码唯爱网| 国产av无码专区亚洲国产精品| 57pao国产成视频免费播放| 亚洲av色香蕉一区二区三区蜜桃| 亚洲色偷偷综合亚洲AV伊人| 日韩av无码久久精品免费| 亚洲国产午夜精品理论片在线播放| 亚洲日韩人妻第一页| 99久久99久久精品免费看蜜桃| 乱淫片免费影院观看|