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; } }
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; } static void cb_menu_clicked(Ewl_Widget * w, void *ev __UNUSED__, void *data __UNUSED__) { Ewl_Widget *o; const char *text; char buf[1024]; o = ewl_widget_name_find("menu_label"); text = ewl_button_label_get(EWL_BUTTON(w)); snprintf(buf, 1024, "%s item clicked.", (char *)text); ewl_label_text_set(EWL_LABEL(o), buf); }
static EWL_CALLBACK_DEFN(entry_value_changed) { Ewler_Widget_Elem *elem = user_data; char *text; text = ewl_text_text_get(EWL_TEXT(elem->entry)); if( !text ) return; switch( elem->spec->type ) { case EWLER_SPEC_ELEM_INT: elem->info.ivalue = strtol(text, NULL, 0); IF_FREE(text); if( !elem->changed ) { Ewl_Widget *parent; char *label = ewl_text_text_get(EWL_TEXT(elem->text)); parent = elem->text->parent; ewl_widget_destroy(elem->text); elem->text = ewl_text_new(""); ewl_text_color_set(EWL_TEXT(elem->text), 255, 0, 0, 255); ewl_text_text_append(EWL_TEXT(elem->text), label); ewl_container_child_append(EWL_CONTAINER(parent), elem->text); ewl_widget_show(elem->text); FREE(label); } elem->changed = true; if( elem->spec->set_func ) elem->spec->set_func(elem->w->w, elem->info.ivalue); break; case EWLER_SPEC_ELEM_STRING: if( elem->spec == name_spec ) { if( ewl_widget_name_find(text) ) { ewler_error("A widget already exists with the name %s", text); FREE(text); ewl_text_text_set(EWL_TEXT(elem->entry), elem->info.svalue); return; } form_rename_widget(elem->info.svalue, text); } elem->info.svalue = text; if( !elem->changed ) { int len; len = ewl_text_length_get(EWL_TEXT(elem->text)); ewl_text_cursor_position_set(EWL_TEXT(elem->text), 0); ewl_text_color_apply(EWL_TEXT(elem->text), 255, 0, 0, 255, len); } elem->changed = true; if( elem->spec->set_func ) elem->spec->set_func(elem->w->w, elem->info.svalue); break; default: break; } }
void cb_key_down(Ewl_Widget *w, void *ev, void *data) { Ewl_Widget *curwidget; Ewl_Event_Key_Down *e; e = (Ewl_Event_Key_Down*)ev; int k = translate_key(e); curwidget=ewl_widget_name_find("pdfwidget"); switch(k) { case 0: ewl_pdf_page_next(EWL_PDF(curwidget)); resize_and_rescale(curscale); fprintf(stderr,"l:%d; r:%d; t:%d; b:%d\n",get_left_margin(),get_right_margin(),get_top_margin(),get_bottom_margin()); //update_statusbar(); break; case 9: ewl_pdf_page_previous(EWL_PDF(curwidget)); resize_and_rescale(curscale); //update_statusbar(); break; case 8: curscale+=((double)get_settings()->zoominc)/100.0; resize_and_rescale(curscale); //update_statusbar(); break; case 7: curscale-=((double)get_settings()->zoominc)/100.0; resize_and_rescale(curscale); //update_statusbar(); break; /*case 6: if(ewl_pdf_orientation_get(EWL_PDF(curwidget))==EPDF_PAGE_ORIENTATION_LANDSCAPE) ewl_pdf_orientation_set(EWL_PDF(curwidget),EPDF_PAGE_ORIENTATION_PORTRAIT); else ewl_pdf_orientation_set(EWL_PDF(curwidget),EPDF_PAGE_ORIENTATION_LANDSCAPE); resize_and_rescale(curscale); //update_statusbar(); break;*/ case 1: move_hscrollbar(EWL_SCROLLPANE(scrollpane), -get_horizontal_pan_inc()); break; case 2: move_hscrollbar(EWL_SCROLLPANE(scrollpane), get_horizontal_pan_inc()); break; case 3: move_vscrollbar(EWL_SCROLLPANE(scrollpane), get_vertical_pan_inc()); break; case 4: move_vscrollbar(EWL_SCROLLPANE(scrollpane), -get_vertical_pan_inc()); break; case 5: if(fitmode==0) fitmode=1; else if(fitmode==1) fitmode=0; calculate_margins(); resize_and_rescale(curscale); break; case K_RETURN: ewl_widget_show(menu); ewl_widget_focus_send(menu); break; case K_ESCAPE: ewl_main_quit(); break; default: return; } }
void cb_key_down(Ewl_Widget *w, void *ev, void *data) { Ewl_Widget *curwidget; Ewl_Event_Key_Down *e; e = (Ewl_Event_Key_Down*)ev; int k = translate_key(e); curwidget=ewl_widget_name_find("pdfwidget"); switch(k) { case 0: ewl_pdf_page_next(EWL_PDF(curwidget)); resize_and_rescale(curscale); break; case 9: ewl_pdf_page_previous(EWL_PDF(curwidget)); resize_and_rescale(curscale); break; case 8: curscale+=((double)get_settings()->zoominc)/100.0; resize_and_rescale(curscale); break; case 7: curscale-=((double)get_settings()->zoominc)/100.0; resize_and_rescale(curscale); break; case 6: change_orientation(curwidget); resize_and_rescale(curscale); break; case 1: move_hscrollbar(EWL_SCROLLPANE(scrollpane), -1); break; case 2: move_hscrollbar(EWL_SCROLLPANE(scrollpane), 1); break; case 3: move_vscrollbar(EWL_SCROLLPANE(scrollpane), 1); break; case 4: move_vscrollbar(EWL_SCROLLPANE(scrollpane), -1); break; case 5: if(fitmode==0) fitmode=1; else if(fitmode==1) fitmode=0; calculate_margins(); resize_and_rescale(curscale); break; case K_RETURN: ewl_widget_show(menu); ewl_widget_focus_send(menu); break; case K_ESCAPE: ewl_main_quit(); break; default: return; } }