做电信项目的朋友一定知道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公司,使用授权的版本。

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

 <?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:twaver="http://www.servasoftware.com/2009/twaver/flex"
applicationComplete="init()">
<mx:XML source="license.xml" id="license"/>
<mx:Script>
<![CDATA[
/***
* TWaver Flex 示例程序,license到期时间为2013.12.30
* author:liongis@163.com
* date:2013.11.11
**/ import mx.controls.Alert;
import mx.core.*;
import mx.events.*;
import mx.managers.*; import twaver.*;
import twaver.network.Network;
import twaver.network.interaction.*; private var box:ElementBox;
private var number:int; private function init():void
{
trace(Utils.validateLicense(this.license).toString()); number=0;
box=network.elementBox;
tree.dataBox=box;
table.dataBox=box;
var group:Group=new Group();
group.name="group";
box.add(group);
group.addChild(createTWaverNode("node1",200,100));
group.addChild(createTWaverNode("node2",300,130));
group.expanded=true;
var from:Node=createTWaverNode("from",30,30);
var to:Node=createTWaverNode("to",70,150);
var link:Link=new Link(from,to);
link.name="hello TWaver Flex";
box.add(link); var format:String="twaver";
network.addEventListener(DragEvent.DRAG_ENTER,function(evt:DragEvent ):void{
if( evt.dragSource.hasFormat( format ) )
{
DragManager.acceptDragDrop(network);
}
});
network.addEventListener(DragEvent.DRAG_DROP,function ( evt:DragEvent ):void{
if(evt.dragInitiator==createNodeButton){
var centerLocation:Point=network.getLogicalPoint(evt as MouseEvent);
var node:Node=new Node();
node.centerLocation=centerLocation;
var parentNode:ISubNetwork=network.currentSubNetwork;
node.parent=parentNode;
network.elementBox.add(node);
}
});
createNodeButton.addEventListener(MouseEvent.MOUSE_DOWN,function (evt:MouseEvent ):void
{
var dragSource:DragSource = new DragSource();
dragSource.addData( createNodeButton, format );
DragManager.doDrag( createNodeButton, dragSource, evt );
});
} private function createTWaverNode(name:String,x:int,y:int):Node
{
var node:Node=new Node();
node.name=name;
node.setClient("number",number++);
node.setLocation(x,y);
box.add(node);
return node;
} protected function button1_clickHandler(event:MouseEvent):void
{
network.setDefaultInteractionHandlers();
} protected function button2_clickHandler(event:MouseEvent):void
{
network.setEditInteractionHandlers();
} protected function button3_clickHandler(event:MouseEvent):void
{
network.interactionHandlers = new Collection([
new SelectInteractionHandler(network),
new EditInteractionHandler(network),
new MoveInteractionHandler(network),
new DefaultInteractionHandler(network),
new MapFilterInteractionHandler(network),
]);
} protected function button4_clickHandler(event:MouseEvent):void
{
network.interactionHandlers = new Collection([
new SelectInteractionHandler(network),
new EditInteractionHandler(network),
new MoveInteractionHandler(network),
new DefaultInteractionHandler(network),
new MapFilterInteractionHandler(network, Consts.MAP_FILTER_MAGNIFY),
]);
} protected function button5_clickHandler(event:MouseEvent):void
{
network.setCreateLinkInteractionHandlers();
} protected function button6_clickHandler(event:MouseEvent):void
{
network.setCreateShapeLinkInteractionHandlers(ShapeLink);
} protected function button7_clickHandler(event:MouseEvent):void
{
network.setCreateShapeNodeInteractionHandlers();
} ]]>
</mx:Script>
<mx:Panel title="Hello TWaver! - Tree, Network &amp; Table" width="100%" height="100%">
<mx:HDividedBox width="100%" height="100%">
<twaver:Tree id="tree" width="30%" height="100%"/>
<mx:VDividedBox width="100%" height="100%">
<mx:Panel title="Hello TWaver! - Network Interaction Mode" width="100%" height="100%" verticalGap="0">
<mx:HBox width="100%" horizontalGap="0" >
<mx:Button label="Default" click="button1_clickHandler(event)"/>
<mx:Button label="Editor" click="button2_clickHandler(event)"/>
<mx:Button label="FishEye" click="button3_clickHandler(event)"/>
<mx:Button label="Magnify" click="button4_clickHandler(event)"/>
<mx:Button label="CreateNode" id="createNodeButton"/>
<mx:Button label="CreateLink" click="button5_clickHandler(event)"/>
<mx:Button label="CreateShapeLink" click="button6_clickHandler(event)"/>
<mx:Button label="CreateShapeNode" click="button7_clickHandler(event)"/>
</mx:HBox>
<twaver:Network id="network" width="100%" height="100%">
</twaver:Network>
</mx:Panel>
<twaver:Table width="100%" height="30%" id="table" editable="true">
<twaver:columns>
<twaver:TableColumn dataField="name" headerText="Name"/>
<twaver:TableColumn dataField="id" headerText="ID"/>
<twaver:TableColumn dataField="icon" headerText="Icon"/>
<twaver:TableColumn dataField="C:number" headerText="Number"/>
</twaver:columns>
</twaver:Table>
</mx:VDividedBox>
</mx:HDividedBox>
</mx:Panel>
</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,需要的朋友赶快下载。

