void hookEvents() { super.hookEvents(); if ((style & SWT.SEPARATOR) != 0) return; if ((style & (SWT.RADIO | SWT.CHECK)) != 0) { int handler = OS.gcnew_RoutedEventHandler(jniRef, "HandleChecked"); if (handler == 0) error(SWT.ERROR_NO_HANDLES); OS.ToggleButton_Checked(handle, handler); OS.GCHandle_Free(handler); handler = OS.gcnew_RoutedEventHandler(jniRef, "HandleUnchecked"); if (handler == 0) error(SWT.ERROR_NO_HANDLES); OS.ToggleButton_Unchecked(handle, handler); OS.GCHandle_Free(handler); } else { int handler = OS.gcnew_RoutedEventHandler(jniRef, "HandleClick"); if (handler == 0) error(SWT.ERROR_NO_HANDLES); OS.ButtonBase_Click(handle, handler); OS.GCHandle_Free(handler); } int handler = OS.gcnew_MouseEventHandler(jniRef, "HandleMouseEnter"); if (handler == 0) error(SWT.ERROR_NO_HANDLES); OS.UIElement_MouseEnter(handle, handler); OS.GCHandle_Free(handler); handler = OS.gcnew_MouseEventHandler(jniRef, "HandleMouseLeave"); if (handler == 0) error(SWT.ERROR_NO_HANDLES); OS.UIElement_MouseLeave(handle, handler); OS.GCHandle_Free(handler); }