int clip_GTK_TREEITEMREMOVESUBTREE(ClipMachine * cm) { C_widget *citm = _fetch_cw_arg(cm); CHECKCWID(citm,GTK_IS_TREE_ITEM); gtk_tree_item_remove_subtree(GTK_TREE_ITEM(citm->widget)); return 0; err: return 1; }
void capture_start(GtkWidget *widget,gpointer data) { GtkWidget *isenable; uint8_t i = 0; guint text_len = 0; pthread_mutex_lock(&capture_state_mtx); if (capture_state == 0) capture_state = 1; pthread_mutex_unlock(&capture_state_mtx); init_file(); capture_packet(); pthread_mutex_lock(&packet_stat_mtx); tot_packet = 0; ip_packet = 0; tcp_packet = 0; udp_packet = 0; arp_packet = 0; icmp_packet = 0; igmp_packet = 0; capture_pre_packet = 0; pthread_mutex_unlock(&packet_stat_mtx); isenable = capture_menu[0].widget; gtk_widget_set_sensitive(isenable,FALSE); isenable = capture_menu[1].widget; gtk_widget_set_sensitive(isenable,TRUE); gtk_clist_clear((GtkCList *)clist); for (i = 0;i < 5;i++) { if (item[i]) { gtk_tree_item_remove_subtree((GtkTreeItem *)item[i]); gtk_container_remove (GTK_CONTAINER(tree), item[i]); item[i] = NULL; } } gtk_text_freeze(GTK_TEXT(hex_text)); text_len = gtk_text_get_length(GTK_TEXT(hex_text)); gtk_text_backward_delete(GTK_TEXT(hex_text),text_len); gtk_text_thaw(GTK_TEXT(hex_text)); gtk_text_freeze(GTK_TEXT(hex_text)); text_len = gtk_text_get_length(GTK_TEXT(hex_text)); gtk_text_backward_delete(GTK_TEXT(hex_text),text_len); gtk_text_thaw(GTK_TEXT(hex_text)); }
void selection_made( GtkWidget *clist, gint row, gint column, GdkEventButton *event, gpointer data ) { gchar *text; gint i = 0; /* 取得存储在被选中的行和列的单元格上的文本 * 当鼠标点击时,我们用text参数接收一个指针 */ gtk_clist_get_text(GTK_CLIST(clist), row, column, &text); #if 0 /*打印一些关于选中了哪一行的信息 */ g_print("You selected row %d. More specifically you clicked in " "column %d, and the text in this cell is %s\n\n", row, column, text); #endif //tree = gtk_tree_new(); for (i = 0;i < 5;i++) { if (item[i]) { gtk_tree_item_remove_subtree((GtkTreeItem *)item[i]); gtk_container_remove (GTK_CONTAINER(tree), item[i]); item[i] = NULL; } } #if 0 tree = gtk_tree_new(); gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW(scrolled_win),tree); gtk_tree_set_selection_mode (GTK_TREE(tree),GTK_SELECTION_MULTIPLE); #endif read_record(row); pcap_parser((uint8_t *)pcap_packet_buf,&pcaphdr); append_frame_tree(); append_ether_tree(); switch (proto_type) { case IPPROTO_TCP: { append_ip_tree(); append_tcp_tree(); if (app_len != 0) { append_data_tree(); app_len = 0; } } break; case IPPROTO_UDP: { append_ip_tree(); append_udp_tree(); if (app_len != 0) { append_data_tree(); app_len = 0; } } break; case ARP: { append_arp_tree(); } break; default: break; } display_contents(); return; }