static OSStatus FilterFieldEventHandler(EventHandlerCallRef handlerCallRef, EventRef event, void *userData) { Q_UNUSED(handlerCallRef); FilterWidget *filter = (FilterWidget *) userData; OSType eventClass = GetEventClass(event); UInt32 eventKind = GetEventKind(event); if (eventClass == kEventClassSearchField && eventKind == kEventSearchFieldCancelClicked) filter->clear(); else if (eventClass == kEventClassTextField && eventKind == kEventTextDidChange) filter->emitTextChanged(); return (eventNotHandledErr); }