/* switch pages callback */ static void _etk_prefs_switch_cb(Etk_Object *object, void *data) { if(!strcmp(etk_button_label_get(ETK_BUTTON(object)), _("Go to Engines page"))) { etk_notebook_page_next(ETK_NOTEBOOK(data)); etk_button_label_set(ETK_BUTTON(object), _("Go to Themes page")); } else { etk_notebook_page_prev(ETK_NOTEBOOK(data)); etk_button_label_set(ETK_BUTTON(object), _("Go to Engines page")); } }
/** * @brief Set the image of btn_play to play if mpd is playing or to pause if mpd is stopped. * @param player A Emphasis_Player_Gui */ void emphasis_player_toggle_play(Emphasis_Player_Gui *player) { /* TODO : respect enhance file */ if (mpc_assert_status(MPD_PLAYER_PLAY)) { etk_button_set_from_stock(ETK_BUTTON(player->full.play), ETK_STOCK_MEDIA_PLAYBACK_PAUSE); etk_button_label_set(ETK_BUTTON(player->full.play), NULL); etk_button_set_from_stock(ETK_BUTTON(player->small.play), ETK_STOCK_MEDIA_PLAYBACK_PAUSE); etk_button_label_set(ETK_BUTTON(player->small.play), NULL); } else { if (mpc_assert_status(MPD_PLAYER_PAUSE) || mpc_assert_status(MPD_PLAYER_STOP)) { etk_button_set_from_stock(ETK_BUTTON(player->full.play), ETK_STOCK_MEDIA_PLAYBACK_START); etk_button_label_set(ETK_BUTTON(player->full.play), NULL); etk_button_set_from_stock(ETK_BUTTON(player->small.play), ETK_STOCK_MEDIA_PLAYBACK_START); etk_button_label_set(ETK_BUTTON(player->small.play), NULL); } } }
/* Called when a button of the action-area of the dialog is clicked */ static Etk_Bool _etk_dialog_button_clicked_cb(Etk_Object *object, void *data) { int response_id; if ((response_id = etk_dialog_button_response_id_get(ETK_BUTTON(object))) == ETK_RESPONSE_NONE) return ETK_TRUE; etk_signal_emit(ETK_DIALOG_RESPONSE_SIGNAL, ETK_OBJECT(data), response_id); return ETK_TRUE; }
/** * @brief Creates and packs a button to the dialog's action-area. The button is created from the given stock-id, * will be packed in the start-group of the action-area's hbox, and will use the ETK_BOX_FILL fill-policy * @param dialog a dialog * @param stock_id the button's stock id * @param response_id the response-id to associate to the button (see Etk_Dialog_Response_ID for common IDs). * The response-id will be passed to the "response" callbacks when the button is clicked * @return Returns the newly added button * @note The new button will be automatically shown */ Etk_Widget *etk_dialog_button_add_from_stock(Etk_Dialog *dialog, int stock_id, int response_id) { Etk_Widget *button; if (!dialog) return NULL; button = etk_button_new_from_stock(stock_id); etk_dialog_pack_button_in_action_area(dialog, ETK_BUTTON(button), response_id, ETK_BOX_START, ETK_BOX_FILL, 0); etk_widget_show(button); return button; }
/** * @brief Creates and packs a button to the dialog's action-area. * The button will be packed in the start-group of the action-area's hbox, and will use the ETK_BOX_FILL fill-policy * @param dialog a dialog * @param label the button's label * @param response_id the response-id to associate to the button (see Etk_Dialog_Response_ID for common IDs). * The response-id will be passed to the "response" callbacks when the button is clicked * @return Returns the newly added button * @note The new button will be automatically shown */ Etk_Widget *etk_dialog_button_add(Etk_Dialog *dialog, const char *label, int response_id) { Etk_Widget *button; if (!dialog) return NULL; button = etk_button_new_with_label(label); etk_dialog_pack_button_in_action_area(dialog, ETK_BUTTON(button), response_id, ETK_BOX_START, ETK_BOX_FILL, 0); etk_widget_show(button); return button; }
void entropy_etk_delete_dialog_new(entropy_gui_component_instance* instance, Ecore_List* files) { char buf[PATH_MAX]; Etk_Widget* window = etk_window_new(); Etk_Widget* vbox= etk_vbox_new(ETK_TRUE,5); Etk_Widget* hbox = etk_hbox_new(ETK_TRUE,5); Etk_Widget* button; Etk_Widget* label; if (ecore_list_count(files) == 1) { ecore_list_first_goto(files); entropy_generic_file* file = ((entropy_generic_file*)ecore_list_current(files)); snprintf(buf, PATH_MAX, "Are you sure you want to delete '%s/%s'? ", file->path, file->filename); } else { snprintf(buf, PATH_MAX, "Are you sure you want to delete these %d files'? ", ecore_list_count(files)); } etk_window_title_set(ETK_WINDOW(window), buf); etk_container_add(ETK_CONTAINER(window), vbox); label = etk_label_new(buf); etk_box_append(ETK_BOX(vbox), label, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 5); etk_box_append(ETK_BOX(vbox), hbox, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 5); button = etk_button_new_with_label("Yes"); etk_container_add(ETK_CONTAINER(hbox), button); etk_signal_connect("pressed", ETK_OBJECT(button), ETK_CALLBACK(etk_entropy_delete_dialog_cb), (int*)ENTROPY_USER_INTERACTION_RESPONSE_YES ); etk_object_data_set(ETK_OBJECT(button), "window", window); etk_widget_show(button); button = etk_button_new(); etk_button_label_set(ETK_BUTTON(button), "No"); etk_container_add(ETK_CONTAINER(hbox), button); etk_signal_connect("pressed", ETK_OBJECT(button), ETK_CALLBACK(etk_entropy_delete_dialog_cb), (int*)ENTROPY_USER_INTERACTION_RESPONSE_NO ); etk_object_data_set(ETK_OBJECT(button), "window", window); etk_widget_show(button); etk_object_data_set(ETK_OBJECT(window), "files", files); etk_object_data_set(ETK_OBJECT(window), "instance", instance); etk_widget_show_all(window); }
/** * @brief Sets the stock-size of the toolbar's tool-buttons * @param toolbar a toolbar * @param size the stock-size to use */ void etk_toolbar_stock_size_set(Etk_Toolbar *toolbar, Etk_Stock_Size size) { Eina_List *children, *l; if (!toolbar || toolbar->stock_size == size) return; toolbar->stock_size = size; children = etk_container_children_get(ETK_CONTAINER(toolbar->box)); for (l = children; l; l = l->next) { if (ETK_IS_TOOL_ITEM(l->data)) etk_button_stock_size_set(ETK_BUTTON(l->data), size); } eina_list_free(children); etk_object_notify(ETK_OBJECT(toolbar), "stock-size"); }
/** * @brief Sets the style of toolbar's tool-buttons (icon, text, both vertically, both horizontally) * @param toolbar a toolbar * @param style the style to set */ void etk_toolbar_style_set(Etk_Toolbar *toolbar, Etk_Toolbar_Style style) { Eina_List *children, *l; Etk_Button_Style button_style; if (!toolbar || toolbar->style == style) return; toolbar->style = style; switch (style) { case ETK_TOOLBAR_ICON: button_style = ETK_BUTTON_ICON; break; case ETK_TOOLBAR_TEXT: button_style = ETK_BUTTON_TEXT; break; case ETK_TOOLBAR_BOTH_VERT: button_style = ETK_BUTTON_BOTH_VERT; break; case ETK_TOOLBAR_BOTH_HORIZ: button_style = ETK_BUTTON_BOTH_HORIZ; break; default: button_style = ETK_BUTTON_BOTH_VERT; break; } children = etk_container_children_get(ETK_CONTAINER(toolbar->box)); for (l = children; l; l = l->next) { if (ETK_IS_TOOL_ITEM(l->data)) etk_button_style_set(ETK_BUTTON(l->data), button_style); } eina_list_free(children); etk_object_notify(ETK_OBJECT(toolbar), "style"); }
/* Creates the window for the canvas test */ void etk_test_canvas_window_create(void *data) { Etk_Widget *vbox; Etk_Widget *button; int i; if (win) { etk_widget_show_all(ETK_WIDGET(win)); return; } win = etk_window_new(); etk_window_title_set(ETK_WINDOW(win), "Etk Canvas Test"); etk_container_border_width_set(ETK_CONTAINER(win), 5); etk_signal_connect_by_code(ETK_WINDOW_DELETE_EVENT_SIGNAL, ETK_OBJECT(win), ETK_CALLBACK(etk_window_hide_on_delete), NULL); vbox = etk_vbox_new(ETK_FALSE, 5); etk_container_add(ETK_CONTAINER(win), vbox); canvas = etk_canvas_new(); etk_widget_size_request_set(canvas, 500, 350); etk_box_append(ETK_BOX(vbox), canvas, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); button = etk_button_new_from_stock(ETK_STOCK_LIST_ADD); etk_button_label_set(ETK_BUTTON(button), "Add object"); etk_signal_connect_swapped_by_code(ETK_BUTTON_CLICKED_SIGNAL, ETK_OBJECT(button), ETK_CALLBACK(_etk_test_canvas_object_add), canvas); etk_box_append(ETK_BOX(vbox), button, ETK_BOX_START, ETK_BOX_NONE, 0); /* add some progess bars to the canvas */ for (i = 0; i < 3; i++) { _etk_test_canvas_progress_bars_create(50 + 50 * i, 50 + 50 * i); } etk_widget_show_all(win); }
Etk_Widget* image_browser_create(void) { Etk_Widget *hbox, *vbox, *vbox2; Etk_Widget *button; Etk_Widget *frame; Etk_Widget *label; Etk_Widget *image; //ImageBrowserWin UI_ImageBrowserWin = etk_window_new(); etk_window_title_set(ETK_WINDOW(UI_ImageBrowserWin), "Image Browser"); etk_window_resize(ETK_WINDOW(UI_ImageBrowserWin), 590, 370); etk_signal_connect("delete-event", ETK_OBJECT(UI_ImageBrowserWin), ETK_CALLBACK(etk_window_hide_on_delete), NULL); etk_container_border_width_set(ETK_CONTAINER(UI_ImageBrowserWin), 5); hbox = etk_hbox_new(ETK_FALSE, 0); etk_container_add (ETK_CONTAINER(UI_ImageBrowserWin), hbox); //ImageBrowserIconbox UI_ImageBrowserIconbox = etk_iconbox_new(); etk_signal_connect("icon-selected", ETK_OBJECT(UI_ImageBrowserIconbox), ETK_CALLBACK(_image_browser_iconbox_selected_cb), NULL); etk_box_append(ETK_BOX(hbox), UI_ImageBrowserIconbox, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); vbox = etk_vbox_new(ETK_FALSE, 0); etk_box_append (ETK_BOX(hbox), vbox, ETK_BOX_START, ETK_BOX_NONE, 5); //AddImageButton button = etk_button_new_from_stock(ETK_STOCK_DOCUMENT_OPEN); etk_object_properties_set(ETK_OBJECT(button), "label","Import image",NULL); etk_button_style_set(ETK_BUTTON(button), ETK_BUTTON_BOTH_VERT); etk_signal_connect("clicked", ETK_OBJECT(button), ETK_CALLBACK(_window_all_button_click_cb), (void*)TOOLBAR_IMAGE_FILE_ADD); etk_box_append(ETK_BOX(vbox), button, ETK_BOX_START, ETK_BOX_NONE, 0); //DeleteImageButton button = etk_button_new_from_stock(ETK_STOCK_EDIT_DELETE); etk_object_properties_set(ETK_OBJECT(button), "label","Remove image",NULL); etk_button_style_set(ETK_BUTTON(button), ETK_BUTTON_BOTH_VERT); etk_widget_disabled_set(button, 1); etk_box_append(ETK_BOX(vbox), button, ETK_BOX_START, ETK_BOX_NONE, 0); //EditImageButton button = etk_button_new_with_label("Edit Image"); image = etk_image_new_from_edje(EdjeFile, "GIMP.PNG"); etk_button_image_set(ETK_BUTTON(button), ETK_IMAGE(image)); etk_button_style_set(ETK_BUTTON(button), ETK_BUTTON_BOTH_VERT); etk_widget_disabled_set(button, 1); etk_box_append(ETK_BOX(vbox), button, ETK_BOX_START, ETK_BOX_NONE, 0); //ImageInfo frame = etk_frame_new("Image Info"); etk_box_append(ETK_BOX(vbox), frame, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 10); vbox2 = etk_vbox_new(ETK_FALSE, 0); etk_container_add(ETK_CONTAINER(frame), vbox2); label = etk_label_new("<b>name:</b>"); etk_box_append(ETK_BOX(vbox2), label, ETK_BOX_START, ETK_BOX_NONE, 0); label = etk_label_new("Unknow"); etk_box_append(ETK_BOX(vbox2), label, ETK_BOX_START, ETK_BOX_NONE, 0); label = etk_label_new(" "); etk_box_append(ETK_BOX(vbox2), label, ETK_BOX_START, ETK_BOX_NONE, 0); UI_ImageBrowserSizeLabel = etk_label_new("<b>size:</b> Unknow"); etk_object_properties_set(ETK_OBJECT(UI_ImageBrowserSizeLabel), "xalign", 0, NULL); etk_box_append(ETK_BOX(vbox2), UI_ImageBrowserSizeLabel, ETK_BOX_START, ETK_BOX_NONE, 0); label = etk_label_new("<b>comp:</b> Unknow"); etk_box_append(ETK_BOX(vbox2), label, ETK_BOX_START, ETK_BOX_NONE, 0); //CloseButton button = etk_button_new_from_stock(ETK_STOCK_DIALOG_CLOSE); etk_button_style_set(ETK_BUTTON(button), ETK_BUTTON_BOTH_VERT); etk_signal_connect("clicked", ETK_OBJECT(button), ETK_CALLBACK(_window_all_button_click_cb), (void*)IMAGE_BROWSER_CLOSE); etk_box_append(ETK_BOX(vbox), button, 0, ETK_BOX_NONE, 0); return UI_ImageBrowserWin; }
/*** Implementation ***/ Etk_Widget* image_frame_create(void) { Etk_Widget *label; Etk_Widget *table; Etk_Tree_Col *col1; //table table = etk_table_new(6, 5, ETK_TABLE_NOT_HOMOGENEOUS); //AddImageButton UI_ImageAddButton = etk_button_new_from_stock(ETK_STOCK_IMAGE_X_GENERIC); etk_object_properties_set(ETK_OBJECT(UI_ImageAddButton), "label", "Choose Image", NULL); etk_table_attach_default(ETK_TABLE(table), UI_ImageAddButton, 0, 2, 0, 0); //ImageName UI_ImageNameLabel = etk_label_new("none"); etk_object_properties_set(ETK_OBJECT(UI_ImageNameLabel), "xalign", 0.5, NULL); etk_table_attach_default(ETK_TABLE(table), UI_ImageNameLabel, 3, 5, 0, 0); //ImageTweenVBox UI_ImageTweenVBox = etk_vbox_new(ETK_TRUE, 0); etk_table_attach_default(ETK_TABLE(table), UI_ImageTweenVBox, 0, 1, 1, 1); //AddTweenButton UI_AddTweenButton = etk_button_new_from_stock(ETK_STOCK_LIST_ADD); etk_button_style_set(ETK_BUTTON(UI_AddTweenButton), ETK_BUTTON_ICON); etk_signal_connect("clicked", ETK_OBJECT(UI_AddTweenButton), ETK_CALLBACK(_window_all_button_click_cb), (void*)IMAGE_TWEEN_ADD); etk_box_append(ETK_BOX(UI_ImageTweenVBox), UI_AddTweenButton, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); //DeleteTweenButton UI_DeleteTweenButton = etk_button_new_from_stock(ETK_STOCK_LIST_REMOVE); etk_button_style_set(ETK_BUTTON(UI_DeleteTweenButton), ETK_BUTTON_ICON); etk_signal_connect("clicked", ETK_OBJECT(UI_DeleteTweenButton), ETK_CALLBACK(_window_all_button_click_cb), (void*)IMAGE_TWEEN_DELETE); etk_box_append(ETK_BOX(UI_ImageTweenVBox), UI_DeleteTweenButton, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); //MoveUpTweenButton UI_MoveUpTweenButton = etk_button_new_from_stock(ETK_STOCK_GO_UP); etk_button_style_set(ETK_BUTTON(UI_MoveUpTweenButton), ETK_BUTTON_ICON); etk_signal_connect("clicked", ETK_OBJECT(UI_MoveUpTweenButton), ETK_CALLBACK(_window_all_button_click_cb), (void*)IMAGE_TWEEN_UP); etk_box_append(ETK_BOX(UI_ImageTweenVBox), UI_MoveUpTweenButton, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); //MoveDownTweenButton UI_MoveDownTweenButton = etk_button_new_from_stock(ETK_STOCK_GO_DOWN); etk_button_style_set(ETK_BUTTON(UI_MoveDownTweenButton), ETK_BUTTON_ICON); etk_signal_connect("clicked", ETK_OBJECT(UI_MoveDownTweenButton), ETK_CALLBACK(_window_all_button_click_cb), (void*)IMAGE_TWEEN_DOWN); etk_box_append(ETK_BOX(UI_ImageTweenVBox), UI_MoveDownTweenButton, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); //ImageTweenList UI_ImageTweenList = etk_tree_new(); etk_tree_mode_set(ETK_TREE(UI_ImageTweenList), ETK_TREE_MODE_LIST); etk_tree_headers_visible_set(ETK_TREE(UI_ImageTweenList), FALSE); // etk_tree_multiple_select_set(ETK_TREE(UI_ImageTweenList), ETK_TRUE); col1 = etk_tree_col_new(ETK_TREE(UI_ImageTweenList), "Tween", 130, 0.0); etk_tree_col_model_add(col1, etk_tree_model_image_new()); etk_tree_col_model_add(col1, etk_tree_model_text_new()); etk_tree_build(ETK_TREE(UI_ImageTweenList)); etk_table_attach_default(ETK_TABLE(table),UI_ImageTweenList, 2, 5, 1, 1); label = etk_label_new("Alpha"); etk_table_attach_default(ETK_TABLE(table),label, 0, 0, 2, 2); //ImageAlphaSlider UI_ImageAlphaSlider = etk_hslider_new(0, 255, 15, 1,20); etk_slider_label_set(ETK_SLIDER(UI_ImageAlphaSlider), "%.0f"); etk_table_attach_default(ETK_TABLE(table),UI_ImageAlphaSlider, 1, 5, 2, 2); label = etk_label_new("Left"); etk_object_properties_set(ETK_OBJECT(label), "xalign",0.5,NULL); etk_table_attach_default(ETK_TABLE(table),label, 1, 1, 3, 3); label = etk_label_new("Right"); etk_object_properties_set(ETK_OBJECT(label), "xalign",0.5,NULL); etk_table_attach_default(ETK_TABLE(table),label, 2, 2, 3, 3); label = etk_label_new("Top"); etk_object_properties_set(ETK_OBJECT(label), "xalign",0.5,NULL); etk_table_attach_default(ETK_TABLE(table),label, 3, 3, 3, 3); label = etk_label_new("Bottom"); etk_object_properties_set(ETK_OBJECT(label), "xalign",0.5,NULL); etk_table_attach_default(ETK_TABLE(table),label, 4, 4, 3, 3); label = etk_label_new("Border"); //etk_object_properties_set(ETK_OBJECT(label), "xalign", 0.5, NULL); etk_table_attach_default(ETK_TABLE(table),label, 0, 0, 4, 4); //UI_BorderLeftSpinner UI_BorderLeftSpinner = etk_spinner_new(0, 500, 0, 1, 10); etk_widget_size_request_set(UI_BorderLeftSpinner,45, 20); etk_table_attach_default(ETK_TABLE(table),UI_BorderLeftSpinner, 1, 1, 4, 4); //UI_BorderRightSpinner UI_BorderRightSpinner = etk_spinner_new(0, 500, 0, 1, 10); etk_widget_size_request_set(UI_BorderRightSpinner,45, 20); etk_table_attach_default(ETK_TABLE(table),UI_BorderRightSpinner, 2, 2, 4, 4); //UI_BorderTopSpinner UI_BorderTopSpinner = etk_spinner_new(0, 500, 0, 1, 10); etk_widget_size_request_set(UI_BorderTopSpinner,45, 20); etk_table_attach_default(ETK_TABLE(table),UI_BorderTopSpinner, 3, 3, 4, 4); //UI_BorderBottomSpinner UI_BorderBottomSpinner = etk_spinner_new(0, 500, 0, 1, 10); etk_widget_size_request_set(UI_BorderBottomSpinner,45, 20); etk_table_attach_default(ETK_TABLE(table),UI_BorderBottomSpinner, 4, 4, 4, 4); //UI_BorderMiddleCheck UI_BorderMiddleCheck = etk_check_button_new_with_label("Mid"); etk_table_attach_default(ETK_TABLE(table),UI_BorderMiddleCheck, 5, 5, 4, 4); etk_signal_connect("row-selected", ETK_OBJECT(UI_ImageTweenList), ETK_CALLBACK(_image_TweenList_row_selected_cb), NULL); etk_signal_connect("clicked", ETK_OBJECT(UI_ImageAddButton), ETK_CALLBACK(_window_all_button_click_cb), (void*)IMAGE_BROWSER_SHOW); etk_signal_connect("value-changed", ETK_OBJECT(UI_ImageAlphaSlider), ETK_CALLBACK(_image_AlphaSlider_value_changed_cb), NULL); etk_signal_connect("value-changed", ETK_OBJECT(UI_BorderLeftSpinner), ETK_CALLBACK(_image_border_spinners_value_changed_cb), (void *)BORDER_LEFT); etk_signal_connect("value-changed", ETK_OBJECT(UI_BorderRightSpinner), ETK_CALLBACK(_image_border_spinners_value_changed_cb), (void *)BORDER_RIGHT); etk_signal_connect("value-changed", ETK_OBJECT(UI_BorderTopSpinner), ETK_CALLBACK(_image_border_spinners_value_changed_cb), (void *)BORDER_TOP); etk_signal_connect("value-changed", ETK_OBJECT(UI_BorderBottomSpinner), ETK_CALLBACK(_image_border_spinners_value_changed_cb), (void *)BORDER_BOTTOM); etk_signal_connect("toggled", ETK_OBJECT(UI_BorderMiddleCheck), ETK_CALLBACK(_image_BorderMiddleCheck_toggled_cb), NULL); return table; }
void entropy_etk_user_interaction_dialog_new(entropy_file_operation* interact) { char buf[PATH_MAX]; Etk_Widget* window = etk_window_new(); Etk_Widget* vbox= etk_vbox_new(ETK_TRUE,5); Etk_Widget* hbox = etk_hbox_new(ETK_TRUE,5); Etk_Widget* button; Etk_Widget* label; snprintf(buf, PATH_MAX, "Confirm overwrite for '%s'? ", interact->file); etk_window_title_set(ETK_WINDOW(window), buf); etk_container_add(ETK_CONTAINER(window), vbox); label = etk_label_new(buf); etk_box_append(ETK_BOX(vbox), label, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 5); etk_box_append(ETK_BOX(vbox), hbox, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 5); button = etk_button_new_with_label("Yes"); etk_container_add(ETK_CONTAINER(hbox), button); etk_object_data_set(ETK_OBJECT(button), "window", window); etk_object_data_set(ETK_OBJECT(button), "operation", (long*)interact->id); etk_signal_connect("pressed", ETK_OBJECT(button), ETK_CALLBACK(etk_entropy_user_interaction_dialog_cb), (int*)ENTROPY_USER_INTERACTION_RESPONSE_YES ); etk_widget_show(button); button = etk_button_new_with_label("Yes to all"); etk_container_add(ETK_CONTAINER(hbox), button); etk_object_data_set(ETK_OBJECT(button), "window", window); etk_object_data_set(ETK_OBJECT(button), "operation", (long*)interact->id); etk_signal_connect("pressed", ETK_OBJECT(button), ETK_CALLBACK(etk_entropy_user_interaction_dialog_cb), (int*)ENTROPY_USER_INTERACTION_RESPONSE_YES_TO_ALL ); etk_widget_show(button); button = etk_button_new(); etk_button_label_set(ETK_BUTTON(button), "No"); etk_container_add(ETK_CONTAINER(hbox), button); etk_object_data_set(ETK_OBJECT(button), "window", window); etk_object_data_set(ETK_OBJECT(button), "operation", (long*)interact->id); etk_signal_connect("pressed", ETK_OBJECT(button), ETK_CALLBACK(etk_entropy_user_interaction_dialog_cb), (int*)ENTROPY_USER_INTERACTION_RESPONSE_NO ); etk_widget_show(button); button = etk_button_new_with_label("No to all"); etk_container_add(ETK_CONTAINER(hbox), button); etk_object_data_set(ETK_OBJECT(button), "window", window); etk_object_data_set(ETK_OBJECT(button), "operation", (long*)interact->id); etk_signal_connect("pressed", ETK_OBJECT(button), ETK_CALLBACK(etk_entropy_user_interaction_dialog_cb), (int*)ENTROPY_USER_INTERACTION_RESPONSE_NO_TO_ALL ); etk_widget_show(button); button = etk_button_new(); etk_button_label_set(ETK_BUTTON(button), "Abort"); etk_container_add(ETK_CONTAINER(hbox), button); etk_object_data_set(ETK_OBJECT(button), "window", window); etk_object_data_set(ETK_OBJECT(button), "operation", (long*)interact->id); etk_signal_connect("pressed", ETK_OBJECT(button), ETK_CALLBACK(etk_entropy_user_interaction_dialog_cb), (int*)ENTROPY_USER_INTERACTION_RESPONSE_ABORT ); etk_widget_show(button); etk_widget_show_all(window); etk_widget_show(vbox); etk_widget_show(hbox); }
/*** Implementation ***/ Etk_Widget* data_window_create(void) { Etk_Widget *hbox, *vbox, *hbox2, *vbox2, *vbox3; Etk_Tree_Col *col; Etk_Widget *button; Etk_Widget *frame; Etk_Widget *label; //DataWin UI_DataWin = etk_window_new(); etk_window_title_set(ETK_WINDOW(UI_DataWin), "Data Browser"); etk_window_resize(ETK_WINDOW(UI_DataWin), 400, 370); etk_signal_connect("delete-event", ETK_OBJECT(UI_DataWin), ETK_CALLBACK(etk_window_hide_on_delete), NULL); etk_container_border_width_set(ETK_CONTAINER(UI_DataWin), 5); vbox = etk_vbox_new(ETK_FALSE, 5); etk_container_add(ETK_CONTAINER(UI_DataWin), vbox); //Description label label = etk_label_new("Data stored inside the edje file that can be accessed by the application."); etk_object_properties_set(ETK_OBJECT(label), "xalign", 0.5, NULL); etk_box_append(ETK_BOX(vbox), label, ETK_BOX_START, ETK_BOX_NONE, 7); hbox = etk_hbox_new(ETK_TRUE, 5); etk_box_append(ETK_BOX(vbox), hbox, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); vbox2 = etk_vbox_new(ETK_FALSE, 0); etk_box_append(ETK_BOX(hbox), vbox2, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); //UI_DataList UI_DataList = etk_tree_new(); etk_tree_mode_set(ETK_TREE(UI_DataList), ETK_TREE_MODE_LIST); etk_widget_size_request_set(UI_DataList, 225, 200); etk_tree_headers_visible_set(ETK_TREE(UI_DataList), ETK_TRUE); etk_tree_column_separators_visible_set(ETK_TREE(UI_DataList), ETK_TRUE); etk_tree_alternating_row_colors_set(ETK_TREE(UI_DataList), ETK_TRUE); col = etk_tree_col_new(ETK_TREE(UI_DataList), "Name", 100, 0.0); etk_tree_col_model_add(col, etk_tree_model_text_new()); col = etk_tree_col_new(ETK_TREE(UI_DataList), "Value", 120, 0.0); etk_tree_col_model_add(col, etk_tree_model_text_new()); etk_tree_build(ETK_TREE(UI_DataList)); etk_box_append(ETK_BOX(vbox2), UI_DataList, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); etk_signal_connect("row-selected", ETK_OBJECT(UI_DataList), ETK_CALLBACK(_data_list_row_selected_cb), NULL); hbox2 = etk_hbox_new(ETK_TRUE, 0); etk_box_append(ETK_BOX(vbox2), hbox2, ETK_BOX_START, ETK_BOX_NONE, 0); //AddDataButton button = etk_button_new_from_stock(ETK_STOCK_LIST_ADD); etk_button_style_set(ETK_BUTTON(button), ETK_BUTTON_ICON); etk_signal_connect("clicked", ETK_OBJECT(button), ETK_CALLBACK(_data_add_button_click_cb), NULL); etk_box_append(ETK_BOX(hbox2), button, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); //DelDataButton button = etk_button_new_from_stock(ETK_STOCK_LIST_REMOVE); etk_button_style_set(ETK_BUTTON(button), ETK_BUTTON_ICON); etk_signal_connect("clicked", ETK_OBJECT(button), ETK_CALLBACK(_data_del_button_click_cb), NULL); etk_box_append(ETK_BOX(hbox2), button, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); vbox2 = etk_vbox_new(ETK_FALSE, 0); etk_box_append(ETK_BOX(hbox), vbox2, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); //Data Editor frame = etk_frame_new("Data Editor"); etk_box_append(ETK_BOX(vbox2), frame, ETK_BOX_START, ETK_BOX_FILL, 0); vbox3 = etk_vbox_new(ETK_FALSE, 0); etk_container_add(ETK_CONTAINER(frame), vbox3); //Name Entry label = etk_label_new("<b>Name</b>"); etk_box_append(ETK_BOX(vbox3), label, ETK_BOX_START, ETK_BOX_NONE, 0); UI_DataNameEntry = etk_entry_new(); //etk_widget_disabled_set(UI_DataNameEntry, ETK_TRUE); etk_box_append(ETK_BOX(vbox3), UI_DataNameEntry, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); //Value Entry label = etk_label_new("<b>Value</b>"); etk_box_append(ETK_BOX(vbox3), label, ETK_BOX_START, ETK_BOX_NONE, 0); UI_DataValueEntry = etk_entry_new(); etk_box_append(ETK_BOX(vbox3), UI_DataValueEntry, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); //Apply button UI_DataApplyButton =etk_button_new_from_stock(ETK_STOCK_DIALOG_APPLY); etk_signal_connect("clicked", ETK_OBJECT(UI_DataApplyButton), ETK_CALLBACK(_data_apply_button_click_cb), NULL); etk_box_append(ETK_BOX(vbox3), UI_DataApplyButton, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); return UI_DataWin; }
/* Called when a widget is added to the toolbar's box */ static Etk_Bool _etk_toolbar_child_added_cb(Etk_Object *object, Etk_Widget *child, void *data) { Etk_Toolbar *toolbar; if (!(toolbar = ETK_TOOLBAR(data)) || !child) return ETK_TRUE; /* Sets the style and the stock size if the new child is a tool-item */ if (ETK_IS_TOOL_ITEM(child)) { Etk_Button_Style button_style; switch (toolbar->style) { case ETK_TOOLBAR_ICON: button_style = ETK_BUTTON_ICON; break; case ETK_TOOLBAR_TEXT: button_style = ETK_BUTTON_TEXT; break; case ETK_TOOLBAR_BOTH_VERT: button_style = ETK_BUTTON_BOTH_VERT; break; case ETK_TOOLBAR_BOTH_HORIZ: button_style = ETK_BUTTON_BOTH_HORIZ; break; default: button_style = ETK_BUTTON_BOTH_VERT; break; } etk_button_style_set(ETK_BUTTON(child), button_style); etk_button_stock_size_set(ETK_BUTTON(child), toolbar->stock_size); } /* Reorientate the separators */ else if (toolbar->reorientating && (((toolbar->orientation == ETK_TOOLBAR_HORIZ) && ETK_IS_VSEPARATOR(child)) || ((toolbar->orientation == ETK_TOOLBAR_VERT) && ETK_IS_HSEPARATOR(child)))) { Etk_Bool visible; Etk_Box_Fill_Policy policy; Etk_Box_Group group; int pos, padding; visible = etk_widget_is_visible(child); etk_box_child_position_get(ETK_BOX(toolbar->box), child, &group, &pos); etk_box_child_packing_get(ETK_BOX(toolbar->box), child, &policy, &padding); etk_object_destroy(ETK_OBJECT(child)); if (toolbar->orientation == ETK_TOOLBAR_HORIZ) child = etk_vseparator_new(); else child = etk_hseparator_new(); etk_box_insert_at(ETK_BOX(toolbar->box), child, group, pos, policy, padding); if (visible) etk_widget_show(child); } if (etk_theme_group_exists(etk_widget_theme_file_get(ETK_WIDGET(toolbar)), etk_widget_theme_group_get(child), etk_widget_theme_group_get(ETK_WIDGET(toolbar)))) { etk_widget_theme_parent_set(child, ETK_WIDGET(toolbar)); } //etk_signal_emit(ETK_CONTAINER_CHILD_ADDED_SIGNAL, ETK_OBJECT(toolbar), child); return ETK_TRUE; }