Warn when using addEventListener() on an instance not from NodeGui
This commit is contained in:
parent
053fc9dc65
commit
d81b781d1f
@ -40,10 +40,12 @@
|
||||
Napi::String eventString = info[0].As<Napi::String>(); \
|
||||
EventWidget* eventWidget = \
|
||||
dynamic_cast<EventWidget*>(this->instance.data()); \
|
||||
bool success = false; \
|
||||
if (eventWidget) { \
|
||||
eventWidget->subscribeToQtEvent(eventString.Utf8Value()); \
|
||||
success = true; \
|
||||
} \
|
||||
return env.Null(); \
|
||||
return Napi::Boolean::New(env, success); \
|
||||
} \
|
||||
Napi::Value unSubscribeToQtEvent(const Napi::CallbackInfo& info) { \
|
||||
Napi::Env env = info.Env(); \
|
||||
|
||||
@ -129,8 +129,18 @@ export abstract class EventWidget<Signals extends unknown> extends Component {
|
||||
*/
|
||||
addEventListener(eventType: WidgetEventTypes, callback: (event?: NativeRawPointer<'QEvent'>) => void): void;
|
||||
addEventListener(eventOrSignalType: string, callback: (...payloads: any[]) => void): void {
|
||||
this.native.subscribeToQtEvent(eventOrSignalType);
|
||||
this.emitter.addListener(eventOrSignalType, callback);
|
||||
if (this.native.subscribeToQtEvent(eventOrSignalType)) {
|
||||
this.emitter.addListener(eventOrSignalType, callback);
|
||||
} else {
|
||||
try {
|
||||
throw new Error();
|
||||
} catch (ex) {
|
||||
console.log(
|
||||
`WARNING: Unable to add event listener '${eventOrSignalType}'. (Perhaps this instance was not created by NodeGui.)`,
|
||||
);
|
||||
console.log(ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
removeEventListener<SignalType extends keyof Signals>(signalType: SignalType, callback: Signals[SignalType]): void;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user