API Docs for: TWaver HTML5 5.7.5
Show:

twaver.controls.ViewBase Class

基本视图

视图基类,和数据容器(DataBox)关联,用于图形化展示数据容器中的数据

Constructor

twaver.controls.ViewBase

() twaver.controls.ViewBase

Methods

twaver.controls.ControlBase.addPool

(
  • pool
)

Inherited from twaver.controls.ControlBase:

添加HTML元素缓存池

Parameters:

twaver.controls.ControlBase.adjustBounds

(
  • rect
)

Inherited from twaver.controls.ControlBase:

设置组件新的位置以及大小,twaver布局管理器(twaver.controls.SplitPane等)在大小变化时会调用此方法

Parameters:

  • rect Object

    新的位置以及大小,值为包含x、y、width和height属性的Object对象

twaver.controls.ControlBase.getView

() HTMLDivElement

Inherited from twaver.controls.ControlBase:

获取组件的HTML元素

Returns:

HTMLDivElement:

返回组件的HTML元素

twaver.controls.ControlBase.invalidate

(
  • [delay]
)

Inherited from twaver.controls.ControlBase:

无效组件,在等待指定毫秒数后,刷新组件(调用validate方法),当组件属性更改后,须调用此方法,让组件重画

Parameters:

  • [delay] Number optional

    延迟刷新等待的毫秒数,可选,默认为twaver.Defaults.CALL_LATER_DELAY

twaver.controls.ControlBase.isAutoAdjustBounds

() Boolean

Inherited from twaver.controls.ControlBase:

获取视图是否自动计算Bounds(边界)

Returns:

Boolean:

是否自动调整Bounds

twaver.controls.ControlBase.removePool

(
  • pool
)

Inherited from twaver.controls.ControlBase:

删除HTML元素缓存池

Parameters:

twaver.controls.ControlBase.setAutoAdjustBounds

(
  • autoAdjustBounds
)

Inherited from twaver.controls.ControlBase:

设置视图是否自动计算Bounds

Parameters:

  • autoAdjustBounds Boolean

    是否自动计算Bounds

twaver.controls.ControlBase.validate

()

Inherited from twaver.controls.ControlBase:

重画组件,调用invalidate后,此方法会被调用

twaver.controls.ControlBase.validateImpl

()

Inherited from twaver.controls.ControlBase:

调用validate方法后,此方法会被调用,子类须重载此方法以重画组件

twaver.controls.ViewBase.addInteractionListener

(
  • listener
  • [scope]
  • [ahead]
)

添加交互事件监听器,用于监听用户各种操作

Parameters:

  • listener Function

    回调函数

  • [scope] Object optional

    可选,回调函数的作用域,默认为null,即全局

  • [ahead] Boolean optional

    可选,是否将此监听放在最前面,默认为false

Example:

viewBase.addInteractionListener(function (e) { console.log(e.kind, e.element); });

kind可以为下列值: createElement 创建网元 clickElement 单击网元 doubleClickElement 双击网元 clickBackground 单击背景 doubleClickBackground 双击背景 removeElement 删除网元 selectAll 选中所有网元 upSubNetwork 进入上一层子网 enterSubNetwork 进入子网 bundleLink 展开或合并连线捆绑 expandGroup 展开组 liveMoveStart 开始实时移动网元 liveMoveBetween 正在实时移动网元 liveMoveEnd 结束实时移动网元 lazyMoveStart 开始延迟移动网元 lazyMoveBetween 正在延迟移动网元 lazyMoveEnd 结束延迟移动网元 liveResizeStart 开始实时改变网元大小 liveResizeBetween 正在实时改变网元大小 liveResizeEnd 结束实时改变网元大小 lazyResizeStart 开始延迟改变网元大小 lazyResizeBetween 正在延迟改变网元大小 lazyResizeEnd 结束延迟改变网元大小 selectStart 开始框选 selectBetween 正在框选 selectEnd 结束框选 liveMovePointStart 开始移动ShapeLink或ShapeNode的点 liveMovePointBetween 正在移动ShapeLink或ShapeNode的点 liveMovePointEnd 结束移动ShapeLink或ShapeNode的点

twaver.controls.ViewBase.addViewListener

(
  • listener
  • [scope]
  • [ahead]
)

添加视图变化事件,用于在视图无效、刷新之前或刷新之后执行自定义动作

Parameters:

  • listener Function

    回调函数

  • [scope] Object optional

    可选,回调函数的作用域,默认为null,即全局

  • [ahead] Boolean optional

    可选,是否将此监听放在最前面,默认为false

Example:

viewBase.addViewListener(function (e) { console.log(e.kind); }); kind可以为: invalidate 无效视图 validateStart 刷新视图前 validateEnd 刷新视图后

twaver.controls.ViewBase.fireInteractionEvent

(
  • evt
)

派发交互事件

Parameters:

  • evt Object

    交互事件

twaver.controls.ViewBase.fireViewEvent

(
  • evt
)

当视图需要重画时,TWaver调用此方法派发视图变化事件

Parameters:

  • evt Object

    视图变化事件

twaver.controls.ViewBase.getIcon

(
  • data
)
String

获取指定数据元的图标,默认返回data#getIcon

