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开发 ---从互联网上下载文件,回调函数,图片压缩.倒转 效果图: 描述: 当点击“下载网络图像”按钮时,系统会将图二中的照片在互联网上找到,并显示在图像框中 注意:这个例子并没有将图 ...
随机推荐
- Android--Notification
1.通知(Notification)是应用程序没有运行在前台时可以向用户发出一些提示消息的功能,发出通知后,手机状态栏会显示通知,用户可以通过下拉状态栏来查看和操作通知: 2.Notification ...
- Magicodes.WeiChat——WeChatOAuthTest(网页授权获取用户基本信息)
Demo访问地址:http://wechat.magicodes.net/app/AppDemo/WeChatOAuthTest?tenantId=1 关于公众号如何获取用户信息,请参考此文档:htt ...
- MERGE 用法
1.不带输出的SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER proc [dbo].[InsertShiGongJiao] ), @com ...
- 深入探索AngularJS(持续更新)
数据双向绑定并不是Angular最出彩的地方.大部分对AngularJs的介绍都偏重于使用,使用的学习只是学了AngularJs的API,而那只能AngularJs的很小一部分.随着使用越来越深,系统 ...
- 微软MSDN订阅用户已可提前手工下载Windows 10安装包
在Windows 10发布之夜,当全世界都在翘首以盼Windows 10免费发布推送的到来,MSDN订阅用户可以立马享受一项令人项目的特殊待遇:手工下载Windows 10完整安装包+免费使用的激活密 ...
- 移动开发下Xamarin VS PhoneGap
跨平台开发 移动应用开发对很多开发人员来说是一种令人恐惧的事情.许多企业希望能够通过开发移动应用程序,来提升企业业务水平,开发原生App时往往又缺少专业的Objective C 或 Java 移动开发 ...
- MySQL SELECT执行顺序
SELECT语句的完整语法为: () SELECT () DISTINCT <select_list> () FROM <left_table> () <join_typ ...
- MySql 分页
MySql 分页 由于最近项目需要,于是就简单写了个分页查询.总体而言MySql 分页机制较为简单.数据库方面只需要使用limit即可实现分页.前后台交互就直接用session传了值. 下面就写写具体 ...
- MySQL完整性语言
文章为作者原创,未经许可,禁止转载. -Sun Yat-sen University 冯兴伟 实验3:完整性语言 完整性语言实验包含3个实验项目,其中2个必修项目,1个选修项目.该实验的各个实验 ...
- Windows Server 2012 如何实现多个用户远程桌面登陆?
Windows Server 2012 如何实现多个用户远程桌面登陆?说明:Windows Server 2012默认情况下,只运行2个用户远程桌面登陆,这里我们可以通过安装远程桌面会话主机配置来实现 ...