Home > PCB_Event > addMouseEventListener
PCB_Event.addMouseEventListener() method
This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.
Add a mouse event listener
Signature
public addMouseEventListener(id: string, eventType: 'all' | EPCB_MouseEventType, callFn: (eventType: EPCB_MouseEventType, props: [{ primitiveId: string; primitiveType: EPCB_PrimitiveType; net?: undefined | string; designator?: undefined | string; parentComponentPrimitiveId?: undefined | string; parentComponentDesignator?: undefined | string }]) => void | Promise<void>, onlyOnce?: boolean): void;Parameters
Parameter | Type | Description |
|---|---|---|
id | string | Event ID, used to prevent duplicate event registration |
eventType | 'all' | EPCB_MouseEventType | Event type |
callFn | (eventType: EPCB_MouseEventType, props: [{ primitiveId: string; primitiveType: EPCB_PrimitiveType; net?: undefined | string; designator?: undefined | string; parentComponentPrimitiveId?: undefined | string; parentComponentDesignator?: undefined | string }]) => void | Promise<void> | The callback function triggered when the event fires |
onlyOnce | boolean | (Optional) Whether to listen only once |
Returns
void
Remarks
Note: This API is only valid for extensions. Calling it in a standalone script environment will always throw Error
Example
const listenerId = '嘉立创示例_mouse_event';
// 1. 注册鼠标事件监听,eventType 用 'all' 接收全部鼠标事件,onlyOnce 为 false 持续监听
eda.pcb_Event.addMouseEventListener(
listenerId,
'all',
(eventType, props) => {
// 回调在用户画布操作时触发;props 是命中图元的信息数组
console.log('mouseEvent:', eventType, JSON.stringify(props));
},
false
);
// 2. 回读确认注册成功
const registered = eda.pcb_Event.isEventListenerAlreadyExist(listenerId);
console.log('registered:', registered);
// 3. 清理监听
const removed = eda.pcb_Event.removeEventListener(listenerId);
console.log('removed:', removed);2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20