TWaver Flex开发示例及license下载的更多相关文章

  1. [转]Net Framework引路蜂地图开发示例

    From:http://www.2cto.com/kf/201207/140421.html 引路蜂地图也提供对.Net Framework平台的支持,可以开发桌面地图应用,由于Mono C#的跨平台 ...

  2. 基于ArcGIS Viewer for Flex开发的一款跨平台的应用程序

    特点: 1.基于ArcGIS Viewer for Flex开发的一款跨平台的应用程序: -(IBAction) showTOC:(id)sender { if (_tocViewController ...

  3. DevExpress .NET界面开发示例大全

    说到做.net界面开发,很多人应该都会想到DevExpress. 它的 .net界面开发系列一共有7个版本:WinForms.ASP.NET.MVC.WPF.Silverlight.Windows 8 ...

  4. Padrino 博客开发示例

    英文版出处:http://www.padrinorb.com/guides/blog-tutorial 楼主按 拿作者自己的话说:Padrino(谐音:派骓诺)是一款基于Sinatra的优雅的Web应 ...

  5. Eclipse配置Flex开发环境(转)

    Eclipse配置Flex开发环境 开发环境:Eclipse3.2.Flex Builder31.下载安装Flex Builder3,下载地址:http://subject.csdn.net/adob ...

  6. Agile.Net 组件式开发平台 - 组件开发示例

    所谓组件式开发平台,它所有的功能模块都是以组件的形式扩展的,下面我来演示一个简单的组件开发例程. Agile.Net开发管理平台项目,已经托管在开源中国码云平台(http://git.oschina. ...

  7. NPAPI火狐插件VS2013开发示例

    NPAPI火狐插件VS2013开发示例 下面是我根据网上开发示例自己做的一个demo,并提供代码下载. 开发环境 Windows 8.1 x64 Visual studio 2013 准备工作 首先需 ...

  8. pyqt开发教程-搭建环境和开发示例

    搭建环境和开发示例 * 安装 安装包 要对应python的版本 32位安装包(我PC上) http://jaist.dl.sourceforge.net/project/pyqt/PyQt4/PyQt ...

  9. Android开发 ---从互联网上下载文件,回调函数,图片压缩、倒转

     Android开发 ---从互联网上下载文件,回调函数,图片压缩.倒转 效果图: 描述: 当点击“下载网络图像”按钮时,系统会将图二中的照片在互联网上找到,并显示在图像框中 注意:这个例子并没有将图 ...

随机推荐

  1. Big Event in HDU(HDU1171)可用背包和母函数求解

    Big Event in HDU  HDU1171 就是求一个简单的背包: 题意:就是给出一系列数,求把他们尽可能分成均匀的两堆 如:2 10 1 20 1     结果是:20 10.才最均匀! 三 ...

  2. python递归次数和堆栈溢出问题

    在做递归的时候,测试了一下python的递归能力. 如果不设置递归次数的话,大概只能在992次左右,就会出现错误:RuntimeError: maximum recursion depth excee ...

  3. [转载]& 引用 取地址

    原文地址:& 引用 取地址作者:beter 引用实际上就是给同一个变量取了多个名字.     举个例子:     有个人的名字叫a,之后又改名叫b,这时a和b都是指这个人,这样b就引用了a,即 ...

  4. iOS URL 编码

    一.iOS 中的NSURL编码 iOS 中,NSURL 的基本样式是 scheme://username:password@host:port/path?query#fragment RFC 1738 ...

  5. jenkins2 pipeline高级

    jenkins2 pipeline里groovy的高级用法.翻译自:https://github.com/jenkinsci/pipeline-plugin/blob/master/TUTORIAL. ...

  6. 投票系统开发总结struts2,jfreechart,cookie应用,以及前端技术

    struts2配置web.xml+struts.xml: <?xml version="1.0" encoding="UTF-8"?> <we ...

  7. 用sessionStorage实现页面之间的数据传输

    1.sessionStorage主要含几种方法: //页面A:存放一个简单的字符串 sessionStorage.obj = '123'; //页面B:取到给obj var str = session ...

  8. Ninja Blocks物联网平台简介

    Ninja Blocks是一个物联网控制平台,其平台架构包括硬件层.处理器层.软件层以及平台层,请看下图: 最底层是硬件层,包括传感器(Sensors)和驱动器(Actuators),例如温度传感器. ...

  9. 使用MFC提供的Http类下载和上传文件

    1.下载文件 Download(const CString& strFileURLInServer, //待下载文件的URL const CString & strFileLocalF ...

  10. 幾個步驟輕鬆在windows操作系統上搭建GO語言開發環境

    1. 首先下载官方GO語言安装包: https://code.google.com/p/go/wiki/Downloads?tm=2 2. 设置 GOPATH 在任意磁盘根目录新建一个文件夹,名字随意 ...