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 update_statusbar() { static char statlabel1str[100]; sprintf(statlabel1str,"MadPDF (OK for Menu)"); ewl_label_text_set(EWL_LABEL(statlabel1),statlabel1str); int curpage,totalpage; curpage=ewl_pdf_page_get(EWL_PDF(pdfwidget))+1; totalpage=epdf_document_page_count_get(ewl_pdf_pdf_document_get(EWL_PDF(pdfwidget))); static char statlabel2str[100]; sprintf(statlabel2str,"pg: %d/%d zoom: %d%% ",curpage,totalpage,(int)round(curscale*100.0)); double hpos,vpos; int leftarr=0,rightarr=0,downarr=0,uparr=0; if(CURRENT_W(trimpane)>CURRENT_W(scrollpane)) { hpos=ewl_scrollpane_hscrollbar_value_get(EWL_SCROLLPANE(scrollpane)); if(hpos>0.0) { leftarr=1; } if(hpos<1.0) { rightarr=1; } } if(CURRENT_H(trimpane)>CURRENT_H(scrollpane)) { vpos=ewl_scrollpane_vscrollbar_value_get(EWL_SCROLLPANE(scrollpane)); if(vpos>0.0) { uparr=1; } if(vpos<1.0) { downarr=1; } } if(leftarr||rightarr||downarr||uparr) strcat(statlabel2str,"pan: "); else strcat(statlabel2str,"pan: none"); if(leftarr) strcat(statlabel2str,"←"); if(rightarr) strcat(statlabel2str,"→"); if(downarr) strcat(statlabel2str,"↓"); if(uparr) strcat(statlabel2str,"↑"); ewl_label_text_set(EWL_LABEL(statlabel2),statlabel2str); }