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公司,使用授权的版本。
同时奉上开发示例,程序如下:
<?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 & 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下载的更多相关文章
- [转]Net Framework引路蜂地图开发示例
From:http://www.2cto.com/kf/201207/140421.html 引路蜂地图也提供对.Net Framework平台的支持,可以开发桌面地图应用,由于Mono C#的跨平台 ...
- 基于ArcGIS Viewer for Flex开发的一款跨平台的应用程序
特点: 1.基于ArcGIS Viewer for Flex开发的一款跨平台的应用程序: -(IBAction) showTOC:(id)sender { if (_tocViewController ...
- DevExpress .NET界面开发示例大全
说到做.net界面开发,很多人应该都会想到DevExpress. 它的 .net界面开发系列一共有7个版本:WinForms.ASP.NET.MVC.WPF.Silverlight.Windows 8 ...
- Padrino 博客开发示例
英文版出处:http://www.padrinorb.com/guides/blog-tutorial 楼主按 拿作者自己的话说:Padrino(谐音:派骓诺)是一款基于Sinatra的优雅的Web应 ...
- Eclipse配置Flex开发环境(转)
Eclipse配置Flex开发环境 开发环境:Eclipse3.2.Flex Builder31.下载安装Flex Builder3,下载地址:http://subject.csdn.net/adob ...
- Agile.Net 组件式开发平台 - 组件开发示例
所谓组件式开发平台,它所有的功能模块都是以组件的形式扩展的,下面我来演示一个简单的组件开发例程. Agile.Net开发管理平台项目,已经托管在开源中国码云平台(http://git.oschina. ...
- NPAPI火狐插件VS2013开发示例
NPAPI火狐插件VS2013开发示例 下面是我根据网上开发示例自己做的一个demo,并提供代码下载. 开发环境 Windows 8.1 x64 Visual studio 2013 准备工作 首先需 ...
- pyqt开发教程-搭建环境和开发示例
搭建环境和开发示例 * 安装 安装包 要对应python的版本 32位安装包(我PC上) http://jaist.dl.sourceforge.net/project/pyqt/PyQt4/PyQt ...
- Android开发 ---从互联网上下载文件,回调函数,图片压缩、倒转
Android开发 ---从互联网上下载文件,回调函数,图片压缩.倒转 效果图: 描述: 当点击“下载网络图像”按钮时,系统会将图二中的照片在互联网上找到,并显示在图像框中 注意:这个例子并没有将图 ...
随机推荐
- Druid的使用步骤
一.关于Druid Druid是一个JDBC组件,它包括三部分: DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体系. DruidDataSource 高效可 ...
- 导航VC的左右item代码
代码控制左右item: UIButton *btnCancel = [UIButton buttonWithType:UIButtonTypeCustom]; btnCancel.frame= ...
- wordnet的一些入门性介绍
关于wordnet的介绍很多,中英文都有,我这里主要是参考了别人的.自己组织了一下. 1.简介 1.1关于词典 Wordnet是一个由普林斯顿大学认识科学实验室在心理学教授乔治·A·米勒的指导下建立和 ...
- java编程规范
一.规范存在的意义 应用编码规范对于软件本身和软件开发人员而言尤为重要,有以下几个原因: 1.好的编码规范可以尽可能的减少一个软件的维护成本 , 并且几乎没有任何一个软件,在其整个生命周期中,均由最初 ...
- PHP-Beast V0.6 发布 (PHP源码加密模块)
本版本主要修改了一些bug和增加了一些配置项: 1. 设置缓存大小可以使用单位, 例如: beast.cache_size = 10m; 2. 可以在配置文件中禁止beast模块, 例如: beast ...
- [ACM_水题] UVA 11729 Commando War [不可同时交代任务 可同时执行 最短完成全部时间 贪心]
There is a war and it doesn't look very promising for your country. Now it's time to act. You have a ...
- Mathematica修改默认字体
1. 打开Option Inspector 2. 第一个下拉框选择Global Preference, 搜索stylehints 3. 修改字体为想要换的字体FamilyName, 比如换成苹果黑体 ...
- [python爬虫] Selenium定向爬取海量精美图片及搜索引擎杂谈
我自认为这是自己写过博客中一篇比较优秀的文章,同时也是在深夜凌晨2点满怀着激情和愉悦之心完成的.首先通过这篇文章,你能学到以下几点: 1.可以了解Python简单爬取图片的一些思路和方法 ...
- baguetteBox.js响应式画廊插件(纯JS)
baguetteBox.js baguetteBox.js 是一个简单和易于使用lightbox纯JavaScript脚本,拥有图像放大缩小并带有相应的CSS3过度,并能在触摸屏等设备上完美展示. D ...
- prepareStatement与Statement的区别
prepareStatement与Statement的区别 1.区别: 转 http://blog.csdn.net/zsm653983/article/details/7296609 stmt=co ...