/* Initializes the members */ static void _etk_dialog_constructor(Etk_Dialog *dialog) { if (!dialog) return; dialog->dialog_vbox = etk_vbox_new(ETK_FALSE, 0); etk_container_add(ETK_CONTAINER(dialog), dialog->dialog_vbox); etk_widget_show(dialog->dialog_vbox); dialog->main_area_vbox = etk_vbox_new(ETK_FALSE, 0); etk_widget_internal_set(dialog->main_area_vbox, ETK_TRUE); etk_box_append(ETK_BOX(dialog->dialog_vbox), dialog->main_area_vbox, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0); etk_widget_show(dialog->main_area_vbox); dialog->separator = etk_hseparator_new(); etk_widget_internal_set(dialog->separator, ETK_TRUE); etk_widget_theme_parent_set(dialog->separator, ETK_WIDGET(dialog)); etk_box_append(ETK_BOX(dialog->dialog_vbox), dialog->separator, ETK_BOX_START, ETK_BOX_FILL, 6); etk_widget_show(dialog->separator); dialog->action_area_alignment = etk_alignment_new(0.5, 0.5, 0.0, 0.0); etk_widget_internal_set(dialog->action_area_alignment, ETK_TRUE); etk_box_append(ETK_BOX(dialog->dialog_vbox), dialog->action_area_alignment, ETK_BOX_END, ETK_BOX_FILL, 0); etk_widget_show(dialog->action_area_alignment); dialog->action_area_hbox = etk_hbox_new(ETK_TRUE, 4); etk_widget_internal_set(dialog->action_area_hbox, ETK_TRUE); etk_container_add(ETK_CONTAINER(dialog->action_area_alignment), dialog->action_area_hbox); etk_widget_show(dialog->action_area_hbox); etk_widget_lower(dialog->separator); dialog->has_separator = ETK_TRUE; }
/** * @brief Sets the label of the menu-item from a stock-id. If the menu-item is an Etk_Menu_Item_Image, * the image is also changed depending on the stock-id * @param menu_item a menu-item * @param stock_id the stock-id corresponding to the label and the image you want to use * @see Etk_Stock */ void etk_menu_item_set_from_stock(Etk_Menu_Item *menu_item, Etk_Stock_Id stock_id) { const char *label; if (!menu_item) return; label = etk_stock_label_get(stock_id); etk_menu_item_label_set(menu_item, label); if (ETK_IS_MENU_ITEM_IMAGE(menu_item)) { Etk_Widget *image; image = etk_image_new_from_stock(stock_id, ETK_STOCK_SMALL); etk_menu_item_image_set(ETK_MENU_ITEM_IMAGE(menu_item), ETK_IMAGE(image)); etk_widget_internal_set(image, ETK_TRUE); etk_widget_show(image); } }
/* Initialized the cairo widget */ static void _etk_cairo_constructor(Etk_Cairo *cairo) { Etk_Widget *widget; if (!(widget = ETK_WIDGET(cairo))) return; cairo->cairo.cr = NULL; cairo->cairo.surface = NULL; cairo->min_size.w = 0; cairo->min_size.h = 0; cairo->image = etk_image_new(); etk_widget_internal_set(cairo->image, ETK_TRUE); etk_widget_parent_set(cairo->image, widget); etk_widget_show(cairo->image); widget->size_allocate = _etk_cairo_size_allocate; cairo->redraw_required_handler = _etk_cairo_redraw_required_handler; etk_signal_connect("size-requested", ETK_OBJECT(cairo), ETK_CALLBACK(_etk_cairo_size_requested_cb), NULL); }
/** * @brief Sets the toolbar's orientation (horizontal or vertical) * @param toolbar a toolbar * @param orientation the orientation to set */ void etk_toolbar_orientation_set(Etk_Toolbar *toolbar, Etk_Toolbar_Orientation orientation) { Eina_List *children, *l; Etk_Widget *prev_box; if (!toolbar || toolbar->orientation == orientation) return; toolbar->reorientating = ETK_TRUE; prev_box = toolbar->box; toolbar->orientation = orientation; if (toolbar->orientation == ETK_TOOLBAR_VERT) toolbar->box = etk_vbox_new(ETK_FALSE, 0); else toolbar->box = etk_hbox_new(ETK_FALSE, 0); etk_widget_internal_set(toolbar->box, ETK_TRUE); etk_widget_show(toolbar->box); etk_signal_connect_by_code(ETK_CONTAINER_CHILD_ADDED_SIGNAL, ETK_OBJECT(toolbar->box), ETK_CALLBACK(_etk_toolbar_child_added_cb), toolbar); etk_signal_connect_by_code(ETK_CONTAINER_CHILD_REMOVED_SIGNAL, ETK_OBJECT(toolbar->box), ETK_CALLBACK(_etk_toolbar_child_removed_cb), NULL); children = etk_container_children_get(ETK_CONTAINER(prev_box)); for (l = children; l; l = l->next) etk_toolbar_append(toolbar, ETK_WIDGET(l->data), ETK_BOX_START); eina_list_free(children); etk_object_destroy(ETK_OBJECT(prev_box)); if (toolbar->orientation == ETK_TOOLBAR_VERT) etk_widget_theme_group_set(ETK_WIDGET(toolbar), "vtoolbar"); else etk_widget_theme_group_set(ETK_WIDGET(toolbar), "htoolbar"); etk_widget_parent_set(toolbar->box, ETK_WIDGET(toolbar)); toolbar->reorientating = ETK_FALSE; etk_object_notify(ETK_OBJECT(toolbar), "orientation"); }
/* Initializes the members and build the toolbar */ static void _etk_toolbar_constructor(Etk_Toolbar *toolbar) { if (!toolbar) return; toolbar->style = ETK_TOOLBAR_BOTH_VERT; toolbar->orientation = ETK_TOOLBAR_HORIZ; toolbar->stock_size = ETK_STOCK_MEDIUM; toolbar->reorientating = ETK_FALSE; ETK_WIDGET(toolbar)->size_request = _etk_toolbar_size_request; ETK_WIDGET(toolbar)->size_allocate = _etk_toolbar_size_allocate; ETK_CONTAINER(toolbar)->child_add = _etk_toolbar_child_add; ETK_CONTAINER(toolbar)->child_remove = _etk_toolbar_child_remove; ETK_CONTAINER(toolbar)->children_get = _etk_toolbar_children_get; toolbar->box = etk_hbox_new(ETK_FALSE, 0); etk_widget_parent_set(toolbar->box, ETK_WIDGET(toolbar)); etk_widget_internal_set(ETK_WIDGET(toolbar->box), ETK_TRUE); etk_widget_show(toolbar->box); etk_signal_connect_by_code(ETK_CONTAINER_CHILD_ADDED_SIGNAL, ETK_OBJECT(toolbar->box), ETK_CALLBACK(_etk_toolbar_child_added_cb), toolbar); etk_signal_connect_by_code(ETK_CONTAINER_CHILD_REMOVED_SIGNAL, ETK_OBJECT(toolbar->box), ETK_CALLBACK(_etk_toolbar_child_removed_cb), NULL); }