void _tapped_cb(Etk_Object *object, void *data) { printf("You just tapped a dynamically loaded widget!\n"); } Etk_Bool _delete_event_cb() { printf("Sionara!\n"); etk_main_quit(); return ETK_TRUE; } int main(int argc, char **argv) { Etk_Widget *window; Etk_Widget *tap_button; etk_init(&argc, &argv); if (!etk_widget_custom_load("tap_button")) { printf("We're sorry, but we couldnt find the tap button widget.\n" "Please install it from http://extra.etk.org/tap_button and " "try again.\n"); goto SHUTDOWN; } window = etk_window_new(); etk_window_title_set(ETK_WINDOW(window), "Etk - Tap Button"); etk_signal_connect("delete_event", ETK_OBJECT(window), ETK_CALLBACK(_delete_event_cb), NULL); tap_button = etk_tap_button_new(); etk_button_label_set(ETK_BUTTON(tap_button), "Tap me!"); etk_signal_connect("clicked", ETK_OBJECT(tap_button), ETK_CALLBACK(_tapped_cb), NULL); etk_container_add(ETK_CONTAINER(window), tap_button); etk_widget_show_all(window); etk_main(); SHUTDOWN: etk_shutdown(); return 1; }