⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gui_common.c

📁 网络爬虫程序
💻 C
📖 第 1 页 / 共 5 页
字号:
    GTK_SIGNAL_FUNC(guitl_ListDeleteSelected), (gpointer) urldlg.field_list);  prow = gtk_table_new(2, 3, FALSE);  gtk_box_pack_start(GTK_BOX(ptab), prow, FALSE, FALSE, 1);  gtk_widget_show(prow);  label = gtk_label_new(gettext("Type: "));  gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5);  gtk_table_attach(GTK_TABLE(prow), label, 0, 1, 0, 1, GTK_SHRINK | GTK_FILL,    GTK_FILL, 2, 2);  gtk_widget_show(label);  urldlg.field_type = gtk_option_menu_new();  gtk_table_attach(GTK_TABLE(prow), urldlg.field_type, 1, 2, 0, 1,    GTK_SHRINK | GTK_FILL, GTK_FILL, 2, 2);  menu = gtk_menu_new();  mi = gtk_menu_item_new_with_label("TEXT");  gtk_object_set_user_data(GTK_OBJECT(mi), (gpointer) FORM_T_TEXT);  gtk_menu_append(GTK_MENU(menu), mi);  gtk_widget_show(mi);  gtk_signal_connect(GTK_OBJECT(mi), "activate",    GTK_SIGNAL_FUNC(cfg_url_dlg_set_type), (gpointer) & urldlg);  mi = gtk_menu_item_new_with_label("FILE");  gtk_object_set_user_data(GTK_OBJECT(mi), (gpointer) FORM_T_FILE);  gtk_menu_append(GTK_MENU(menu), mi);  gtk_widget_show(mi);  gtk_signal_connect(GTK_OBJECT(mi), "activate",    GTK_SIGNAL_FUNC(cfg_url_dlg_set_type), (gpointer) & urldlg);  mi = gtk_menu_item_new_with_label("LONG TEXT");  gtk_object_set_user_data(GTK_OBJECT(mi), (gpointer) FORM_T_TEXTAREA);  gtk_menu_append(GTK_MENU(menu), mi);  gtk_widget_show(mi);  gtk_signal_connect(GTK_OBJECT(mi), "activate",    GTK_SIGNAL_FUNC(cfg_url_dlg_set_type), (gpointer) & urldlg);  gtk_option_menu_set_menu(GTK_OPTION_MENU(urldlg.field_type), menu);  gtk_widget_show(urldlg.field_type);  urldlg.field_name =    guitl_tab_add_entry(prow, gettext("Name: "), 0, 1, FALSE);  label = gtk_label_new(gettext("Value: "));  gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.0);  gtk_table_attach(GTK_TABLE(prow), label, 0, 1, 2, 3, GTK_SHRINK | GTK_FILL,    GTK_FILL, 2, 2);  gtk_widget_show(label);  urldlg.tab = gtk_notebook_new();  gtk_notebook_set_show_border(GTK_NOTEBOOK(urldlg.tab), FALSE);  gtk_notebook_set_show_tabs(GTK_NOTEBOOK(urldlg.tab), FALSE);  gtk_table_attach(GTK_TABLE(prow), urldlg.tab, 1, 2, 2, 3,    GTK_SHRINK | GTK_FILL, GTK_FILL, 2, 2);  gtk_widget_show(urldlg.tab);  label = gtk_label_new("TEXT");  brow = gtk_vbox_new(FALSE, 1);  gtk_widget_show(brow);  gtk_notebook_append_page(GTK_NOTEBOOK(urldlg.tab), brow, label);  urldlg.field_value_l = gtk_entry_new();  gtk_box_pack_start(GTK_BOX(brow), urldlg.field_value_l, FALSE, FALSE, 1);  gtk_widget_show(urldlg.field_value_l);  label = gtk_label_new("FILE");  brow = gtk_vbox_new(FALSE, 1);  gtk_widget_show(brow);  gtk_notebook_append_page(GTK_NOTEBOOK(urldlg.tab), brow, label);  pbox = gtk_table_new(1, 2, FALSE);  gtk_box_pack_start(GTK_BOX(brow), pbox, FALSE, FALSE, 1);  gtk_widget_show(pbox);  urldlg.field_value_f = guitl_tab_add_path_entry_full(pbox, NULL, 0, 0,    FALSE, gettext("Pavuk: Choose form field file"));  label = gtk_label_new("LONG TEXT");  brow = gtk_table_new(2, 2, FALSE);  gtk_widget_show(brow);  gtk_notebook_append_page(GTK_NOTEBOOK(urldlg.tab), brow, label);  hadj = GTK_ADJUSTMENT(gtk_adjustment_new(0.0, 0.0, 0.0, 0.0, 0.0, 0.0));  hsb = gtk_hscrollbar_new(hadj);  gtk_table_attach(GTK_TABLE(brow), hsb, 0, 1, 1, 2,    GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0);  gtk_widget_show(hsb);  vadj = GTK_ADJUSTMENT(gtk_adjustment_new(0.0, 0.0, 0.0, 0.0, 0.0, 0.0));  vsb = gtk_vscrollbar_new(vadj);  gtk_table_attach(GTK_TABLE(brow), vsb, 1, 2, 0, 1,    GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);  gtk_widget_show(vsb);#if GTK_FACE < 2  urldlg.field_value_t = gtk_text_new(hadj, vadj);#else  urldlg.field_value_t = gtk_text_view_new();#endif  gtk_widget_set_usize(urldlg.field_value_t, -1, 100);#if GTK_FACE < 2  gtk_text_set_editable(GTK_TEXT(urldlg.field_value_t), TRUE);#else  gtk_text_view_set_editable(GTK_TEXT_VIEW(urldlg.field_value_t), TRUE);#endif  gtk_table_attach(GTK_TABLE(brow), urldlg.field_value_t, 0, 1, 0, 1,    GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);  gtk_widget_show(urldlg.field_value_t);  gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(urldlg.ext_sw), FALSE);  gtk_widget_set_sensitive(urldlg.ext_frame, FALSE);}/* FORM DATA */static void cfgtab_formdata(GtkWidget * notebook){  GtkWidget *label, *box, *tbox, *ptab, *prow, *menu, *mi;  GtkWidget *swin, *brow, *button, *pbox;  GtkWidget *hsb, *vsb;  GtkAdjustment *hadj, *vadj;  static struct cfg_url_dlg_t urldlg;  urldlg.ext_sw = NULL;  urldlg.encoding = NULL;  urldlg.method = NULL;  urldlg.localname_entry = NULL;  tbox = gtk_hbox_new(FALSE, 2);  gtk_widget_show(tbox);  label = gtk_label_new(gettext("Form data"));  gtk_notebook_append_page(GTK_NOTEBOOK(notebook), tbox, label);  box = gtk_table_new(3, 1, FALSE);  gtk_box_pack_start(GTK_BOX(tbox), box, TRUE, TRUE, 1);  gtk_widget_show(box);  swin = gtk_scrolled_window_new(NULL, NULL);  gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(swin),    GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);  gtk_table_attach_defaults(GTK_TABLE(box), swin, 0, 1, 0, 1);  gtk_widget_show(swin);  gui_cfg.formdata_list = gtk_clist_new(1);  urldlg.url_list = gui_cfg.formdata_list;  gtk_clist_set_selection_mode(GTK_CLIST(gui_cfg.formdata_list),    GTK_SELECTION_BROWSE);  gtk_clist_set_reorderable(GTK_CLIST(gui_cfg.formdata_list), TRUE);  gtk_clist_set_column_auto_resize(GTK_CLIST(gui_cfg.formdata_list), 0, TRUE);  gtk_container_add(GTK_CONTAINER(swin), gui_cfg.formdata_list);  gtk_widget_show(gui_cfg.formdata_list);  brow = gtk_table_new(1, 2, FALSE);  gtk_table_attach(GTK_TABLE(box), brow, 0, 1, 1, 2,    GTK_EXPAND | GTK_FILL, GTK_FILL, 2, 5);  gtk_widget_show(brow);  gui_cfg.formdata_entry =    guitl_tab_add_entry(brow, gettext("Matching action URL: "), 0, 0, FALSE);  urldlg.url_entry = gui_cfg.formdata_entry;  gtk_signal_connect(GTK_OBJECT(gui_cfg.formdata_list), "select_row",    GTK_SIGNAL_FUNC(cfg_url_dlg_switch), (gpointer) & urldlg);  brow = gtk_hbutton_box_new();  gtk_table_attach(GTK_TABLE(box), brow, 0, 1, 2, 3,    GTK_EXPAND | GTK_FILL, GTK_FILL, 2, 5);  gtk_hbutton_box_set_spacing_default(1);  gtk_widget_show(brow);  gtk_button_box_set_layout(GTK_BUTTON_BOX(brow), GTK_BUTTONBOX_SPREAD);  button = guitl_pixmap_button(append_xpm, NULL, gettext("Append"));  gtk_container_border_width(GTK_CONTAINER(button), 0);  gtk_container_add(GTK_CONTAINER(brow), button);  gtk_widget_show(button);  gtk_signal_connect(GTK_OBJECT(button), "clicked",    GTK_SIGNAL_FUNC(cfg_url_dlg_append), (gpointer) & urldlg);  gtk_signal_connect(GTK_OBJECT(gui_cfg.formdata_entry), "activate",    GTK_SIGNAL_FUNC(cfg_url_dlg_append), (gpointer) & urldlg);  button = guitl_pixmap_button(modify_xpm, NULL, gettext("Modify"));  gtk_container_border_width(GTK_CONTAINER(button), 0);  gtk_container_add(GTK_CONTAINER(brow), button);  gtk_widget_show(button);  gtk_signal_connect(GTK_OBJECT(button), "clicked",    GTK_SIGNAL_FUNC(cfg_url_dlg_modify), (gpointer) & urldlg);  button = guitl_pixmap_button(clear_xpm, NULL, gettext("Clear"));  gtk_container_border_width(GTK_CONTAINER(button), 0);  gtk_container_add(GTK_CONTAINER(brow), button);  gtk_widget_show(button);  gtk_signal_connect(GTK_OBJECT(button), "clicked",    GTK_SIGNAL_FUNC(guitl_ListClear), (gpointer) gui_cfg.formdata_list);  button = guitl_pixmap_button(delete_xpm, NULL, gettext("Delete"));  gtk_container_border_width(GTK_CONTAINER(button), 0);  gtk_container_add(GTK_CONTAINER(brow), button);  gtk_widget_show(button);  gtk_signal_connect(GTK_OBJECT(button), "clicked",    GTK_SIGNAL_FUNC(guitl_ListDeleteSelected),    (gpointer) gui_cfg.formdata_list);  /*** DRAG'N'DROP ***/  gtk_drag_dest_set(box, GTK_DEST_DEFAULT_ALL,    dragtypes, NUM_ELEM(dragtypes) - 1, GDK_ACTION_COPY | GDK_ACTION_MOVE);  gtk_signal_connect(GTK_OBJECT(box),    "drag_data_received", GTK_SIGNAL_FUNC(gui_window_drop_url), NULL);  box = gtk_vbox_new(FALSE, 2);  gtk_box_pack_start(GTK_BOX(tbox), box, TRUE, TRUE, 1);  gtk_widget_show(box);  urldlg.ext_frame = gtk_frame_new(NULL);  gtk_box_pack_start(GTK_BOX(box), urldlg.ext_frame, FALSE, FALSE, 1);  gtk_widget_show(urldlg.ext_frame);  ptab = gtk_vbox_new(FALSE, 5);  gtk_container_add(GTK_CONTAINER(urldlg.ext_frame), ptab);  gtk_widget_show(ptab);  label = gtk_label_new(gettext("Query fields: "));  gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5);  gtk_box_pack_start(GTK_BOX(ptab), label, FALSE, FALSE, 2);  gtk_widget_show(label);  swin = gtk_scrolled_window_new(NULL, NULL);  gtk_widget_set_usize(swin, -1, 100);  gtk_box_pack_start(GTK_BOX(ptab), swin, TRUE, TRUE, 2);  gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(swin),    GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);  gtk_widget_show(swin);  urldlg.field_list = gtk_clist_new(3);  gtk_clist_set_selection_mode(GTK_CLIST(urldlg.field_list),    GTK_SELECTION_BROWSE);  gtk_clist_set_column_title(GTK_CLIST(urldlg.field_list), 0,    gettext("Type"));  gtk_clist_set_column_title(GTK_CLIST(urldlg.field_list), 1,    gettext("Name"));  gtk_clist_set_column_title(GTK_CLIST(urldlg.field_list), 2,    gettext("Value"));  gtk_clist_column_titles_show(GTK_CLIST(urldlg.field_list));  gtk_clist_set_column_auto_resize(GTK_CLIST(urldlg.field_list), 0, TRUE);  gtk_clist_set_column_auto_resize(GTK_CLIST(urldlg.field_list), 1, TRUE);  gtk_clist_set_column_auto_resize(GTK_CLIST(urldlg.field_list), 2, TRUE);  gtk_container_add(GTK_CONTAINER(swin), urldlg.field_list);  gtk_widget_show(urldlg.field_list);  gtk_signal_connect(GTK_OBJECT(urldlg.field_list), "select_row",    GTK_SIGNAL_FUNC(cfg_url_dlg_field_switch), (gpointer) & urldlg);  prow = gtk_hbutton_box_new();  gtk_box_pack_start(GTK_BOX(ptab), prow, FALSE, FALSE, 1);  gtk_widget_show(prow);  button = guitl_pixmap_button(append_xpm, NULL, gettext("Append"));  gtk_container_add(GTK_CONTAINER(prow), button);  gtk_widget_show(button);  gtk_signal_connect(GTK_OBJECT(button), "clicked",    GTK_SIGNAL_FUNC(cfg_url_dlg_field_append), &urldlg);  button = guitl_pixmap_button(modify_xpm, NULL, gettext("Modify"));  gtk_container_add(GTK_CONTAINER(prow), button);  gtk_widget_show(button);  gtk_signal_connect(GTK_OBJECT(button), "clicked",    GTK_SIGNAL_FUNC(cfg_url_dlg_field_modify), &urldlg);  button = guitl_pixmap_button(delete_xpm, NULL, gettext("Delete"));  gtk_container_add(GTK_CONTAINER(prow), button);  gtk_widget_show(button);  gtk_signal_connect(GTK_OBJECT(button), "clicked",    GTK_SIGNAL_FUNC(guitl_ListDeleteSelected), (gpointer) urldlg.field_list);  prow = gtk_table_new(2, 3, FALSE);  gtk_box_pack_start(GTK_BOX(ptab), prow, FALSE, FALSE, 1);  gtk_widget_show(prow);  label = gtk_label_new(gettext("Type: "));  gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5);  gtk_table_attach(GTK_TABLE(prow), label, 0, 1, 0, 1, GTK_SHRINK | GTK_FILL,    GTK_FILL, 2, 2);  gtk_widget_show(label);  urldlg.field_type = gtk_option_menu_new();  gtk_table_attach(GTK_TABLE(prow), urldlg.field_type, 1, 2, 0, 1,    GTK_SHRINK | GTK_FILL, GTK_FILL, 2, 2);  menu = gtk_menu_new();  mi = gtk_menu_item_new_with_label("TEXT");  gtk_object_set_user_data(GTK_OBJECT(mi), (gpointer) FORM_T_TEXT);  gtk_menu_append(GTK_MENU(menu), mi);  gtk_widget_show(mi);  gtk_signal_connect(GTK_OBJECT(mi), "activate",    GTK_SIGNAL_FUNC(cfg_url_dlg_set_type), (gpointer) & urldlg);  mi = gtk_menu_item_new_with_label("FILE");  gtk_object_set_user_data(GTK_OBJECT(mi), (gpointer) FORM_T_FILE);  gtk_menu_append(GTK_MENU(menu), mi);  gtk_widget_show(mi);  gtk_signal_connect(GTK_OBJECT(mi), "activate",    GTK_SIGNAL_FUNC(cfg_url_dlg_set_type), (gpointer) & urldlg);  mi = gtk_menu_item_new_with_label("LONG TEXT");  gtk_object_set_user_data(GTK_OBJECT(mi), (gpointer) FORM_T_TEXTAREA);  gtk_menu_append(GTK_MENU(menu), mi);  gtk_widget_show(mi);  gtk_signal_connect(GTK_OBJECT(mi), "activate",    GTK_SIGNAL_FUNC(cfg_url_dlg_set_type), (gpointer) & urldlg);  gtk_option_menu_set_menu(GTK_OPTION_MENU(urldlg.field_type), menu);  gtk_widget_show(urldlg.field_type);  urldlg.field_name =    guitl_tab_add_entry(prow, gettext("Name: "), 0, 1, FALSE);  label = gtk_label_new(gettext("Value: "));  gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.0);  gtk_table_attach(GTK_TABLE(prow), label, 0, 1, 2, 3, GTK_SHRINK | GTK_FILL,    GTK_FILL, 2, 2);  gtk_widget_show(label);  urldlg.tab = gtk_notebook_new();  gtk_notebook_set_show_border(GTK_NOTEBOOK(urldlg.tab), FALSE);  gtk_notebook_set_show_tabs(GTK_NOTEBOOK(urldlg.tab), FALSE);  gtk_table_attach(GTK_TABLE(prow), urldlg.tab, 1, 2, 2, 3,    GTK_SHRINK | GTK_FILL, GTK_FILL, 2, 2);  gtk_widget_show(urldlg.tab);  label = gtk_label_new("TEXT");  brow = gtk_vbox_new(FALSE, 1);  gtk_widget_show(brow);  gtk_notebook_append_page(GTK_NOTEBOOK(urldlg.tab), brow, label);  urldlg.field_value_l = gtk_entry_new();  gtk_box_pack_start(GTK_BOX(brow), urldlg.field_value_l, FALSE, FALSE, 1);  gtk_widget_show(urldlg.field_value_l);  label = gtk_label_new("FILE");  brow = gtk_vbox_new(FALSE, 1);  gtk_widget_show(brow);  gtk_notebook_append_page(GTK_NOTEBOOK(urldlg.tab), brow, label);  pbox = gtk_table_new(1, 2, FALSE);  gtk_box_pack_start(GTK_BOX(brow), pbox, FALSE, FALSE, 1);  gtk_widget_show(pbox);  urldlg.field_value_f = guitl_tab_add_path_entry_full(pbox, NULL, 0, 0,    FALSE, gettext("Pavuk: Choose form field file"));  label = gtk_label_new("LONG TEXT");  brow = gtk_table_new(2, 2, FALSE);  gtk_widget_show(brow);  gtk_notebook_append_page(GTK_NOTEBOOK(urldlg.tab), brow, label);  hadj = GTK_ADJUSTMENT(gtk_adjustment_new(0.0, 0.0, 0.0, 0.0, 0.0, 0.0));  hsb = gtk_hscrollbar_new(hadj);  gtk_table_attach(GTK_TABLE(brow), hsb, 0, 1, 1, 2,    GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0);  gtk_widget_show(hsb);  vadj = GTK_ADJUSTMENT(gtk_adjustment_new(0.0, 0.0, 0.0, 0.0, 0.0, 0.0));  vsb = gtk_vscrollbar_new(vadj);  gtk_table_attach(GTK_TABLE(brow), vsb, 1, 2, 0, 1,    GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);  gtk_widget_show(vsb);#if GTK_FACE < 2  urldlg.field_value_t = gtk_text_new(hadj, vadj);#else  urldlg.field_value_t = gtk_text_view_new();#endif  gtk_widget_set_usize(urldlg.field_value_t, -1, 100);#if GTK_FACE < 2  gtk_text_set_editable(GTK_TEXT(urldlg.field_value_t), TRUE);#else  gtk_text_view_set_editable(GTK_TEXT_VIEW(urldlg.field_value_t), TRUE);#endif  gtk_table_attach(GTK_TABLE(brow), urldlg.field_value_t, 0, 1, 0, 1,    GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);  gtk_widget_show(urldlg.field_value_t);}/*** GRABER I ***/static void cfgtab_graberI(GtkWidget * notebook){  GtkWidget *tbox, *label, *box, *frame, *ptab;  const char *sample_index_names[] = {    "",    "_._.html",    "index.html",    "index.htm",    "default.htm",    NULL  };  const char *sample_browsers[] = {    "",    "gnome-moz-remote",    "netscape",

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -