void on_filechooser_dialog_response(Etk_Dialog *filechooser_dialog, int response_id, void *data) { const char *cover_file_name; const char *cover_file_folder; char *cover_path; Etk_Tree_Row *row; if (response_id == ETK_RESPONSE_OK) { cover_file_name = etk_filechooser_widget_selected_file_get (ETK_FILECHOOSER_WIDGET(filechooser)); cover_file_folder = etk_filechooser_widget_current_folder_get (ETK_FILECHOOSER_WIDGET(filechooser)); asprintf(&cover_path, "%s/%s", cover_file_folder, cover_file_name); change_cover_path(cover_path); row = etk_tree_selected_row_get(ETK_TREE(tree)); free(etk_tree_row_data_get(row)); etk_tree_row_data_set(row, cover_path); etk_image_set_from_file(ETK_IMAGE(cover), cover_path, NULL); } etk_widget_hide_all(ETK_WIDGET(filechooser_dialog)); }
static void message_list_view_delete_clicked(struct MessageListViewData *data, Evas_Object * obj, void *event_info) { g_debug("message_list_view_delete_clicked()"); evas_object_hide(data->hv); data->selected_row = etk_tree_selected_row_get(data->tree); if (data->selected_row != NULL) { GValueArray *message = etk_tree_row_data_get(data->selected_row); GHashTable *options = g_hash_table_new(g_str_hash, g_str_equal); g_hash_table_insert(options, "id", GINT_TO_POINTER(g_value_get_int (g_value_array_get_nth (message, 0)))); g_hash_table_insert(options, "delete_callback", message_list_view_message_deleted); g_hash_table_insert(options, "delete_callback_data", data); struct Window *win = window_new(D_("Delete Message")); window_init(win); window_view_show(win, options, message_delete_view_show, message_delete_view_hide); } }
static void _change_page_cb (Etk_Object *object, Etk_Tree_Row *row, Etk_Event_Mouse_Up *event, void *data) { Etk_Tree *tree; Etk_Pdf *pdf; int row_number; tree = ETK_TREE (object); pdf = ETK_PDF (data); row_number = *(int *)etk_tree_row_data_get (row); etk_pdf_page_set (pdf, row_number); }
static void frame_recipient_delete_clicked(struct MessageNewViewData *data, Evas_Object * obj, void *event_info) { Etk_Tree_Row *row = etk_tree_selected_row_get(data->tree_recipients); if (row != NULL) { GHashTable *parameters = etk_tree_row_data_get(row); g_ptr_array_remove(data->recipients, parameters); etk_tree_clear(data->tree_recipients); g_ptr_array_foreach(data->recipients, frame_recipient_process_recipient, data); } }
void on_tree_row_selected(Etk_Object *object, Etk_Tree_Row *row, void *data) { char *path; path = etk_tree_row_data_get(row); if(path) { etk_image_set_from_file(ETK_IMAGE(cover), path, NULL); } else { etk_image_set_from_stock(ETK_IMAGE(cover), ETK_STOCK_IMAGE_MISSING, ETK_STOCK_BIG); } }
static void message_list_view_answer_clicked(struct MessageListViewData *data, Evas_Object * obj, void *event_info) { evas_object_hide(data->hv); data->selected_row = etk_tree_selected_row_get(data->tree); if (data->selected_row != NULL) { GValueArray *message = etk_tree_row_data_get(data->selected_row); GHashTable *options = g_hash_table_new(g_str_hash, g_str_equal); g_hash_table_insert(options, "recipient", (gpointer) g_value_get_string(g_value_array_get_nth(message, 2))); /* lose the const */ struct Window *win = window_new(D_("SMS Answer")); window_init(win); window_view_show(win, options, message_new_view_show, message_new_view_hide); } }
void _ex_Binding(Etk_Object *obj, void *data){ Etk_Tree_Row *irow; Etk_Combobox_Item *active_item; midi_t * midibinding; char midi_label[255]; irow = etk_tree_selected_row_get(rack_tree); active_item = etk_combobox_active_item_get(combobox); midibinding = (midi_t *)evas_list_nth(live_plugin->midi_data, (int)etk_tree_row_data_get(irow)-1); midibinding->type = (int)etk_combobox_item_data_get(active_item); midibinding->channel = spinner_data; midibinding->program = spinner1_data; midibinding->trow = irow; if(midibinding->type==1){ sprintf(midi_label, "ch# %i PC %i", midibinding->channel, midibinding->program); } if(midibinding->type==2){ sprintf(midi_label, "ch# %i CC %i", midibinding->channel, midibinding->program); } etk_tree_row_fields_set(irow, ETK_FALSE, col2, midi_label, NULL); etk_widget_hide(ETK_WIDGET(midi_win)); }
void show_midi_window(void *data){ Etk_Widget *vbox, *vbox1, *hbox; Etk_Widget *frame; Etk_Widget *button; Etk_Widget *label; Etk_Combobox_Item *item; midi_t * midibinding; if (midi_win){ etk_widget_show(ETK_WIDGET(midi_win)); return; } midibinding = (midi_t *)evas_list_nth(live_plugin->midi_data, (int)etk_tree_row_data_get(etk_tree_selected_row_get(rack_tree))-1); if(midibinding->channel != 0){ spinner_data = midibinding->channel; }else{ spinner_data = 1; } spinner1_data = midibinding->program; midi_win = etk_window_new(); etk_window_title_set(ETK_WINDOW(midi_win), "Set Midi Properties"); etk_window_resize(ETK_WINDOW(midi_win), 200, 0); etk_signal_connect("delete-event", ETK_OBJECT(midi_win), ETK_CALLBACK(etk_window_hide_on_delete), NULL); vbox = etk_vbox_new(ETK_FALSE, 0); etk_container_add(ETK_CONTAINER(midi_win), vbox); frame = etk_frame_new("Set Midi Binding for Rack State"); etk_box_append(ETK_BOX(vbox), frame, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 5); hbox = etk_hbox_new(ETK_FALSE, 0); etk_container_add(ETK_CONTAINER(frame), hbox); label = etk_label_new("ch#"); etk_box_append(ETK_BOX(hbox), label, ETK_BOX_START, ETK_BOX_NONE, 3); spinner = etk_spinner_new(1.0, 16.0, midibinding->channel, 1.0, 5.0); etk_box_append(ETK_BOX(hbox), spinner, ETK_BOX_START, ETK_BOX_NONE, 7); etk_signal_connect("value-changed", ETK_OBJECT(spinner), ETK_CALLBACK(_ex_changed_value), 1); combobox = etk_combobox_new_default(); etk_box_append(ETK_BOX(hbox), combobox, ETK_BOX_START, ETK_BOX_NONE, 2); item = etk_combobox_item_append(ETK_COMBOBOX(combobox), "Program Change"); etk_combobox_item_data_set(item, 1); if(midibinding->type==1){ etk_combobox_active_item_set(combobox, item); } item = etk_combobox_item_append(ETK_COMBOBOX(combobox), "Control Change"); etk_combobox_item_data_set(item, 2); if(midibinding->type==2){ etk_combobox_active_item_set(combobox, item); } spinner1 = etk_spinner_new(0.0, 127.0, midibinding->program, 1.0, 5.0); etk_box_append(ETK_BOX(hbox), spinner1, ETK_BOX_START, ETK_BOX_NONE, 7); etk_signal_connect("value-changed", ETK_OBJECT(spinner1), ETK_CALLBACK(_ex_changed_value), 2); /* button = etk_button_new_with_label("Learn"); etk_box_append(ETK_BOX(hbox), button, ETK_BOX_START, ETK_BOX_NONE, 0); */ button = etk_button_new_with_label("Add Binding"); etk_box_append(ETK_BOX(vbox), button, ETK_BOX_START, ETK_BOX_NONE, 0); etk_signal_connect("clicked", ETK_OBJECT(button), _ex_Binding, data); etk_widget_show_all(midi_win); }