• TWaver Flex开发示例及license下载


    做电信项目的朋友一定知道TWaver,而Flex版具有很好的跨平台性,很适合做B/S模式的应用。

    Flex版的在线DEMO:http://twaver.servasoft.com/demo/twaver_flex/twaver-flex-online-demo.html

    TWaver提供了很多的电信组件,可以方便进行开发。

    只是目前在网上很难找到开发用的  twaver.swc 文件,官网上需要申请才可以,而且限制条件颇多。本人幸得一个开发包和到2013.12.30的一个license文件,不敢独享,特在此分享给大家。虽然是测试用的,但不影响我们做DEMO使用。如果商业使用,还请联系TWaver公司,使用授权的版本。

    同时奉上开发示例,程序如下:

      1 <?xml version="1.0" encoding="utf-8"?>
      2 <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" 
      3                 xmlns:twaver="http://www.servasoftware.com/2009/twaver/flex" 
      4                 applicationComplete="init()">
      5     <mx:XML source="license.xml" id="license"/>
      6     <mx:Script>
      7         <![CDATA[ 
      8             /***
      9              * TWaver Flex 示例程序,license到期时间为2013.12.30
     10              * author:liongis@163.com
     11              * date:2013.11.11
     12              **/ 
     13             
     14             import mx.controls.Alert;
     15             import mx.core.*;
     16             import mx.events.*;
     17             import mx.managers.*;
     18             
     19             import twaver.*;
     20             import twaver.network.Network;
     21             import twaver.network.interaction.*;
     22  
     23             private var box:ElementBox; 
     24             private var number:int; 
     25             
     26             private function init():void
     27             {                
     28                 trace(Utils.validateLicense(this.license).toString());
     29 
     30                 number=0; 
     31                 box=network.elementBox; 
     32                 tree.dataBox=box; 
     33                 table.dataBox=box; 
     34                 var group:Group=new Group(); 
     35                 group.name="group"; 
     36                 box.add(group); 
     37                 group.addChild(createTWaverNode("node1",200,100)); 
     38                 group.addChild(createTWaverNode("node2",300,130)); 
     39                 group.expanded=true; 
     40                 var from:Node=createTWaverNode("from",30,30); 
     41                 var to:Node=createTWaverNode("to",70,150); 
     42                 var link:Link=new Link(from,to); 
     43                 link.name="hello TWaver Flex"; 
     44                 box.add(link); 
     45                 
     46                 var format:String="twaver";
     47                 network.addEventListener(DragEvent.DRAG_ENTER,function(evt:DragEvent ):void{
     48                     if( evt.dragSource.hasFormat( format ) )
     49                     {
     50                         DragManager.acceptDragDrop(network);
     51                     }
     52                 });
     53                 network.addEventListener(DragEvent.DRAG_DROP,function ( evt:DragEvent ):void{
     54                     if(evt.dragInitiator==createNodeButton){
     55                         var centerLocation:Point=network.getLogicalPoint(evt as MouseEvent);
     56                         var node:Node=new Node();
     57                         node.centerLocation=centerLocation;
     58                         var parentNode:ISubNetwork=network.currentSubNetwork;
     59                         node.parent=parentNode;
     60                         network.elementBox.add(node);
     61                     }
     62                 });
     63                 createNodeButton.addEventListener(MouseEvent.MOUSE_DOWN,function (evt:MouseEvent ):void
     64                 {
     65                     var dragSource:DragSource = new DragSource();
     66                     dragSource.addData( createNodeButton, format );
     67                     DragManager.doDrag( createNodeButton, dragSource, evt );
     68                 });
     69             } 
     70             
     71             private function createTWaverNode(name:String,x:int,y:int):Node
     72             { 
     73                 var node:Node=new Node(); 
     74                 node.name=name; 
     75                 node.setClient("number",number++); 
     76                 node.setLocation(x,y); 
     77                 box.add(node); 
     78                 return node; 
     79             } 
     80 
     81             protected function button1_clickHandler(event:MouseEvent):void
     82             {
     83                 network.setDefaultInteractionHandlers();
     84             }
     85             
     86             protected function button2_clickHandler(event:MouseEvent):void
     87             {
     88                 network.setEditInteractionHandlers();
     89             }
     90             
     91             protected function button3_clickHandler(event:MouseEvent):void
     92             {
     93                 network.interactionHandlers = new Collection([
     94                     new SelectInteractionHandler(network),
     95                     new EditInteractionHandler(network),
     96                     new MoveInteractionHandler(network),
     97                     new DefaultInteractionHandler(network),
     98                     new MapFilterInteractionHandler(network),
     99                 ]);
    100             }
    101             
    102             protected function button4_clickHandler(event:MouseEvent):void
    103             {
    104                 network.interactionHandlers = new Collection([
    105                     new SelectInteractionHandler(network),
    106                     new EditInteractionHandler(network),
    107                     new MoveInteractionHandler(network),
    108                     new DefaultInteractionHandler(network),
    109                     new MapFilterInteractionHandler(network, Consts.MAP_FILTER_MAGNIFY),
    110                 ]);
    111             }
    112             
    113             protected function button5_clickHandler(event:MouseEvent):void
    114             {
    115                 network.setCreateLinkInteractionHandlers();
    116             }
    117             
    118             protected function button6_clickHandler(event:MouseEvent):void
    119             {
    120                 network.setCreateShapeLinkInteractionHandlers(ShapeLink);
    121             }
    122             
    123             protected function button7_clickHandler(event:MouseEvent):void
    124             {
    125                 network.setCreateShapeNodeInteractionHandlers();
    126             }
    127 
    128         ]]>
    129     </mx:Script>
    130     <mx:Panel title="Hello TWaver! - Tree, Network &amp; Table" width="100%" height="100%">
    131         <mx:HDividedBox width="100%" height="100%">
    132             <twaver:Tree id="tree" width="30%" height="100%"/>
    133             <mx:VDividedBox width="100%" height="100%">
    134                 <mx:Panel title="Hello TWaver! - Network Interaction Mode" width="100%" height="100%" verticalGap="0">
    135                     <mx:HBox width="100%" horizontalGap="0" >
    136                         <mx:Button label="Default" click="button1_clickHandler(event)"/>
    137                         <mx:Button label="Editor" click="button2_clickHandler(event)"/>
    138                         <mx:Button label="FishEye" click="button3_clickHandler(event)"/>
    139                         <mx:Button label="Magnify" click="button4_clickHandler(event)"/>
    140                         <mx:Button label="CreateNode" id="createNodeButton"/>
    141                         <mx:Button label="CreateLink" click="button5_clickHandler(event)"/>
    142                         <mx:Button label="CreateShapeLink" click="button6_clickHandler(event)"/>
    143                         <mx:Button label="CreateShapeNode" click="button7_clickHandler(event)"/>
    144                     </mx:HBox>
    145                     <twaver:Network id="network" width="100%" height="100%">
    146                     </twaver:Network>
    147                 </mx:Panel>
    148                 <twaver:Table width="100%" height="30%" id="table" editable="true">
    149                     <twaver:columns>
    150                         <twaver:TableColumn dataField="name" headerText="Name"/>
    151                         <twaver:TableColumn dataField="id" headerText="ID"/>
    152                         <twaver:TableColumn dataField="icon" headerText="Icon"/>
    153                         <twaver:TableColumn dataField="C:number" headerText="Number"/>
    154                     </twaver:columns>
    155                 </twaver:Table>
    156             </mx:VDividedBox>
    157         </mx:HDividedBox>
    158     </mx:Panel>
    159 </mx:Application>

    程序说明:

    <mx:XML source="license.xml" id="license"/>为引用 license 文件。

    并在程序初始化完后,使用 Utils.validateLicense(this.license).toString() 进行验证,如果返回的结果为 true 则 license 文件为有效的。

    最终运行的效果如下:

    有兴趣的朋友可以通过下面的地址下载:

    http://files.cnblogs.com/liongis/TWaverTest.zip

    license到期时间为2013.12.31,需要的朋友赶快下载。

  • 相关阅读:
    如何搭建ssh服务?
    安利三款提升幸福感的chrome插件
    EF6学习笔记七:代码迁移
    EF6学习笔记六:实体拆分(Entity Spliting)实现TPT、表拆分(Table Spliting)实现TPH
    EF6学习笔记五:继承三策略
    EF6学习笔记四:一对多、多对多、一对一关系配置(Fluent API)
    EF6学习笔记三:全局约定和自定义约定,整理并记下来
    EF6学习笔记二:一些详细配置,开始设计一个稍微能用的数据模型
    EF6学习笔记一:code-first简单创建数据库、表的一些过程
    Spring Cloud微服务实战 打造企业级优惠券系统 2-9 Spring Data JPA
  • 原文地址:https://www.cnblogs.com/liongis/p/3430506.html
Copyright © 2020-2023  润新知