做电信项目的朋友一定知道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. 写在Python前

    Python是用C编写的一种解释型语言,和shell一样,变量可以直接使用,而且就像C中的宏替换,但是Python同样支持进行底层的调用,可以很容易的和各种语言进行融合,俗称"胶水语言&qu ...

  2. 使用java 程序创建格式为utf-8文件的方法(写入和读取json文件)

    使用java 程序创建格式为utf-8文件的方法:  try{            File file=new   File("C:/11.jsp");              ...

  3. SQLSERVER 数据库性能的的基本

    SQLSERVER 数据库性能的基本 很久没有写文章了,在系统正式上线之前,DBA一般都要测试一下服务器的性能 比如你有很多的服务器,有些做web服务器,有些做缓存服务器,有些做文件服务器,有些做数据 ...

  4. C#通过反射获取上层调用方法信息

    System.Diagnostics.StackFrame frame = ); System.Reflection.MethodBase method = frame.GetMethod(); st ...

  5. Dynamic CRM 2013学习笔记(二十六)报表设计:Reporting Service报表 动态参数、参数多选全选、动态列、动态显示行字体颜色

    上次介绍过CRM里开始报表的一些注意事项:Dynamic CRM 2013学习笔记(十五)报表入门.开发工具及注意事项,本文继续介绍报表里的一些动态效果:动态显示参数,参数是从数据库里查询出来的:参数 ...

  6. 将GitLab的数据库导入阿里云PostgreSQL RDS

    GitLab的数据库用的是PostgreSQL,之前由于阿里云RDS不支持PostgreSQL,只能将GitLab的数据库部署在云服务器上. 6月1日得知阿里云推出了PostgreSQL RDS,于是 ...

  7. Helios与Katana的区别

    Helios与Katana都是微软开发的基于IIS的OWIN实现. 它们之间的区别很简单:Helios不依赖于ASP.NET Runtime,Katana依赖于ASP.NET Runtime. Hel ...

  8. 阿里云服务器PPTP VPN安装记录

    # sudo apt-get install pptpd   http://blog.kunyu.li/digitalocean-ubuntu-vps-vpn.html     iptables管理 ...

  9. Paip.声明式编程以及DSL 总结

    Paip.声明式编程以及DSL 总结     1.1      声明式编程DSL 1.2      声明式语言) 1.3      声明式编程框架AOP实现 1.4      应用场合 1.5     ...

  10. springMVC乱码问题-转

    彻底解决Spring MVC 中文乱码 问题     1:表单提交controller获得中文参数后乱码解决方案 注意:  jsp页面编码设置为UTF-8 form表单提交方式为必须为post,get ...