本文整理汇总了C++中ETK_OBJECT函数的典型用法代码示例。如果您正苦于以下问题:C++ ETK_OBJECT函数的具体用法?C++ ETK_OBJECT怎么用?C++ ETK_OBJECT使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了ETK_OBJECT函数的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: bootpanel_create
boot_panel* bootpanel_create(main_window *win)
{
boot_panel* pnl;
Etk_Widget *scroll,*vbox, *hbox,*text,*frame;
pnl = malloc(sizeof(boot_panel));
pnl->win = win;
vbox = etk_vbox_new(ETK_FALSE, 5);
hbox = etk_hbox_new(ETK_FALSE, 5);
pnl->frame = hbox;
etk_box_append(ETK_BOX(hbox), vbox, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0);
scroll = etk_scrolled_view_new ();
etk_box_append(ETK_BOX(vbox), scroll, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0);
etk_widget_show(scroll);
pnl->eth_list = etk_tree_new();
pnl->eth_col0 = etk_tree_col_new(ETK_TREE(pnl->eth_list), _("Interfaces"), 80, 0.0);
etk_tree_col_model_add(pnl->eth_col0, etk_tree_model_checkbox_new());
etk_tree_col_model_add(pnl->eth_col0, etk_tree_model_text_new());
etk_signal_connect_by_code(ETK_TREE_COL_CELL_VALUE_CHANGED_SIGNAL,
ETK_OBJECT(pnl->eth_col0),
ETK_CALLBACK(bootpanel_ethlist_checkbox_change_cb), pnl);
etk_tree_mode_set(ETK_TREE(pnl->eth_list), ETK_TREE_MODE_LIST);
etk_tree_build(ETK_TREE(pnl->eth_list));
etk_container_add(ETK_CONTAINER(scroll), pnl->eth_list);
text = etk_text_view_new();
etk_widget_size_request_set(text, -1, 150);
etk_object_properties_set(ETK_OBJECT(text), "focusable", ETK_FALSE, NULL);
etk_textblock_text_set(ETK_TEXT_VIEW(text)->textblock,
_("<p align=\"center\"><style effect=glow color1=#fa14 color2=#fe87><b>Help!</b></style>"
"\n<p>When your computer boot, exalt starts and configure yours networks interfaces in the background. If you use the DHCP, your interface will get a IP address after a while.</p>"
"\n<p>You can have a problem if you use a daemon as nfs-client. If the daemon need a network connection when it starts and your interface has no IP address, the daemon will not work. To avoid this problem Exalt can configure your interface in the foreground. If you select the interface in the list, Exalt will wait until your interface gets a IP address.</p>"
"\n<p>If the interface doesn't get a IP address before the timeout, your computer will continue the boot process.</p>"
),
ETK_TRUE);
etk_box_append(ETK_BOX(hbox), text, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0);
frame=etk_frame_new(_("Timeout"));
etk_box_append(ETK_BOX(vbox), frame, ETK_BOX_START, ETK_BOX_FILL, 0);
hbox = etk_hbox_new(ETK_FALSE, 5);
etk_container_add(ETK_CONTAINER(frame), hbox);
pnl->slider = etk_hslider_new(1,60,30,1,5);
etk_box_append(ETK_BOX(hbox), pnl->slider, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0);
etk_slider_label_set(ETK_SLIDER(pnl->slider), "%.0f");
etk_signal_connect_by_code(ETK_RANGE_VALUE_CHANGED_SIGNAL, ETK_OBJECT(pnl->slider), ETK_CALLBACK(bootpanel_slider_value_changed_cb), pnl);
etk_slider_update_policy_set(ETK_SLIDER(pnl->slider), ETK_SLIDER_DELAYED);
bootpanel_update_timeout(pnl);
return pnl;
}
开发者ID:BackupTheBerlios,项目名称:exalt-svn,代码行数:60,代码来源:boot_panel.c
示例2: _emphasis_init_player_small
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;
}
开发者ID:playya,项目名称:Enlightenment,代码行数:33,代码来源:emphasis_player.c
示例3: gradient_spectra_combo_populate
void
gradient_spectra_combo_populate(void)
{
Eina_List *spectrums, *l;
Etk_Widget *parent;
//Block signal propagation
etk_signal_block("item-activated", ETK_OBJECT(UI_GradientSpectraComboBox),
ETK_CALLBACK(_gradient_spectra_combo_activated_cb), NULL);
etk_combobox_clear(ETK_COMBOBOX(UI_GradientSpectraComboBox));
parent = ETK_WIDGET(ETK_COMBOBOX(UI_GradientSpectraComboBox)->window);
spectrums = l = edje_edit_spectrum_list_get(edje_o);
while(l)
{
etk_combobox_item_append(ETK_COMBOBOX(UI_GradientSpectraComboBox),
spectra_thumb_create(parent, (char*)l->data),
(char*)l->data);
l = l->next;
}
edje_edit_string_list_free(spectrums);
//Reenable signal propagation
etk_signal_unblock("item-activated", ETK_OBJECT(UI_GradientSpectraComboBox),
ETK_CALLBACK(_gradient_spectra_combo_activated_cb), NULL);
}
开发者ID:playya,项目名称:Enlightenment,代码行数:27,代码来源:edje_editor_gradient.c
示例4: etk_entropy_delete_dialog_cb
void etk_entropy_delete_dialog_cb(Etk_Object* w, void* user_data)
{
Etk_Widget* window = NULL;
int result = (int)user_data;
entropy_generic_file* file;
Ecore_List* files;
entropy_gui_component_instance* instance;
window = etk_object_data_get(ETK_OBJECT(w), "window");
files= etk_object_data_get(ETK_OBJECT(window), "files");
instance = etk_object_data_get(ETK_OBJECT(window), "instance");
switch (result) {
case ENTROPY_USER_INTERACTION_RESPONSE_YES: {
ecore_list_first_goto(files);
while ((file = ecore_list_first_remove(files))) {
entropy_plugin_filesystem_file_remove(file, instance);
}
}
break;
case ENTROPY_USER_INTERACTION_RESPONSE_NO: {
}
break;
default: break;
}
ecore_list_destroy(files);
etk_object_destroy(ETK_OBJECT(window));
}
开发者ID:playya,项目名称:Enlightenment,代码行数:31,代码来源:etk_interaction_dialog.c
示例5: tree_combobox_populate
void
tree_combobox_populate(void)
{
Eina_List *groups, *l;
char *data;
//Stop signal propagation
etk_signal_block("active-item-changed", ETK_OBJECT(UI_GroupsComboBox),
ETK_CALLBACK(_tree_combobox_active_item_changed_cb), NULL);
etk_signal_block("item-activated",ETK_OBJECT(UI_PartSourceComboBox),
_part_SourceComboBox_item_activated_cb, NULL);
etk_combobox_entry_autosearch_set(ETK_COMBOBOX_ENTRY(UI_GroupsComboBox), -1, NULL);
//Clear the combos
etk_combobox_entry_clear(ETK_COMBOBOX_ENTRY(UI_GroupsComboBox));
etk_combobox_clear(ETK_COMBOBOX(UI_PartSourceComboBox));
etk_combobox_item_append(ETK_COMBOBOX(UI_PartSourceComboBox), "None");
//Populate UI_GroupsComboBox & UI_PartSourceComboBox
groups = edje_file_collection_list(Cur.edj_temp_name->string);
EINA_LIST_FOREACH(groups, l, data)
{
etk_combobox_entry_item_append(ETK_COMBOBOX_ENTRY(UI_GroupsComboBox),
data, NULL);
etk_combobox_item_append(ETK_COMBOBOX(UI_PartSourceComboBox), data);
}
开发者ID:playya,项目名称:Enlightenment,代码行数:26,代码来源:edje_editor_tree.c
示例6: etk_file_cache_dialog_create
void etk_file_cache_dialog_create()
{
Etk_Widget* window = NULL;
Etk_Widget* tree = NULL;
Etk_Tree_Col* tree_col;
Etk_Widget* button;
Etk_Widget* vbox;
if (_etk_file_cache_dialog_running)
return;
_etk_file_cache_dialog_running = 1;
window = etk_window_new();
etk_window_title_set(ETK_WINDOW(window), "File Cache");
etk_window_wmclass_set(ETK_WINDOW(window), "entropyfilecache", "entropyfilecache");
etk_widget_size_request_set(ETK_WIDGET(window), 450, 500);
vbox = etk_vbox_new(ETK_FALSE,0);
etk_container_add(ETK_CONTAINER(window), vbox);
tree = etk_tree_new();
etk_box_append(ETK_BOX(vbox), tree, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0);
etk_tree_mode_set(ETK_TREE(tree), ETK_TREE_MODE_LIST);
tree_col = etk_tree_col_new(ETK_TREE(tree), _("Listeners"), 125,0.0);
etk_tree_col_model_add(tree_col, etk_tree_model_text_new());
// Not yet implemented in Tree2
//etk_tree_col_sort_func_set(tree_col, _entropy_etk_file_cache_dialog_listener_compare_cb, NULL);
tree_col = etk_tree_col_new(ETK_TREE(tree), _("Filename"), 150, 0.0);
etk_tree_col_model_add(tree_col, etk_tree_model_text_new());
etk_tree_col_expand_set(tree_col, ETK_TRUE);
etk_tree_build(ETK_TREE(tree));
etk_file_cache_dialog_refresh(tree);
button = etk_button_new_with_label("Refresh");
etk_signal_connect("pressed", ETK_OBJECT(button), ETK_CALLBACK(_etk_file_cache_dialog_refresh_cb), tree);
etk_box_append(ETK_BOX(vbox), button, ETK_BOX_END, ETK_BOX_NONE, 0);
etk_signal_connect ("delete_event", ETK_OBJECT (window),
ETK_CALLBACK (_etk_file_cache_debug_dialog_delete_cb), window);
etk_widget_show_all(window);
}
开发者ID:playya,项目名称:Enlightenment,代码行数:58,代码来源:etk_file_cache_debug_dialog.c
示例7: tree_create
/*** Implementation ***/
Etk_Widget*
tree_create(void)
{
//UI_GroupsComboBox
UI_GroupsComboBox = etk_combobox_entry_new_default();
etk_combobox_entry_items_height_set(ETK_COMBOBOX_ENTRY(UI_GroupsComboBox), 18);
etk_combobox_entry_autosearch_set(ETK_COMBOBOX_ENTRY(UI_GroupsComboBox), GROUP_COMBO_AUTOSEARCH_COL, strcasestr);
etk_signal_connect("active-item-changed", ETK_OBJECT(UI_GroupsComboBox),
ETK_CALLBACK(_tree_combobox_active_item_changed_cb), NULL);
//UI_PartsTree
Etk_Tree_Col *col;
UI_PartsTree = etk_tree_new();
etk_widget_padding_set(UI_PartsTree,2,2,2,2);
etk_tree_mode_set(ETK_TREE(UI_PartsTree), ETK_TREE_MODE_TREE);
etk_tree_headers_visible_set(ETK_TREE(UI_PartsTree), ETK_FALSE);
etk_widget_size_request_set(UI_PartsTree, 260, 300);
//Main column
col = etk_tree_col_new(ETK_TREE(UI_PartsTree), "File contents",100,0);
etk_tree_col_model_add(col,etk_tree_model_image_new());
etk_tree_col_model_add(col,etk_tree_model_text_new());
etk_tree_col_resizable_set(col, ETK_FALSE);
etk_tree_col_expand_set(col,ETK_TRUE);
//Visibility column
col = etk_tree_col_new(ETK_TREE(UI_PartsTree), "vis", 10,0);
etk_tree_col_visible_set(col, DEBUG_MODE);
etk_tree_col_model_add(col,etk_tree_model_checkbox_new());
etk_tree_col_resizable_set(col, ETK_FALSE);
etk_tree_col_expand_set(col,ETK_FALSE);
//RowType column
col = etk_tree_col_new(ETK_TREE(UI_PartsTree), "type",10, 0);
etk_tree_col_model_add(col,etk_tree_model_int_new());
etk_tree_col_visible_set(col, DEBUG_MODE);
etk_tree_col_resizable_set(col, ETK_FALSE);
etk_tree_col_expand_set(col,ETK_FALSE);
//Parent part row
col = etk_tree_col_new(ETK_TREE(UI_PartsTree), "parent",100, 0);
etk_tree_col_model_add(col,etk_tree_model_text_new());
etk_tree_col_visible_set(col, DEBUG_MODE);
etk_tree_col_resizable_set(col, ETK_FALSE);
etk_tree_col_expand_set(col,ETK_FALSE);
etk_tree_build(ETK_TREE(UI_PartsTree));
etk_signal_connect("row-selected", ETK_OBJECT(UI_PartsTree),
ETK_CALLBACK(_tree_row_selected_cb), NULL);
etk_signal_connect("row-clicked", ETK_OBJECT(UI_PartsTree),
ETK_CALLBACK(_tree_click_cb), NULL);
//vbox
Etk_Widget *vbox;
vbox = etk_vbox_new(ETK_FALSE, 0);
etk_box_append(ETK_BOX(vbox), UI_GroupsComboBox, ETK_BOX_START, ETK_BOX_NONE, 0);
etk_box_append(ETK_BOX(vbox), UI_PartsTree, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0);
return vbox;
}
开发者ID:playya,项目名称:Enlightenment,代码行数:58,代码来源:edje_editor_tree.c
示例8: mainwindow_create
main_window* mainwindow_create()
{/*{{{*/
Etk_Widget *hbox,*scroll;
main_window* win;
win=(main_window*)malloc((unsigned int)sizeof(main_window));
win->win = etk_window_new();
etk_window_title_set(ETK_WINDOW(win->win), _("Exalt: network manager"));
etk_window_wmclass_set(ETK_WINDOW(win->win),"Exalt_network_manager","Exalt_network_manager");
etk_window_resize(ETK_WINDOW(win->win), 623,268);
etk_signal_connect("delete-event", ETK_OBJECT(win->win), ETK_CALLBACK( mainWindow_close), win);
hbox = etk_hbox_new(ETK_FALSE, 5);
etk_container_add(ETK_CONTAINER(win->win), hbox);
scroll = etk_scrolled_view_new ();
etk_box_append(ETK_BOX(hbox), scroll, ETK_BOX_START, ETK_BOX_FILL, 0);
etk_widget_show(scroll);
win->eth_list = etk_tree_new();
etk_widget_size_request_set(win->eth_list, 120, 50);
win->eth_col0 = etk_tree_col_new(ETK_TREE(win->eth_list), _("Interfaces"), 80, 0.0);
etk_tree_col_model_add(win->eth_col0, etk_tree_model_image_new());
etk_tree_col_model_add(win->eth_col0, etk_tree_model_text_new());
etk_tree_rows_height_set(ETK_TREE(win->eth_list),40);
etk_tree_mode_set(ETK_TREE(win->eth_list), ETK_TREE_MODE_LIST);
etk_tree_build(ETK_TREE(win->eth_list));
etk_container_add(ETK_CONTAINER(scroll), win->eth_list);
etk_signal_connect("row-clicked", ETK_OBJECT(win->eth_list),ETK_CALLBACK(mainWindow_ethList_row_clicked_cb), win);
//add the general panel in the list
etk_tree_row_append(ETK_TREE(win->eth_list), NULL,
win->eth_col0,PACKAGE_DATA_DIR ICONS_NETWORK_CONFIG,NULL,_("General") , NULL);
//attach the add callback function to exalt
exalt_eth_set_cb(mainWindow_eth_cb, win);
etk_widget_show_all(win->win);
win->eth_panel = ethpanel_create(win);
etk_box_append(ETK_BOX(hbox),win->eth_panel->frame , ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0);
win->wireless_panel = wirelesspanel_create(win);
etk_box_append(ETK_BOX(hbox),win->wireless_panel->frame , ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0);
win->general_panel = generalpanel_create();
etk_box_append(ETK_BOX(hbox),win->general_panel->frame , ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0);
//launch the timer to update the network state
//win->eth_state_timer = ecore_timer_add(MAINWINDOW_ETH_STATE_TIME_MAX ,mainWindow_eth_state_timer,win);
return win;
}/*}}}*/
开发者ID:BackupTheBerlios,项目名称:exalt,代码行数:57,代码来源:main_window.c
示例9: etk_entropy_user_interaction_dialog_cb
void etk_entropy_user_interaction_dialog_cb(Etk_Object* w, void* user_data)
{
long id = (long)etk_object_data_get(ETK_OBJECT(w),"operation");
Etk_Widget* window = NULL;
entropy_plugin_operation_respond( id, (int)user_data );
window = etk_object_data_get(ETK_OBJECT(w), "window");
etk_object_destroy(ETK_OBJECT(window));
}
开发者ID:playya,项目名称:Enlightenment,代码行数:10,代码来源:etk_interaction_dialog.c
示例10: el_about
ELAPI void *
el_about(void)
{
Etk_Widget *win, *vbox, *hbox;
Etk_Widget *button, *label;
Etk_Widget *about;
Etk_Textblock *msg;
Etk_Textblock_Iter *iter;
char buf[4096];
win = etk_dialog_new();
etk_window_title_set(ETK_WINDOW(win), "About "PACKAGE_NAME);
etk_window_wmclass_set(ETK_WINDOW(win), PACKAGE"_About", PACKAGE_NAME"_About");
etk_container_border_width_set(ETK_CONTAINER(win), 3);
etk_signal_connect("delete_event", ETK_OBJECT(win), ETK_CALLBACK(_close_cb), NULL);
vbox = etk_vbox_new(ETK_FALSE, 0);
etk_container_add(ETK_CONTAINER(win), vbox);
label = etk_label_new("<h1>"PACKAGE_NAME"</h1>");
etk_label_alignment_set(ETK_LABEL(label), 0.5, 0.5);
etk_box_append(ETK_BOX(vbox), label, ETK_BOX_START, ETK_BOX_NONE, 0);
snprintf(buf, sizeof(buf),
"<b>%s is an Etk-based IRC client in development</b>\n\n"
"Christopher 'devilhorns' Michael\n\n%s\n",
PACKAGE_NAME, PACKAGE_BUGREPORT);
about = etk_text_view_new();
etk_widget_size_request_set(about, 250, 150);
etk_box_append(ETK_BOX(vbox), about, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0);
msg = etk_text_view_textblock_get(ETK_TEXT_VIEW(about));
etk_textblock_object_cursor_visible_set(ETK_TEXT_VIEW(about)->textblock_object, ETK_FALSE);
iter = etk_textblock_iter_new(msg);
etk_textblock_iter_forward_end(iter);
etk_textblock_insert_markup(msg, iter, buf, -1);
etk_box_append(ETK_BOX(vbox), etk_hseparator_new(), ETK_BOX_END, ETK_BOX_FILL, 5);
hbox = etk_hbox_new(ETK_FALSE, 3);
etk_box_append(ETK_BOX(vbox), hbox, ETK_BOX_END, ETK_BOX_NONE, 0);
button = etk_button_new_from_stock(ETK_STOCK_DIALOG_CLOSE);
etk_signal_connect_swapped("clicked", ETK_OBJECT(button), ETK_CALLBACK(_close_cb), win);
etk_box_append(ETK_BOX(hbox), button, ETK_BOX_END, ETK_BOX_NONE, 0);
return win;
}
开发者ID:BackupTheBerlios,项目名称:elaborate,代码行数:49,代码来源:el_about_gui.c
示例11: show_midi_window_control
void show_midi_window_control(void *data){
Etk_Widget *vbox, *vbox1, *hbox;
Etk_Widget *frame;
Etk_Widget *button;
Etk_Widget *label;
Etk_Combobox_Item *item;
control_port_t * control_port;
control_port = (control_port_t *)data;
mydata = data;
midi_t * midibinding;
printf("tenative midi connection to ** %s \n", control_port->control_port_name);
if (midi_win_control){
etk_widget_show(ETK_WIDGET(midi_win_control));
return;
}
midi_win_control = etk_window_new();
etk_window_title_set(ETK_WINDOW(midi_win_control), "Set this controls Midi Properties");
etk_window_resize(ETK_WINDOW(midi_win_control), 200, 0);
etk_signal_connect("delete-event", ETK_OBJECT(midi_win_control), ETK_CALLBACK(etk_window_hide_on_delete), NULL);
vbox = etk_vbox_new(ETK_FALSE, 0);
etk_container_add(ETK_CONTAINER(midi_win_control), vbox);
frame = etk_frame_new("Set Midi Binding for Control");
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("select control change ch#");
etk_box_append(ETK_BOX(hbox), label, ETK_BOX_START, ETK_BOX_NONE, 3);
spinnerControl = etk_spinner_new(1.0, 16.0, 1, 1.0, 5.0);
etk_box_append(ETK_BOX(hbox), spinnerControl, ETK_BOX_START, ETK_BOX_NONE, 7);
etk_signal_connect("value-changed", ETK_OBJECT(spinnerControl), ETK_CALLBACK(_ex_changed_value_control), 3);
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_Control, mydata);
button = etk_button_new_with_label("Remove Binding");
etk_box_append(ETK_BOX(vbox), button, ETK_BOX_START, ETK_BOX_NONE, 0);
etk_signal_connect("clicked", ETK_OBJECT(button), _ex_Remove_Binding_Control, mydata);
etk_widget_show_all(midi_win_control);
}
开发者ID:eriser,项目名称:ayemux,代码行数:48,代码来源:mux_midi.c
示例12: mainWindow_close
Etk_Bool mainWindow_close(Etk_Object *object, void *data)
{/*{{{*/
exalt_eth_ethernets_free();
main_window* win = (main_window*)data;
etk_object_destroy(ETK_OBJECT(win->win));
exit(1);
}/*}}}*/
开发者ID:BackupTheBerlios,项目名称:exalt,代码行数:7,代码来源:main_window.c
示例13: emphasis_menu_append
/**
* @brief Make a menu with small stock image and sets a callback on "activated" on each elements
* @param menu The Etk_Menu to setup
* @param ... An (char*)menu_item name, an (Etk_Stock_Id)image id, a Etk_Callback function and
* it data ... terminated by NULL
*/
void
emphasis_menu_append(Etk_Widget *menu, ...)
{
Etk_Widget *menu_item, *item_image = NULL;
char *item_name;
Etk_Stock_Id item_image_id;
void *callback, *data;
va_list arglist;
va_start(arglist, menu);
while ((item_name = va_arg(arglist, char *)) != NULL)
{
menu_item = etk_menu_item_image_new_with_label(item_name);
item_image_id = va_arg(arglist, Etk_Stock_Id);
if (item_image_id)
{
item_image =
etk_image_new_from_stock(item_image_id, ETK_STOCK_SMALL);
etk_menu_item_image_set(ETK_MENU_ITEM_IMAGE(menu_item),
ETK_IMAGE(item_image));
}
callback = va_arg(arglist, void *);
data = va_arg(arglist, void *);
if (callback)
{
etk_signal_connect("activated", ETK_OBJECT(menu_item),
ETK_CALLBACK(callback), data);
}
etk_menu_shell_append(ETK_MENU_SHELL(menu), ETK_MENU_ITEM(menu_item));
}
va_end(arglist);
}
开发者ID:playya,项目名称:Enlightenment,代码行数:40,代码来源:emphasis_gui.c
示例14: etk_directory_add_dialog_cancel_cb
void etk_directory_add_dialog_cancel_cb(Etk_Object* w, void* user_data)
{
etk_directory_add_dialog* dialog = user_data;
etk_object_destroy(ETK_OBJECT(dialog->window));
free(dialog);
}
开发者ID:playya,项目名称:Enlightenment,代码行数:7,代码来源:etk_directory_add_dialog.c
注:本文中的ETK_OBJECT函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论