static int test_constructor(char *buf, int len) { Ewl_Widget *menu; int ret = 0; menu = ewl_menu_new(); if (!EWL_MENU_IS(menu)) LOG_FAILURE(buf, len, "widget is not of the type " EWL_MENU_TYPE); else ret = 1; ewl_widget_destroy(menu); return ret; }
static int create_test(Ewl_Container *box) { Ewl_Widget *menu1, *menu2, *menu3, *item; item = ewl_label_new(); ewl_label_text_set(EWL_LABEL(item), ""); ewl_widget_name_set(item, "menu_label"); ewl_container_child_append(EWL_CONTAINER(box), item); ewl_widget_show(item); menu1 = ewl_menu_new(); ewl_button_image_set(EWL_BUTTON(menu1), ewl_test_image_get("Draw.png"), NULL); ewl_button_label_set(EWL_BUTTON(menu1), "Test Menu"); ewl_container_child_append(EWL_CONTAINER(box), menu1); ewl_object_fill_policy_set(EWL_OBJECT(menu1), EWL_FLAG_FILL_NONE); ewl_widget_show(menu1); item = ewl_menu_item_new(); ewl_button_image_set(EWL_BUTTON(item), ewl_test_image_get("Open.png"), NULL); ewl_button_label_set(EWL_BUTTON(item), "Dia"); ewl_container_child_append(EWL_CONTAINER(menu1), item); ewl_callback_append(item, EWL_CALLBACK_CLICKED, cb_menu_clicked, NULL); ewl_widget_show(item); item = ewl_menu_item_new(); ewl_button_image_set(EWL_BUTTON(item), ewl_test_image_get("Package.png"), NULL); ewl_button_label_set(EWL_BUTTON(item), "Gimp"); ewl_container_child_append(EWL_CONTAINER(menu1), item); ewl_callback_append(item, EWL_CALLBACK_CLICKED, cb_menu_clicked, NULL); ewl_widget_show(item); item = ewl_menu_item_new(); ewl_stock_type_set(EWL_STOCK(item), EWL_STOCK_OK); ewl_container_child_append(EWL_CONTAINER(menu1), item); ewl_callback_append(item, EWL_CALLBACK_CLICKED, cb_menu_clicked, NULL); ewl_widget_show(item); item = ewl_hseparator_new(); ewl_container_child_append(EWL_CONTAINER(menu1), item); ewl_widget_show(item); item = ewl_menu_item_new(); ewl_button_label_set(EWL_BUTTON(item), "Button"); ewl_container_child_append(EWL_CONTAINER(menu1), item); ewl_callback_append(item, EWL_CALLBACK_CLICKED, cb_menu_clicked, NULL); ewl_widget_show(item); /* Create a sub-menu */ menu2 = ewl_menu_new(); ewl_button_label_set(EWL_BUTTON(menu2), "Sub Menu"); ewl_container_child_append(EWL_CONTAINER(menu1), menu2); ewl_widget_show(menu2); item = ewl_menu_item_new(); ewl_button_label_set(EWL_BUTTON(item), "Button 1"); ewl_container_child_append(EWL_CONTAINER(menu2), item); ewl_callback_append(item, EWL_CALLBACK_CLICKED, cb_menu_clicked, NULL); ewl_widget_show(item); item = ewl_menu_item_new(); ewl_button_label_set(EWL_BUTTON(item), "Button 2"); ewl_container_child_append(EWL_CONTAINER(menu2), item); ewl_callback_append(item, EWL_CALLBACK_CLICKED, cb_menu_clicked, NULL); ewl_widget_show(item); /* create a sub-sub-menu */ menu3 = ewl_menu_new(); ewl_button_label_set(EWL_BUTTON(menu3), "Sub Sub Menu"); ewl_container_child_append(EWL_CONTAINER(menu2), menu3); ewl_widget_show(menu3); item = ewl_menu_item_new(); ewl_button_label_set(EWL_BUTTON(item), "Sub Button 1"); ewl_container_child_append(EWL_CONTAINER(menu3), item); ewl_callback_append(item, EWL_CALLBACK_CLICKED, cb_menu_clicked, NULL); ewl_widget_show(item); item = ewl_menu_item_new(); ewl_button_label_set(EWL_BUTTON(item), "Sub Button 2"); ewl_container_child_append(EWL_CONTAINER(menu3), item); ewl_callback_append(item, EWL_CALLBACK_CLICKED, cb_menu_clicked, NULL); ewl_widget_show(item); /* Create a sub-menu */ menu2 = ewl_menu_new(); ewl_button_label_set(EWL_BUTTON(menu2), "Sub Menu2"); ewl_container_child_append(EWL_CONTAINER(menu1), menu2); ewl_widget_show(menu2); item = ewl_menu_item_new(); ewl_button_label_set(EWL_BUTTON(item), "Button 2-1"); ewl_container_child_append(EWL_CONTAINER(menu2), item); ewl_callback_append(item, EWL_CALLBACK_CLICKED, cb_menu_clicked, NULL); ewl_widget_show(item); item = ewl_menu_item_new(); ewl_button_label_set(EWL_BUTTON(item), "Button 2-2"); ewl_container_child_append(EWL_CONTAINER(menu2), item); ewl_callback_append(item, EWL_CALLBACK_CLICKED, cb_menu_clicked, NULL); ewl_widget_show(item); return 1; }
int main ( int argc, char ** argv ) { Ewl_Widget *vbox=NULL; Ewl_Widget *statbar=NULL; char *homedir; char *configfile; if(argc<2) return 1; if ( !ewl_init ( &argc, argv ) ) { return 1; } //setlocale(LC_ALL, ""); //textdomain("elementpdf"); ewl_theme_theme_set(get_theme_file()); homedir=getenv("HOME"); configfile=(char *)calloc(strlen(homedir)+21 + 1, sizeof(char)); strcat(configfile,homedir); strcat(configfile,"/.madpdf"); if(!file_exists(configfile)) { mkdir (configfile,S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH); } strcat(configfile,"/settings.xml"); load_settings(configfile); win = ewl_window_new(); ewl_window_title_set ( EWL_WINDOW ( win ), "EWL_WINDOW" ); ewl_window_name_set ( EWL_WINDOW ( win ), "EWL_WINDOW" ); ewl_window_class_set ( EWL_WINDOW ( win ), "EWLWindow" ); ewl_object_size_request ( EWL_OBJECT ( win ), 600, 800 ); ewl_callback_append ( win, EWL_CALLBACK_DELETE_WINDOW, destroy_cb, NULL ); ewl_callback_append(win, EWL_CALLBACK_KEY_DOWN, cb_key_down, NULL); ewl_widget_name_set(win,"mainwindow"); ewl_widget_show ( win ); vbox=ewl_vbox_new(); ewl_container_child_append(EWL_CONTAINER(win),vbox); ewl_object_fill_policy_set(EWL_OBJECT(vbox), EWL_FLAG_FILL_FILL); ewl_widget_show(vbox); scrollpane=ewl_scrollpane_new(); ewl_container_child_append(EWL_CONTAINER(vbox),scrollpane); ewl_callback_append(scrollpane,EWL_CALLBACK_REVEAL,cb_scrollpane_revealed,NULL); ewl_scrollpane_hscrollbar_flag_set(EWL_SCROLLPANE(scrollpane),EWL_SCROLLPANE_FLAG_ALWAYS_HIDDEN); ewl_scrollpane_vscrollbar_flag_set(EWL_SCROLLPANE(scrollpane),EWL_SCROLLPANE_FLAG_ALWAYS_HIDDEN); //ewl_object_fill_policy_set(EWL_OBJECT(scrollpane), EWL_FLAG_FILL_FILL); //ewl_theme_data_str_set(EWL_WIDGET(scrollpane),"/scrollpane/group","ewl/blank"); ewl_widget_show(scrollpane); trimpane=ewl_scrollpane_new(); ewl_container_child_append(EWL_CONTAINER(scrollpane),trimpane); ewl_object_alignment_set(EWL_OBJECT(trimpane),EWL_FLAG_ALIGN_LEFT|EWL_FLAG_ALIGN_TOP); ewl_scrollpane_hscrollbar_flag_set(EWL_SCROLLPANE(trimpane),EWL_SCROLLPANE_FLAG_ALWAYS_HIDDEN); ewl_scrollpane_vscrollbar_flag_set(EWL_SCROLLPANE(trimpane),EWL_SCROLLPANE_FLAG_ALWAYS_HIDDEN); //ewl_theme_data_str_set(EWL_WIDGET(trimpane),"/scrollpane/group","ewl/blank"); ewl_widget_show(trimpane); statbar=ewl_hbox_new(); ewl_container_child_append(EWL_CONTAINER(vbox),statbar); ewl_theme_data_str_set(EWL_WIDGET(statbar),"/hbox/group","ewl/menu/oi_menu"); ewl_object_fill_policy_set(EWL_OBJECT(statbar),EWL_FLAG_FILL_HFILL|EWL_FLAG_FILL_VSHRINKABLE); ewl_widget_show(statbar); statlabel1=ewl_label_new(); //ewl_statusbar_left_append(EWL_STATUSBAR(statbar),statlabel1); ewl_container_child_append(EWL_CONTAINER(statbar),statlabel1); ewl_theme_data_str_set(EWL_WIDGET(statlabel1),"/label/group","ewl/oi_statbar_label_left"); ewl_theme_data_str_set(EWL_WIDGET(statlabel1),"/label/textpart","ewl/oi_statbar_label_left/text"); ewl_object_fill_policy_set(EWL_OBJECT(statlabel1),EWL_FLAG_FILL_HSHRINKABLE); ewl_widget_show(statlabel1); statlabel2=ewl_label_new(); //ewl_statusbar_right_append(EWL_STATUSBAR(statbar),statlabel2); ewl_container_child_append(EWL_CONTAINER(statbar),statlabel2); ewl_theme_data_str_set(EWL_WIDGET(statlabel2),"/label/group","ewl/oi_statbar_label_right"); ewl_theme_data_str_set(EWL_WIDGET(statlabel2),"/label/textpart","ewl/oi_statbar_label_right/text"); ewl_object_fill_policy_set(EWL_OBJECT(statlabel2),EWL_FLAG_FILL_HFILL); ewl_widget_show(statlabel2); pdfwidget = ewl_pdf_new(); ewl_pdf_file_set (EWL_PDF (pdfwidget), argv[1]); ewl_container_child_append(EWL_CONTAINER(trimpane),pdfwidget); ewl_object_alignment_set(EWL_OBJECT(pdfwidget),EWL_FLAG_ALIGN_LEFT|EWL_FLAG_ALIGN_TOP); ewl_widget_name_set(pdfwidget,"pdfwidget"); ewl_callback_append (pdfwidget, EWL_CALLBACK_CONFIGURE, cb_pdfwidget_resized, NULL ); ewl_widget_show (pdfwidget); //set up menu menu=ewl_context_menu_new(); ewl_callback_append(menu, EWL_CALLBACK_KEY_DOWN, cb_menu_key_down, NULL); ewl_theme_data_str_set(EWL_WIDGET(menu),"/menu/group","ewl/menu/oi_menu"); ewl_context_menu_attach(EWL_CONTEXT_MENU(menu), statbar); Ewl_Widget *temp=ewl_menu_new(); ewl_container_child_append(EWL_CONTAINER(menu),temp); ewl_widget_name_set(temp,"menuitem1"); ewl_button_label_set(EWL_BUTTON(temp),"1. Go to page..."); ewl_widget_show(temp); goto_entry=ewl_entry_new(); ewl_container_child_append(EWL_CONTAINER(temp),goto_entry); ewl_object_custom_w_set(EWL_OBJECT(goto_entry),50); ewl_callback_append(goto_entry, EWL_CALLBACK_KEY_DOWN, cb_goto_key_down, NULL); ewl_widget_show(goto_entry); temp=ewl_menu_item_new(); ewl_widget_name_set(temp,"menuitem2"); ewl_container_child_append(EWL_CONTAINER(menu),temp); ewl_button_label_set(EWL_BUTTON(temp),"2. Preferences..."); ewl_widget_show(temp); ewl_main(); save_settings(configfile); free(configfile); free_settings(); return 0; }