发布时间 : 星期三 文章TWaver学习笔记1-TWaver入门更新完毕开始阅读b3a18217c5da50e2534d7f04
public function
removePropertyChangeListener(listener:Function):void public function
addHiberarchyChangeListener(listener:Function, priority:int = 0
, useWeakReference:Boolean = false):void
public function
removeHiberarchyChangeListener(listener:Function):void protected function onDataPropertyChanged(data:IData, e:PropertyChangeEvent):void
protected function onClientChanged(styleProp:String, oldValue:*, newValue:*):void
一个容器,自然要提供数据管理的方法 ,DataBox中定义了下面的方法进行数据增删操作
publicfunctionadd(data:IData, index:int= -1):void public function remove(data:IData):void public function removeByID(id:Object):void public function clear():void
public function getDataByID(id:Object):IData public function contains(data:IData):Boolean
对数据的遍历查找也提供了简便的方法
publicfunctionforEach(callbackFunction:Function):void public function
forEachByDepthFirst(callbackFunction:Function, data:IData = null):void
private function depthFirst(callbackFunction:Function, data:IData):void
public function
forEachByBreadthFirst(callbackFunction:Function, data:IData = null):void
DataBox还管理着数据的层次模型 ,提供了下面的方法方便数据的移动和插入操作
publicfunctionmoveUp(data:IData):void
public function moveDown(data:IData):void public function moveToTop(data:IData):void public function moveToBottom(data:IData):void
public function moveTo(data:IData, newIndex:int):void
此外DataBox对数据元素的选中机制做了封装,实现了数据的选中模型(SelectionModel),并提供了便捷操作的方法
publicfunctionget selectionModel():SelectionModel public function moveSelectionUp(sm:SelectionModel = null):void
public function moveSelectionDown(sm:SelectionModel = null):void
public function moveSelectionToTop(sm:SelectionModel = null):void
public function moveSelectionToBottom(sm:SelectionModel = null):void
TWaverFlex中定义了LayerBox, AlarmBox, ElementBox分别用于图层管理,告警管理和网元管理,其中前两种容器都是为ElementBox服务的,用于管理网元的图层和告警信息
?
LayerBox
LayerBox是管理图层的容器,需要与一个ElementBox关联,其中定义了添加删除层的方法,还预定义了一个默认层
functionLayerBox(elementBox:ElementBox) public function get elementBox():ElementBox public function get defaultLayer():ILayer
* h3. AlarmBox
AlarmBox是管理告警的容器,首先需要与一个ElementBox相关联
functionAlarmBox(elementBox:ElementBox) public function get elementBox():ElementBox
AlarmBox还定义了AlarmElementMapping用来定义网元与告警之间的对应关系,用户可以定制这一关系,实现一个告警影响多个网元的业务需求
publicfunctionget/setalarmElementMapping():IAlarmElementMapping
此外还提供了下面的属性
//网元在ElementBox中被删除时,告警是否从AlarmBox中删除 removeAlarmWhenElementIsRemoved //告警设置为清除级别时,是否自动删除告警 removeAlarmWhenAlarmIsCleared
* h3. ElementBox
ElementBox中包含告警容器,图层容器,是管理网元数据的容器,TWaverFlex中为ElementBox定义了专有的视图组件,用于图形化的显示网元的拓扑关系。
ElementBox中封装了很多功能,是TWaverFlex中最重要和最常用的类,我们将在以后的章节中详细介绍。
ElementBox HelloWorld 示例
layout=\pageTitle=\creationComplete=\> import twaver.Link; import twaver.Node; import twaver.ElementBox; private function init():void{ var box:ElementBox=new ElementBox(); var node1:Node=new Node(); node1.name=\; node1.setLocation(20,20); box.add(node1); var node2:Node=new Node(); node2.name=\; node2.setLocation(200,100); box.add(node2); var link:Link=new Link(node1,node2); link.name=\; box.add(link); network.elementBox=box; tree.dataBox=box; } ]]>