void cb_goto_key_down(Ewl_Widget *w, void *ev, void *data) { Ewl_Widget *curwidget; char temp[50]; Ewl_Event_Key_Down *e; e = (Ewl_Event_Key_Down*)ev; int k = translate_key(e); int page,totalpages; switch(k) { case K_RETURN: ewl_widget_hide(menu); totalpages=epdf_document_page_count_get(ewl_pdf_pdf_document_get(EWL_PDF(pdfwidget))); page=(int)strtol(ewl_text_text_get(EWL_TEXT(goto_entry)),NULL,10); sprintf(temp,"menuitem1"); curwidget=ewl_widget_name_find(temp); ewl_menu_collapse(EWL_MENU(curwidget)); if(page>0&&page<=totalpages) ewl_pdf_page_set(EWL_PDF(pdfwidget),page-1); break; case K_ESCAPE: sprintf(temp,"menuitem1"); curwidget=ewl_widget_name_find(temp); ewl_menu_collapse(EWL_MENU(curwidget)); ewl_widget_focus_send(menu); break; default: return; } }
void cb_menu_key_down(Ewl_Widget *w, void *ev, void *data) { Ewl_Widget *curwidget; char temp[50]; Ewl_Event_Key_Down *e; e = (Ewl_Event_Key_Down*)ev; int k = translate_key(e); switch(k) { case 1: sprintf(temp,"menuitem1"); curwidget=ewl_widget_name_find(temp); ewl_menu_cb_expand(curwidget,NULL,NULL); ewl_widget_focus_send(EWL_WIDGET(EWL_MENU(curwidget)->popup)); int curpage=ewl_pdf_page_get(EWL_PDF(pdfwidget))+1; //sprintf(temp,"%d",curpage); ewl_text_text_set(EWL_TEXT(goto_entry),""); ewl_widget_focus_send(goto_entry); break; case 2: /*ewl_widget_hide(menu); opt_dlg_init(); ewl_window_transient_for(EWL_WINDOW(opt_dlg_widget_get()),EWL_WINDOW(win)); ewl_widget_show(opt_dlg_widget_get()); ewl_widget_focus_send(opt_dlg_widget_get());*/ ewl_widget_hide(menu); OptionsDialog(); break; case K_ESCAPE: ewl_widget_hide(menu); break; default: return; } }
* @param user_data: UNUSED * @return Returns no value * @brief The configure callback */ void ewl_menu_cb_configure(Ewl_Widget *w, void *ev_data __UNUSED__, void *user_data __UNUSED__) { Ewl_Menu *menu; Ewl_Box *parent; DENTER_FUNCTION(DLEVEL_STABLE); DCHECK_PARAM_PTR(w); DCHECK_TYPE(w, EWL_MENU_TYPE); menu = EWL_MENU(w); parent = EWL_BOX(menu->menubar_parent); if ((parent && (ewl_box_orientation_get(parent) == EWL_ORIENTATION_VERTICAL)) || EWL_MENU_ITEM(menu)->inmenu) ewl_popup_type_set(EWL_POPUP(menu->popup), EWL_POPUP_TYPE_MENU_HORIZONTAL); else ewl_popup_type_set(EWL_POPUP(menu->popup), EWL_POPUP_TYPE_MENU_VERTICAL); DLEAVE_FUNCTION(DLEVEL_STABLE); } /**