Parameters:

Returns:

String:

返回指定数据元的图标

twaver.controls.ViewBase.getLabel

(
  • data
)
String

获取指定数据元的标签,默认返回Data#getName

Parameters:

Returns:

String:

返回指定数据元的标签

twaver.controls.ViewBase.getSelectColor

(
  • data
)
String

获取指定数据元的选中颜色,默认值为twaver.Defaults.SELECT_COLOR

Parameters:

Returns:

String:

返回指定数据元的选中颜色

twaver.controls.ViewBase.getSelectionModel

() twaver.SelectionModel

获取选择模型,如果ViewBase#isShareSelectionModel为true(默认值为true),则返回和ViewBase绑定的DataBox的SelectionModel,否则返回视图自己独立的SelectionModel

Returns:

twaver.SelectionModel:

返回选择模型

twaver.controls.ViewBase.getToolTip

(
  • data
)
String

获取指定数据元的提示信息,默认返回Data#getToolTip

Parameters:

Returns:

String:

返回指定数据元的提示信息

twaver.controls.ViewBase.isFocusOnClick

() Boolean

获取点击时是否让视图获得焦点

Returns:

Boolean:

返回点击时是否让视图获得焦点

twaver.controls.ViewBase.isSelectable

(
  • data
)
Boolean

判断指定数据元是否可以被选择,此方法包装了SelectionModel的isSelectable方法

Parameters:

Returns:

Boolean:

返回指定数据元是否可以被选择

twaver.controls.ViewBase.isSelected

(
  • data
)
Boolean

获取指定数据元是否已被选中

Parameters:

Returns:

Boolean:

返回指定数据元是否已被选中

twaver.controls.ViewBase.isShareSelectionModel

() Boolean

获取是否和视图绑定的数据容器共享选择模型,默认为true

Returns:

Boolean:

返回是否和视图绑定的数据容器共享选择模型

twaver.controls.ViewBase.removeInteractionListener

(
  • listener
  • [scope]
)

删除指定作用域的交互监听器,作用域必须和添加监听器时的作用域一致,相同的作用域的相同监听器只能成功添加一次

Parameters:

  • listener Function

    交互监听器

  • [scope] Object optional

    交互监听器的作用域,可选,默认为null,代表全局

twaver.controls.ViewBase.removeSelection

() twaver.List

删除选中的网元

Returns:

twaver.List:

返回被删除的网元集合

twaver.controls.ViewBase.removeViewListener

(
  • listener
  • [scope]
)

删除指定作用域的视图变化监听器,作用域必须和添加监听器时的作用域一致,相同的作用域的相同监听器只能成功添加一次

Parameters:

  • listener Function

    视图变化监听器

  • [scope] Object optional

    视图变化监听器的作用域,可选,默认为null,代表全局

twaver.controls.ViewBase.selectAll

() twaver.List

选中所有网元

Returns:

twaver.List:

返回所有选中的网元

twaver.controls.ViewBase.setFocusOnClick

(
  • v
)

设置点击时是否让Network获得焦点

Parameters:

  • v Boolean

    点击时是否让Network获得焦点

twaver.controls.ViewBase.setShareSelectionModel

(
  • shareSelectionModel
)

设置是否和Network绑定的ElementBox共享选择模型,默认为true

Parameters:

  • shareSelectionModel Boolean

    是否和Network绑定的ElementBox共享选择模型

twaver.PropertyChangeDispatcher.addPropertyChangeListener

(
  • listener
  • [scope]
  • [ahead]
)

添加属性变化监听器,用于监听属性变化

Parameters:

  • listener Function

    属性变化监听器

  • [scope] Object optional

    可选,属性变化监听器的作用域,默认为null,即全局

  • [ahead] Boolean optional

    可选,是否将此监听放在最前面,默认为false

Example:

var dispatcher = new twaver.PropertyChangeDispatcher(); dispatcher.addPropertyChangeListener(function (e) { console.log(e.property, e.newValue, e.oldValue); });

twaver.PropertyChangeDispatcher.firePropertyChange

(
  • property
  • oldValue
  • newValue
)
Boolean

派发属性变化事件,属性变化时调用此方法

Parameters:

  • property String

    发生变化的属性

  • oldValue Object

    和此属性相关的旧值

  • newValue Object

    和此属性相关的新值

Returns:

Boolean:

如果新值和旧值相等则返回false,否则返回true

twaver.PropertyChangeDispatcher.getClassName

() String

获取此类的字符串类名

Returns:

String:

返回此类的字符串类名

twaver.PropertyChangeDispatcher.onPropertyChanged

(
  • e
)

属性变化时(firePropertyChange)触发的动作,不需要调用此方法,但可以重载此方法执行自定义逻辑

Parameters:

  • e Object

    属性变化事件,包含property、oldValue和newValue的Object对象

twaver.PropertyChangeDispatcher.removePropertyChangeListener

(
  • listener
  • [scope]
)

删除指定作用域的属性变化监听器,作用域必须和添加监听器时的作用域一致,相同的作用域的相同监听器只能成功添加一次

Parameters:

  • listener Function

    属性变化监听器

  • [scope] Object optional

    属性变化监听器的作用域,可选,默认为null,代表全局