new Drawable()
Drawable 定义了绘制接口,此接口可用于绘制组件背景、图标等(如按钮的背景和图标);
一个 Drawable 实例可用于多个组件,并在 draw 函数中通过参数区分;开发者如果需要自定义 Drawable,一般需要重写 draw 函数
Methods
-
addPropertyChangeListener(listener, scope, ahead) → {void}
-
增加属性事件变化监听函数
Parameters:
Name Type Attributes Description listener
Object 监听器函数
scope
any <optional>
函数域
ahead
boolean <optional>
是否将当前监听器插入到监听器列表开头
Returns:
void -
draw(x, y, width, height, data, view, dom) → {void}
-
绘制内容
Parameters:
Name Type Attributes Description x
number 绘制范围的 x 坐标
y
number 绘制范围的 y 坐标
width
number 绘制范围的宽度
height
number 绘制范围的高度
data
ht.Data | ht.ui.View <optional>
绘制相关的 Data 对象,如绘制树组件中节点的 icon 时,可以用此参数判断出当前在绘制哪个节点
view
ht.ui.View 当前在绘制的组件
dom
HTMLElement <optional>
当前在绘制的 dom 对象,绝大多数组件无需考虑这个参数(因为只有一个绘制 canvas),特殊的是右键菜单,每个子菜单都是一个单独的 canvas,这种情况下才有这个参数
Returns:
voidExample
// 下面这段代码绘制了一个矩形 function MyDrawable() { MyDrawable.superClass.constructor.call(this); } ht.Default.def(MyDrawable, ht.ui.drawable.Drawable, { draw: function(x, y, width, height, data, view, dom) { var g = view.getRootContext(dom); g.beginPath(); g.rect(x, y, width, height); g.fillStyle = 'red'; g.fill(); } });
-
firePropertyChange(property, oldValue, newValue, compareFunc) → {boolean}
-
派发属性变化事件
Parameters:
Name Type Attributes Description property
string 属性名
oldValue
any 属性变化之前的值
newValue
any 属性变化之后的值
compareFunc
Object <optional>
比较函数,用于比较新值和旧值是否一致,如果一致则不会派发事件
Returns:
boolean -事件是否派发成功
-
fp(property, oldValue, newValue, compareFunc) → {boolean}
-
派发属性变化事件,firePropertyChange 的缩写
Parameters:
Name Type Attributes Description property
string 属性名
oldValue
any 属性变化之前的值
newValue
any 属性变化之后的值
compareFunc
Object <optional>
比较函数,用于比较新值和旧值是否一致,如果一致则不会派发事件
Returns:
boolean -事件是否派发成功
-
getSerializableProperties() → {any}
-
获取可序列化的属性
Returns:
any -属性 map
-
mp(listener, scope, ahead) → {void}
-
增加属性事件变化监听函数,addPropertyChangeListener 的缩写
Parameters:
Name Type Attributes Description listener
Object 监听器函数
scope
any <optional>
函数域
ahead
boolean <optional>
是否将当前监听器插入到监听器列表开头
Returns:
void -
removePropertyChangeListener(listener, scope) → {void}
-
删除属性事件变化监听器
Parameters:
Name Type Attributes Description listener
Object 监听器函数
scope
any <optional>
函数域
Returns:
void -
ump(listener, scope) → {void}
-
删除属性事件变化监听器,removePropertyChangeListener 的缩写
Parameters:
Name Type Attributes Description listener
Object 监听器函数
scope
any <optional>
函数域
Returns:
void