void loadEveBrowser() { int argc = 0; printf("%s:%d\n", __func__, __LINE__); gtk_init_check(&argc, NULL); if (!g_thread_supported ()) g_thread_init (NULL); printf("%s:%d\n", __func__, __LINE__); GtkWidget* fixed = gtk_fixed_new(); g_vbox = gtk_vbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (g_vbox), create_toolbar (), FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (g_vbox), GTK_WIDGET (create_browser ()), TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (g_vbox), create_statusbar (), FALSE, FALSE, 0); g_window = create_window (); gtk_fixed_put(GTK_FIXED(fixed), g_vbox, 0, 0); gtk_widget_set_size_request(g_vbox, g_framebuffer_width, g_framebuffer_height); GtkWidget* statusLabel = gtk_label_new ("Status"); gtk_fixed_put(GTK_FIXED(fixed), statusLabel, g_framebuffer_width - 200, 0); gtk_widget_set_size_request(statusLabel, 200, 100); gtk_container_add (GTK_CONTAINER (g_window), fixed); }
GList * get_all_widgets (void) { GList *retval = NULL; retval = g_list_append (retval, create_browser ()); retval = g_list_append (retval, create_button ()); retval = g_list_append (retval, create_chain_button ()); retval = g_list_append (retval, create_color_area ()); retval = g_list_append (retval, create_color_button ()); retval = g_list_append (retval, create_color_hex_entry ()); retval = g_list_append (retval, create_color_profile_combo_box ()); retval = g_list_append (retval, create_color_scale ()); retval = g_list_append (retval, create_color_selection ()); retval = g_list_append (retval, create_dialog ()); retval = g_list_append (retval, create_enum_combo_box ()); retval = g_list_append (retval, create_enum_label ()); retval = g_list_append (retval, create_file_entry ()); retval = g_list_append (retval, create_frame ()); retval = g_list_append (retval, create_hint_box ()); retval = g_list_append (retval, create_int_combo_box ()); retval = g_list_append (retval, create_memsize_entry ()); retval = g_list_append (retval, create_number_pair_entry ()); retval = g_list_append (retval, create_offset_area ()); retval = g_list_append (retval, create_page_selector ()); retval = g_list_append (retval, create_path_editor ()); retval = g_list_append (retval, create_pick_button ()); retval = g_list_append (retval, create_preview_area ()); retval = g_list_append (retval, create_string_combo_box ()); retval = g_list_append (retval, create_unit_menu ()); return retval; }
/* * Name: run_url_browser * Input arguments: 'nTabIndex': URL-RENDERING tab index * Output arguments: void * Function: This function will make a URL-RENDRERING tab Note. * You need to use below functions to handle tab event. * 1. process_all_gtk_events(); * 2. process_single_gtk_event(); * 3. render_web_page_in_tab(uri, b_window); * For more details please Appendix B. */ int run_url_browser(int nTabIndex) { browser_window * b_window = NULL; int bytesRead = 0; char uri [512]; // Launch a url rendering browser create_browser(URL_RENDERING_TAB, nTabIndex, G_CALLBACK(new_tab_created_cb), G_CALLBACK(uri_entered_cb), &b_window, comm[nTabIndex]); // Check for instructions sent from the router or gtk events child_req_to_parent req; while (1) { usleep(1000); if((bytesRead = read(comm[nTabIndex].parent_to_child_fd[0], &req, sizeof(child_req_to_parent))) == -1){ if(errno == EAGAIN) // if nothing to be read yet, process browser events and wait for another round process_single_gtk_event(); else perror("run_url_browser@134: Url browser reads from pipe"); } else{ // perform instructions switch(req.type){ case NEW_URI_ENTERED: // render the given uri strcpy(uri,req.req.uri_req.uri); render_web_page_in_tab(uri, b_window); break; case TAB_KILLED: // process gtk events and terminate this process with exit success process_single_gtk_event(); exit(EXIT_SUCCESS); default: // invalid request type fprintf(stderr, "run_url_browser@149: Invalid request for url rendering browser\n"); break; } } } return 0; }
/* * Name: run_control * Input arguments: void * Output arguments: void * Function: This function will make a CONTROLLER window and be blocked until the program terminate. */ int run_control(void) { browser_window * b_window = NULL; create_browser(CONTROLLER_TAB, 0, G_CALLBACK(new_tab_created_cb), G_CALLBACK(uri_entered_cb), &b_window, comm[0]); show_browser(); return 0; }
/* * Name: run_control * Input arguments: 'comm_channel': Includes pipes to communctaion with Router process * Output arguments: void * Function: This function will make a CONTROLLER window and be blocked until the program terminate. */ int run_control(comm_channel comm) { browser_window * b_window = NULL; //Create controler process create_browser(CONTROLLER_TAB, 0, G_CALLBACK(new_tab_created_cb), G_CALLBACK(uri_entered_cb), &b_window, comm); //go into infinite loop. show_browser(); return 0; }
int run_url_browser(int nTabIndex, comm_channel comm) { browser_window * b_window = NULL; // Create controler window create_browser(URL_RENDERING_TAB, nTabIndex, G_CALLBACK(new_tab_created_cb), G_CALLBACK(uri_entered_cb), &b_window, comm); child_req_to_parent request; char uri_req[512]; int r; while (1) // Need to communicate with Router process here. Will receieve requests for processing. { process_single_gtk_event(); usleep(1000); // Insert code here!! // 1. process_all_gtk_events(); // 2. process_single_gtk_event(); // 3. render_web_page_in_tab(uri, b_window); // Read the request from the comm_channel r = read(comm.parent_to_child_fd[0], &request, sizeof(child_req_to_parent)); /* * Handle each type of message (few mentioned below) */ if(r == -1) { //do nothing } else { if(request.type == NEW_URI_ENTERED) // NEW_URI_ENTERED: render_web_page_in_tab(uri, b_window); { strcpy(uri_req, request.req.uri_req.uri); render_web_page_in_tab(uri_req, b_window); } // TAB_KILLED: process all gtk events(); if(request.type == TAB_KILLED) { process_all_gtk_events(); break; } } } return 0; }
void *GtkMain(void * argument) { printf("%s:%d\n", __func__, __LINE__); int argc = 0; char**argv = NULL; unsigned char haveUrl = 0; int argCount = 0; gtk_init (&argc, &argv); if (!g_thread_supported ()) g_thread_init (NULL); GtkWidget* fixed = gtk_fixed_new(); //screen_changed(fixed, NULL, NULL); g_vbox = gtk_vbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (g_vbox), create_toolbar (), FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (g_vbox), GTK_WIDGET (create_browser ()), TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (g_vbox), create_statusbar (), FALSE, FALSE, 0); g_window = create_window (); gtk_fixed_put(GTK_FIXED(fixed), g_vbox, 0, 0); gtk_widget_set_size_request(g_vbox, g_framebuffer_width, g_framebuffer_height); GtkWidget* statusLabel = gtk_label_new ("Status"); gtk_fixed_put(GTK_FIXED(fixed), statusLabel, g_framebuffer_width - 200, 0); gtk_widget_set_size_request(statusLabel, 200, 100); gtk_container_add (GTK_CONTAINER (g_window), fixed); webkit_web_view_load_uri (g_web_view, g_url); gtk_widget_grab_focus (GTK_WIDGET (g_web_view)); gtk_widget_show_all (g_window); toogleMode(); g_default_scale = g_framebuffer_width / 1280.0f; handleZoomLock(0); g_Callback(1); gtk_main (); return NULL; }
dlder::dlder() { dlder_manganame = ""; dlder_mg_location = ""; dlder_external_dl_mgr = ""; dlder_start = ""; dlder_end = ""; dlder_referer = ""; dlder_img = "000"; dlder_nb_of_chapter = 0; dlder_current_chapter = 1; dlder_nb_of_pages = 0; dlder_current_page = 1; dlder_paused_flag = false; dlder_stop_flag = false; create_browser(); }
int main(int argc, char* argv[]) { printf("START PROCESS"); gtk_init(&argc, &argv); GtkWidget* box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); gtk_box_pack_start(GTK_BOX(box), create_browser(), TRUE, TRUE, 0); GtkWidget* _main_window; _main_window = create_window(); gtk_container_add(GTK_CONTAINER(_main_window),box); webkit_web_view_load_uri(web_view, "http://www.google.com/"); gtk_widget_grab_focus(GTK_WIDGET(web_view)); gtk_widget_show_all(_main_window); gtk_main(); return 0; }
///=================================================================================/// dlder::dlder( std::string manganame, std::string mg_location, std::string external_dl_mgr,std::string start, std::string end) { dlder_manganame = manganame; dlder_mg_location = mg_location; dlder_external_dl_mgr = external_dl_mgr; dlder_start = start; dlder_end = end; dlder_img = "000"; dlder_referer = ""; dlder_nb_of_chapter = 0; dlder_current_chapter = atoi(start.c_str()); dlder_nb_of_pages = 0; dlder_current_page = 1; dlder_paused_flag = false; dlder_stop_flag = false; create_browser(); }
int main (int argc, char* argv[]) { gtk_init (&argc, &argv); GtkWidget* vbox = gtk_vbox_new (FALSE, 0); gtk_box_pack_start(GTK_BOX (vbox), create_toolbar (), FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX (vbox), create_browser (), TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX (vbox), create_statusbar (), FALSE, FALSE, 0); main_window = create_window(); gtk_container_add(GTK_CONTAINER (main_window), vbox); gchar* uri = (gchar*) (argc > 1 ? argv[1] : "https://github.com/CoolerVoid/"); webkit_web_view_open(web_view, uri); gtk_widget_grab_focus(GTK_WIDGET(web_view)); gtk_widget_show_all(main_window); gtk_main(); return 0; }
/** * * init_web_browser * * Initialise the webkit browser * * @parent: Widget to house the browser */ WebBrowser *init_web_browser(GtkWidget *parent) { browser = g_new0(WebBrowser, 1); create_menubar(); create_toolbar(); create_browser(); create_statusbar(); GtkWidget* vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); gtk_box_pack_start(GTK_BOX (vbox), browser->menubar, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX (vbox), browser->toolbar, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX (vbox), browser->browser_window, TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX (vbox), GTK_WIDGET(browser->statusbar), FALSE, FALSE, 0); if (GTK_IS_SCROLLED_WINDOW(parent)) gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(parent), vbox); else gtk_container_add(GTK_CONTAINER (parent), vbox); return browser; }
int main (int argc, char* argv[]) { gtk_init (&argc, &argv); if (!g_thread_supported ()) g_thread_init (NULL); GtkWidget* vbox = gtk_vbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), create_toolbar (), FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), create_browser (), TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (vbox), create_statusbar (), FALSE, FALSE, 0); main_window = create_window (); gtk_container_add (GTK_CONTAINER (main_window), vbox); gchar* uri = (gchar*) (argc > 1 ? argv[1] : "http://www.google.com/"); webkit_web_view_load_uri (web_view, uri); gtk_widget_grab_focus (GTK_WIDGET (web_view)); gtk_widget_show_all (main_window); gtk_main (); return 0; }
int main (int argc, char* argv[]) { gtk_init (&argc, &argv); if (!g_thread_supported ()) g_thread_init (NULL); printf("Uzbl start location: %s\n", argv[0]); strcpy(executable_path,argv[0]); strcat ((char *) XDG_CONFIG_HOME_default, getenv ("HOME")); strcat ((char *) XDG_CONFIG_HOME_default, "/.config"); GError *error = NULL; GOptionContext* context = g_option_context_new ("- some stuff here maybe someday"); g_option_context_add_main_entries (context, entries, NULL); g_option_context_add_group (context, gtk_get_option_group (TRUE)); g_option_context_parse (context, &argc, &argv, &error); /* initialize hash table */ bindings = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, free_action); soup_session = webkit_get_default_session(); keycmd = g_string_new(""); settings_init (); commands_hash (); if (always_insert_mode) insert_mode = TRUE; GtkWidget* vbox = gtk_vbox_new (FALSE, 0); if (status_top) gtk_box_pack_start (GTK_BOX (vbox), create_mainbar (), FALSE, TRUE, 0); gtk_box_pack_start (GTK_BOX (vbox), create_browser (), TRUE, TRUE, 0); if (!status_top) gtk_box_pack_start (GTK_BOX (vbox), create_mainbar (), FALSE, TRUE, 0); main_window = create_window (); gtk_container_add (GTK_CONTAINER (main_window), vbox); load_uri (web_view, uri); gtk_widget_grab_focus (GTK_WIDGET (web_view)); gtk_widget_show_all (main_window); xwin = GDK_WINDOW_XID (GTK_WIDGET (main_window)->window); printf("window_id %i\n",(int) xwin); printf("pid %i\n", getpid ()); printf("name: %s\n", instance_name); scbar_v = (GtkScrollbar*) gtk_vscrollbar_new (NULL); bar_v = gtk_range_get_adjustment((GtkRange*) scbar_v); scbar_h = (GtkScrollbar*) gtk_hscrollbar_new (NULL); bar_h = gtk_range_get_adjustment((GtkRange*) scbar_h); gtk_widget_set_scroll_adjustments ((GtkWidget*) web_view, bar_h, bar_v); if (!show_status) gtk_widget_hide(mainbar); if (fifo_dir) create_fifo (); if (socket_dir) create_socket(); gtk_main (); g_string_free(keycmd, TRUE); if (fifo_dir) unlink (fifo_path); if (socket_dir) unlink (socket_path); g_hash_table_destroy(bindings); g_hash_table_destroy(commands); return 0; }