static void _emphasis_init_player_small(Emphasis_Player_Gui *player) { Etk_Widget *wid; /* controls */ wid = etk_window_new(); etk_window_wmclass_set(ETK_WINDOW(wid), "emphasis controls", "Emphasis"); etk_window_title_set(ETK_WINDOW(wid), "Controls"); etk_window_resize(ETK_WINDOW(wid), 10, 180); etk_widget_hide(wid); etk_signal_connect("delete-event", ETK_OBJECT(wid), ETK_CALLBACK(cb_pack_quit), player); //etk_signal_connect_after("delete-event", ETK_OBJECT(wid), // ETK_CALLBACK(etk_main_quit), NULL); player->small.ctr.window = wid; /* controls */ wid = etk_window_new(); etk_window_wmclass_set(ETK_WINDOW(wid), "emphasis cover", "Emphasis"); etk_window_title_set(ETK_WINDOW(wid), "Cover"); etk_window_resize(ETK_WINDOW(wid), 180, 180); etk_widget_hide(wid); etk_signal_connect("delete-event", ETK_OBJECT(wid), ETK_CALLBACK(cb_pack_quit), player); //etk_signal_connect_after("delete-event", ETK_OBJECT(wid), // ETK_CALLBACK(etk_main_quit), NULL); player->small.cov.window = wid; player->small.packed = ETK_TRUE; }
void _ex_Binding_Control(Etk_Object *obj, void *data){ control_port_t * control_port; control_port = (control_port_t *)mydata; printf("add midi to ** %s channel %i\n", control_port->control_port_name, spinnerControl_data); control_port->midi_pedal_link = 1; control_port->midi_pedal_ui = TRUE; etk_widget_hide(ETK_WIDGET(midi_win_control)); adjust_rack_ui_controls(); }
void _ex_Remove_Binding_Control(Etk_Object *obj, void *data){ control_port_t * control_port; control_port = (control_port_t *)mydata; control_port->midi_pedal_link = NULL; control_port->midi_pedal_ui = FALSE; printf("remove midi from ** %s \n", control_port->control_port_name); etk_widget_hide(ETK_WIDGET(midi_win_control)); adjust_rack_ui_controls(); }
Etk_Bool _state_EntryImage_clicked_cb(Etk_Object *object, void *data) { const char *name; printf("Mouse Click Signal on StateEntryImage Emitted\n"); name = etk_entry_text_get(ETK_ENTRY(UI_StateEntry)); if (!name || !etk_string_length_get(Cur.state)) return ETK_TRUE; if (!strcmp(name, Cur.state->string)) { etk_widget_hide(ETK_WIDGET(UI_StateEntryImage)); return ETK_TRUE; } /* Change state name */ if (strcmp("default 0.00", Cur.state->string)) { if (edje_edit_state_name_set(edje_o, Cur.part->string, Cur.state->string, name)) { /* update tree */ Etk_Tree_Row *row; row = etk_tree_selected_row_get(ETK_TREE(UI_PartsTree)); etk_tree_row_fields_set(row,TRUE, COL_NAME, EdjeFile, "DESC.PNG", name, NULL); /* update Cur */ Cur.state = etk_string_set(Cur.state, name); /* Hide the entry image */ etk_widget_hide(ETK_WIDGET(UI_StateEntryImage)); } else dialog_alert_show("<b>Wrong name format</b><br>Name must be in the form:<br>\"default 0.00\""); } else dialog_alert_show("You can't rename default 0.0"); return ETK_TRUE; }
void entropy_etk_layout_tree_show(entropy_layout_gui* gui, int visible) { if (visible) { etk_box_append(ETK_BOX(gui->tree_shell), gui->tree, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); etk_widget_show_all(gui->tree); etk_paned_position_set(ETK_PANED(gui->paned), ENTROPY_ETK_WINDOW_PANE_DEFAULT_X); } else { etk_widget_hide(gui->tree); etk_container_remove(ETK_WIDGET(gui->tree)); etk_paned_position_set(ETK_PANED(gui->paned), 0); } }
/** * @brief Sets whether or not there is a horizontal separator between the main-area and the action-area of the dialog * @param dialog a dialog * @param has_separator ETK_TRUE to make the separator visible, ETK_FALSE to hide it */ void etk_dialog_has_separator_set(Etk_Dialog *dialog, Etk_Bool has_separator) { if (!dialog || dialog->has_separator == has_separator) return; if (has_separator) etk_widget_show(dialog->separator); else etk_widget_hide(dialog->separator); dialog->has_separator = has_separator; etk_object_notify(ETK_OBJECT(dialog), "has-separator"); }
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)); }
/** * @brief Build all widgets for Emphasis GUI * @param gui A gui to initialize */ void emphasis_init_gui(Emphasis_Gui *gui) { gui->player = malloc(sizeof(Emphasis_Player_Gui)); if(!gui->player) { fprintf(stderr, "Memory full\n"); exit(1); } /* TODO : check player */ /* TODO ; check config, state, etc */ emphasis_init_player(gui->player); emphasis_init_menu(gui); if(!etk_toggle_button_active_get(ETK_TOGGLE_BUTTON(gui->player->small.media))) { etk_widget_hide(gui->player->media.window); } gui->cover_queue = NULL; gui->config_gui = NULL; }
void EtkWidget::hide() { etk_widget_hide( ETK_WIDGET(_o) ); }
void state_frame_update(void) { const char* cc; //Stop signal propagation etk_signal_block("text-changed", ETK_OBJECT(UI_StateEntry), _group_NamesEntry_text_changed_cb, NULL); etk_signal_block("value-changed", ETK_OBJECT(UI_AspectMinSpinner), ETK_CALLBACK(_state_AspectSpinner_value_changed_cb), NULL); etk_signal_block("value-changed", ETK_OBJECT(UI_AspectMaxSpinner), ETK_CALLBACK(_state_AspectSpinner_value_changed_cb), NULL); etk_signal_block("active-item-changed", ETK_OBJECT(UI_AspectComboBox), ETK_CALLBACK(_state_AspectComboBox_changed_cb), NULL); etk_signal_block("value-changed", ETK_OBJECT(UI_StateMinWSpinner), ETK_CALLBACK(_state_MinMaxSpinner_value_changed_cb), NULL); etk_signal_block("value-changed", ETK_OBJECT(UI_StateMinHSpinner), ETK_CALLBACK(_state_MinMaxSpinner_value_changed_cb), NULL); etk_signal_block("value-changed", ETK_OBJECT(UI_StateMaxWSpinner), ETK_CALLBACK(_state_MinMaxSpinner_value_changed_cb), NULL); etk_signal_block("value-changed", ETK_OBJECT(UI_StateMaxHSpinner), ETK_CALLBACK(_state_MinMaxSpinner_value_changed_cb), NULL); etk_signal_block("value-changed", ETK_OBJECT(UI_StateAlignVSpinner), ETK_CALLBACK(_text_FontAlignSpinner_value_changed_cb), (void*)STATE_ALIGNV_SPINNER); etk_signal_block("value-changed", ETK_OBJECT(UI_StateAlignHSpinner), ETK_CALLBACK(_text_FontAlignSpinner_value_changed_cb), (void*)STATE_ALIGNH_SPINNER); etk_signal_block("toggled", ETK_OBJECT(UI_StateVisibleCheck), ETK_CALLBACK(_state_VisibleCheck_toggled_cb), NULL); etk_signal_block("text-changed", ETK_OBJECT(UI_StateCCEntry), ETK_CALLBACK(_state_CCEntry_text_changed_cb), NULL); if (etk_string_length_get(Cur.state)) { //Set description name & index etk_entry_text_set(ETK_ENTRY(UI_StateEntry),Cur.state->string); etk_widget_hide(ETK_WIDGET(UI_StateEntryImage)); if (!strcmp(Cur.state->string, "default 0.00")) etk_widget_disabled_set(ETK_WIDGET(UI_StateEntry), ETK_TRUE); else etk_widget_disabled_set(ETK_WIDGET(UI_StateEntry), ETK_FALSE); //Set aspect min & max etk_range_value_set(ETK_RANGE(UI_AspectMinSpinner), edje_edit_state_aspect_min_get(edje_o, Cur.part->string, Cur.state->string)); etk_range_value_set(ETK_RANGE(UI_AspectMaxSpinner), edje_edit_state_aspect_max_get(edje_o, Cur.part->string, Cur.state->string)); //Set aspect pref Combo etk_combobox_active_item_set(ETK_COMBOBOX(UI_AspectComboBox), etk_combobox_nth_item_get(ETK_COMBOBOX(UI_AspectComboBox), edje_edit_state_aspect_pref_get(edje_o, Cur.part->string, Cur.state->string))); //Set min e max size etk_range_value_set(ETK_RANGE(UI_StateMinWSpinner), edje_edit_state_min_w_get(edje_o, Cur.part->string, Cur.state->string)); etk_range_value_set(ETK_RANGE(UI_StateMinHSpinner), edje_edit_state_min_h_get(edje_o, Cur.part->string, Cur.state->string)); etk_range_value_set(ETK_RANGE(UI_StateMaxWSpinner), edje_edit_state_max_w_get(edje_o, Cur.part->string, Cur.state->string)); etk_range_value_set(ETK_RANGE(UI_StateMaxHSpinner), edje_edit_state_max_h_get(edje_o, Cur.part->string, Cur.state->string)); //Set description align & valign etk_range_value_set(ETK_RANGE(UI_StateAlignHSpinner), edje_edit_state_align_x_get(edje_o, Cur.part->string, Cur.state->string)); etk_range_value_set(ETK_RANGE(UI_StateAlignVSpinner), edje_edit_state_align_y_get(edje_o, Cur.part->string, Cur.state->string)); //Set visible checkbox etk_toggle_button_active_set(ETK_TOGGLE_BUTTON(UI_StateVisibleCheck), edje_edit_state_visible_get(edje_o, Cur.part->string, Cur.state->string)); //Set Color Class Entry cc = edje_edit_state_color_class_get(edje_o, Cur.part->string, Cur.state->string); etk_entry_text_set(ETK_ENTRY(UI_StateCCEntry), cc); edje_edit_string_free(cc); } //ReEnable Signal Propagation etk_signal_unblock("text-changed", ETK_OBJECT(UI_StateEntry), _group_NamesEntry_text_changed_cb, NULL); etk_signal_unblock("value-changed", ETK_OBJECT(UI_AspectMinSpinner), ETK_CALLBACK(_state_AspectSpinner_value_changed_cb), NULL); etk_signal_unblock("value-changed", ETK_OBJECT(UI_AspectMaxSpinner), ETK_CALLBACK(_state_AspectSpinner_value_changed_cb), NULL); etk_signal_unblock("active-item-changed", ETK_OBJECT(UI_AspectComboBox), ETK_CALLBACK(_state_AspectComboBox_changed_cb), NULL); etk_signal_unblock("value-changed", ETK_OBJECT(UI_StateMinWSpinner), ETK_CALLBACK(_state_MinMaxSpinner_value_changed_cb), NULL); etk_signal_unblock("value-changed", ETK_OBJECT(UI_StateMinHSpinner), ETK_CALLBACK(_state_MinMaxSpinner_value_changed_cb), NULL); etk_signal_unblock("value-changed", ETK_OBJECT(UI_StateMaxWSpinner), ETK_CALLBACK(_state_MinMaxSpinner_value_changed_cb), NULL); etk_signal_unblock("value-changed", ETK_OBJECT(UI_StateMaxHSpinner), ETK_CALLBACK(_state_MinMaxSpinner_value_changed_cb), NULL); etk_signal_unblock("value-changed", ETK_OBJECT(UI_StateAlignVSpinner), ETK_CALLBACK(_text_FontAlignSpinner_value_changed_cb), (void*)STATE_ALIGNV_SPINNER); etk_signal_unblock("value-changed", ETK_OBJECT(UI_StateAlignHSpinner), ETK_CALLBACK(_text_FontAlignSpinner_value_changed_cb), (void*)STATE_ALIGNH_SPINNER); etk_signal_unblock("toggled", ETK_OBJECT(UI_StateVisibleCheck), ETK_CALLBACK(_state_VisibleCheck_toggled_cb), NULL); etk_signal_unblock("text-changed", ETK_OBJECT(UI_StateCCEntry), ETK_CALLBACK(_state_CCEntry_text_changed_cb), NULL); }
/* TODO : documentation */ void emphasis_init_player(Emphasis_Player_Gui *player) { Enhance *en; en = enhance_new(); player->en = en; if(!en) { fprintf(stderr, "Enhance new failed"); exit(1); } player->state = EMPHASIS_SMALL; /* TODO : state toggle full */ _emphasis_enhance_callbacks(player); enhance_file_load(en, "Emphasis", PACKAGE_DATA_DIR EMPHASIS_GLADE); /* TODO : check widget? */ EN_VAR_GET(en, player, window); etk_widget_hide(player->small.window); etk_widget_hide(player->full.window); EN_VAR_GET(en, player, root); player->small.ctr.root = enhance_var_get(en, "small_root_ctrl"); player->small.cov.root = enhance_var_get(en, "small_root_cover"); _emphasis_init_player_small(player); EN_VAR_GET(en, player, cover); EN_VAR_GET(en, player, stop); EN_VAR_GET(en, player, prev); EN_VAR_GET(en, player, play); EN_VAR_GET(en, player, next); EN_VAR_GET(en, player, info); EN_VAR_GET(en, player, progress); //EN_VAR_GET(en, player, time); player->full.time = enhance_var_get(en, "full_time"); EN_VAR_GET(en, player, sound_slider); EN_VAR_GET(en, player, sound_low); EN_VAR_GET(en, player, sound_high); EN_VAR_GET(en, player, random); EN_VAR_GET(en, player, repeat); EN_VAR_GET(en, player, full); player->small.media = enhance_var_get(en, "small_media"); player->media.window = enhance_var_get(en, "media_window"); player->media.root = enhance_var_get(en, "media_root"); player->media.notebook = enhance_var_get(en, "media_notebook"); player->media.paned = enhance_var_get(en, "media_paned"); player->media.pls = enhance_var_get(en, "media_pls"); player->media.artist = enhance_var_get(en, "media_artist"); player->media.album = enhance_var_get(en, "media_album"); player->media.track = enhance_var_get(en, "media_track"); player->media.search_root = enhance_var_get(en, "search_page_root"); player->media.search_combo = enhance_var_get(en, "search_page_combo"); player->media.search_tree = enhance_var_get(en, "search_page_tree"); player->media.pls_list = enhance_var_get(en, "media_pls_list"); player->media.pls_content = enhance_var_get(en, "media_pls_content"); player->media.pls_entry_save = enhance_var_get(en, "media_pls_entry_save"); /* Mediabox buttons init */ player->media.toolbar = enhance_var_get(en, "media_toolbar"); player->media.button_lib = enhance_var_get(en, "media_button_lib"); player->media.button_search = enhance_var_get(en, "media_button_search"); player->media.button_playlists = enhance_var_get(en, "media_button_pls"); player->media.button_stats = enhance_var_get(en, "media_button_stats"); /* enhance completion : col def */ etk_tree_multiple_select_set(ETK_TREE(player->media.artist), ETK_TRUE); etk_tree_multiple_select_set(ETK_TREE(player->media.album) , ETK_TRUE); etk_tree_multiple_select_set(ETK_TREE(player->media.track) , ETK_TRUE); etk_tree_multiple_select_set(ETK_TREE(player->media.pls) , ETK_TRUE); Etk_Tree_Col *col; col = etk_tree_col_new(ETK_TREE(player->media.artist), "Artist", 60, 0.0); etk_tree_col_model_add(col, etk_tree_model_text_new()); etk_tree_build(ETK_TREE(player->media.artist)); col = etk_tree_col_new(ETK_TREE(player->media.album), "Album", 60, 0.0); etk_tree_col_model_add(col, etk_tree_model_text_new()); etk_tree_build(ETK_TREE(player->media.album)); col = etk_tree_col_new(ETK_TREE(player->media.track), "Track", 60, 0.0); etk_tree_col_model_add(col, etk_tree_model_text_new()); etk_tree_build(ETK_TREE(player->media.track)); /* pls */ col = etk_tree_col_new(ETK_TREE(player->media.pls), "Title", 140, 0.0); etk_tree_col_model_add(col, etk_tree_model_image_new()); etk_tree_col_model_add(col, etk_tree_model_text_new()); col = etk_tree_col_new(ETK_TREE(player->media.pls), "Time", 30, 0.0); etk_tree_col_model_add(col, etk_tree_model_text_new()); col = etk_tree_col_new(ETK_TREE(player->media.pls), "Artist", 120, 0.0); etk_tree_col_model_add(col, etk_tree_model_text_new()); col = etk_tree_col_new(ETK_TREE(player->media.pls), "Album", 120, 0.0); etk_tree_col_model_add(col, etk_tree_model_text_new()); etk_tree_build(ETK_TREE(player->media.pls)); /* search page */ etk_tree_multiple_select_set(ETK_TREE(player->media.search_tree), ETK_TRUE); col = etk_tree_col_new(ETK_TREE(player->media.search_tree), "Artist", 120, 0.0); etk_tree_col_model_add(col, etk_tree_model_text_new()); col = etk_tree_col_new(ETK_TREE(player->media.search_tree), "Album", 100, 0.0); etk_tree_col_model_add(col, etk_tree_model_text_new()); col = etk_tree_col_new(ETK_TREE(player->media.search_tree), "Title", 200, 0.0); etk_tree_col_model_add(col, etk_tree_model_text_new()); col = etk_tree_col_new(ETK_TREE(player->media.search_tree), "Filename", 200, 0.0); etk_tree_col_model_add(col, etk_tree_model_text_new()); etk_tree_build(ETK_TREE(player->media.search_tree)); /* playlists page */ col = etk_tree_col_new(ETK_TREE(player->media.pls_list), "Playlists", 120, 0.0); etk_tree_col_model_add(col, etk_tree_model_text_new()); etk_tree_build(ETK_TREE(player->media.pls_list)); col = etk_tree_col_new(ETK_TREE(player->media.pls_content), "Preview", 120, 0.0); etk_tree_col_model_add(col, etk_tree_model_text_new()); etk_tree_build(ETK_TREE(player->media.pls_content)); /**/ etk_object_data_set(ETK_OBJECT(player->media.artist), "title", "Artist"); etk_object_data_set(ETK_OBJECT(player->media.album) , "title", "Album" ); etk_object_data_set(ETK_OBJECT(player->media.track) , "title", "Track" ); etk_object_data_set(ETK_OBJECT(player->media.artist), "Emphasis_Type", (void*)EMPHASIS_ARTIST); etk_object_data_set(ETK_OBJECT(player->media.album), "Emphasis_Type", (void*)EMPHASIS_ALBUM); etk_object_data_set(ETK_OBJECT(player->media.track), "Emphasis_Type", (void*)EMPHASIS_TRACK); /* enhance completion : dnd */ etk_widget_dnd_source_set(ETK_WIDGET(player->media.artist), ETK_TRUE); etk_widget_dnd_source_set(ETK_WIDGET(player->media.album) , ETK_TRUE); etk_widget_dnd_source_set(ETK_WIDGET(player->media.track) , ETK_TRUE); etk_widget_dnd_dest_set(ETK_WIDGET(player->media.pls), ETK_TRUE); etk_signal_connect("row-clicked", ETK_OBJECT(player->media.artist), ETK_CALLBACK(cb_tree_mlib_clicked), player); etk_signal_connect("row-clicked", ETK_OBJECT(player->media.album ), ETK_CALLBACK(cb_tree_mlib_clicked), player); etk_signal_connect("row-clicked", ETK_OBJECT(player->media.track ), ETK_CALLBACK(cb_tree_mlib_clicked), player); etk_signal_connect("row-clicked", ETK_OBJECT(player->media.pls ), ETK_CALLBACK(cb_tree_pls_clicked), NULL); /* Media pls init */ etk_object_data_set(ETK_OBJECT(player->media.pls_content), "Emphasis_Type", (void*)EMPHASIS_TRACK); /* enhance complection : images */ emphasis_player_cover_set(player, NULL); emphasis_player_vol_image_set(player, 0, PACKAGE_DATA_DIR EMPHASIS_SOUNDL); emphasis_player_vol_image_set(player, 1, PACKAGE_DATA_DIR EMPHASIS_SOUNDR); player->small.cover_size_w = player->small.cover->requested_size.w; player->small.cover_size_h = player->small.cover->requested_size.h; player->full.cover_size_w = player->full.cover->requested_size.w; player->full.cover_size_h = player->full.cover->requested_size.h; /* TEMP configuration, need to add this to enhance */ etk_window_wmclass_set(ETK_WINDOW(player->full.window), "emphasis full", "Emphasis"); etk_window_wmclass_set(ETK_WINDOW(player->small.window), "emphasis small", "Emphasis"); etk_window_wmclass_set(ETK_WINDOW(player->media.window), "emphasis mlib", "Emphasis"); etk_container_border_width_set(ETK_CONTAINER(player->full.window), 5); }