Пример #1
0
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;
}
Пример #2
0
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));
}
Пример #3
0
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;
}