void theme_init(){ char *theme_file; theme_file = get_theme_file("default.css"); if (!theme_file){ return; } provider = GTK_STYLE_PROVIDER(gtk_css_provider_new()); gtk_css_provider_load_from_path( GTK_CSS_PROVIDER(provider), theme_file, NULL); g_free(theme_file); }
Evas_Object *init_entrybox(Evas *evas,const char* title,const char *defaultentry,int maxlength,entry_handler handler, Evas_Object *parent) { entry_info_struct *info = (entry_info_struct *) malloc(sizeof(entry_info_struct)); info->entry=(char*)malloc(sizeof(char)*(maxlength+1)); (info->entry)[0]='\0'; if(strlen(defaultentry) <= maxlength) { info->curchar = strlen(defaultentry); strcpy(info->entry,defaultentry); } else info->curchar = 0; info->maxchar = maxlength; info->handler = handler; info->parent = parent; Evas_Object *win=edje_object_add(evas); char *themefile=get_theme_file(); edje_object_file_set(win,themefile, "dlg_entrybox"); evas_object_data_set(win,"entry_info",(void *)info); set_key_handler(win, &entrybox_handlers); int edje_w,edje_h; edje_object_size_min_get(win, &edje_w, &edje_h); evas_object_resize(win,edje_w,edje_h); evas_object_move (win,0,0); if(title) edje_object_part_text_set(win,"dlg_entrybox/titletext",title); edje_object_part_text_set(win,"dlg_entrybox/entrytext",info->entry); evas_object_show(win); evas_object_focus_set(win,1); free(themefile); return win; }
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; }