2024-10-20 05:21:03 +00:00
|
|
|
#include <QAbstractNativeEventFilter>
|
|
|
|
#include <QByteArray>
|
|
|
|
#include <qabstractnativeeventfilter.h>
|
|
|
|
#include "gen_qabstractnativeeventfilter.h"
|
|
|
|
#include "_cgo_export.h"
|
|
|
|
|
2024-11-23 06:34:52 +00:00
|
|
|
class MiqtVirtualQAbstractNativeEventFilter : public virtual QAbstractNativeEventFilter {
|
|
|
|
public:
|
|
|
|
|
|
|
|
MiqtVirtualQAbstractNativeEventFilter(): QAbstractNativeEventFilter() {};
|
|
|
|
|
|
|
|
virtual ~MiqtVirtualQAbstractNativeEventFilter() = default;
|
|
|
|
|
|
|
|
// cgo.Handle value for overwritten implementation
|
|
|
|
intptr_t handle__NativeEventFilter = 0;
|
|
|
|
|
|
|
|
// Subclass to allow providing a Go implementation
|
|
|
|
virtual bool nativeEventFilter(const QByteArray& eventType, void* message, qintptr* result) override {
|
|
|
|
if (handle__NativeEventFilter == 0) {
|
|
|
|
return false; // Pure virtual, there is no base we can call
|
|
|
|
}
|
|
|
|
|
|
|
|
const QByteArray eventType_qb = eventType;
|
|
|
|
struct miqt_string eventType_ms;
|
|
|
|
eventType_ms.len = eventType_qb.length();
|
|
|
|
eventType_ms.data = static_cast<char*>(malloc(eventType_ms.len));
|
|
|
|
memcpy(eventType_ms.data, eventType_qb.data(), eventType_ms.len);
|
|
|
|
struct miqt_string sigval1 = eventType_ms;
|
|
|
|
void* sigval2 = message;
|
|
|
|
qintptr* result_ret = result;
|
|
|
|
intptr_t* sigval3 = (intptr_t*)(result_ret);
|
|
|
|
|
|
|
|
bool callback_return_value = miqt_exec_callback_QAbstractNativeEventFilter_NativeEventFilter(this, handle__NativeEventFilter, sigval1, sigval2, sigval3);
|
|
|
|
|
|
|
|
return callback_return_value;
|
|
|
|
}
|
|
|
|
|
|
|
|
};
|
|
|
|
|
2024-12-07 04:15:57 +00:00
|
|
|
QAbstractNativeEventFilter* QAbstractNativeEventFilter_new() {
|
|
|
|
return new MiqtVirtualQAbstractNativeEventFilter();
|
2024-11-23 06:34:52 +00:00
|
|
|
}
|
|
|
|
|
2024-10-20 05:21:03 +00:00
|
|
|
bool QAbstractNativeEventFilter_NativeEventFilter(QAbstractNativeEventFilter* self, struct miqt_string eventType, void* message, intptr_t* result) {
|
|
|
|
QByteArray eventType_QByteArray(eventType.data, eventType.len);
|
|
|
|
return self->nativeEventFilter(eventType_QByteArray, message, (qintptr*)(result));
|
|
|
|
}
|
|
|
|
|
2024-11-23 06:34:52 +00:00
|
|
|
void QAbstractNativeEventFilter_override_virtual_NativeEventFilter(void* self, intptr_t slot) {
|
|
|
|
dynamic_cast<MiqtVirtualQAbstractNativeEventFilter*>( (QAbstractNativeEventFilter*)(self) )->handle__NativeEventFilter = slot;
|
|
|
|
}
|
|
|
|
|
2024-11-19 06:29:06 +00:00
|
|
|
void QAbstractNativeEventFilter_Delete(QAbstractNativeEventFilter* self, bool isSubclass) {
|
|
|
|
if (isSubclass) {
|
2024-11-23 06:34:52 +00:00
|
|
|
delete dynamic_cast<MiqtVirtualQAbstractNativeEventFilter*>( self );
|
2024-11-19 06:29:06 +00:00
|
|
|
} else {
|
|
|
|
delete self;
|
|
|
|
}
|
2024-10-20 05:21:03 +00:00
|
|
|
}
|
|
|
|
|