Oops. My last commit was made form the wrong tree and code that
was under development was accidentally checked in. This reverses the changes. svn path=/trunk/; revision=1342
This commit is contained in:
parent
b906ce0a17
commit
e996e3d661
25
file.c
25
file.c
@ -1,7 +1,7 @@
|
|||||||
/* file.c
|
/* file.c
|
||||||
* File I/O routines
|
* File I/O routines
|
||||||
*
|
*
|
||||||
* $Id: file.c,v 1.138 1999/12/15 06:51:47 gram Exp $
|
* $Id: file.c,v 1.139 1999/12/15 07:01:33 gram Exp $
|
||||||
*
|
*
|
||||||
* Ethereal - Network traffic analyzer
|
* Ethereal - Network traffic analyzer
|
||||||
* By Gerald Combs <gerald@zing.org>
|
* By Gerald Combs <gerald@zing.org>
|
||||||
@ -1326,6 +1326,9 @@ change_time_formats(capture_file *cf)
|
|||||||
static void
|
static void
|
||||||
clear_tree_and_hex_views(void)
|
clear_tree_and_hex_views(void)
|
||||||
{
|
{
|
||||||
|
GList *selection;
|
||||||
|
GtkWidget *tmp_item;
|
||||||
|
|
||||||
/* Clear the hex dump. */
|
/* Clear the hex dump. */
|
||||||
gtk_text_freeze(GTK_TEXT(byte_view));
|
gtk_text_freeze(GTK_TEXT(byte_view));
|
||||||
gtk_text_set_point(GTK_TEXT(byte_view), 0);
|
gtk_text_set_point(GTK_TEXT(byte_view), 0);
|
||||||
@ -1333,7 +1336,25 @@ clear_tree_and_hex_views(void)
|
|||||||
gtk_text_get_length(GTK_TEXT(byte_view)));
|
gtk_text_get_length(GTK_TEXT(byte_view)));
|
||||||
gtk_text_thaw(GTK_TEXT(byte_view));
|
gtk_text_thaw(GTK_TEXT(byte_view));
|
||||||
|
|
||||||
gtk_clist_clear ( GTK_CLIST(tree_view) );
|
/* Deselect any selected tree item. gtktree.c should
|
||||||
|
* do this when we clear_items, but it doesn't. I copied
|
||||||
|
* this while() loop from gtktree.c, gtk_real_tree_select_child()
|
||||||
|
*/
|
||||||
|
if (GTK_TREE(tree_view)->root_tree) {
|
||||||
|
selection = GTK_TREE(tree_view)->root_tree->selection;
|
||||||
|
while (selection) {
|
||||||
|
tmp_item = selection->data;
|
||||||
|
gtk_tree_item_deselect(GTK_TREE_ITEM(tmp_item));
|
||||||
|
gtk_widget_unref(tmp_item);
|
||||||
|
selection = selection->next;
|
||||||
|
}
|
||||||
|
g_list_free(GTK_TREE(tree_view)->root_tree->selection);
|
||||||
|
GTK_TREE(tree_view)->root_tree->selection = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Clear the protocol tree view. The length arg of -1
|
||||||
|
* means to clear all items up to the end. */
|
||||||
|
gtk_tree_clear_items(GTK_TREE(tree_view), 0, -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
|
18
gtk/main.c
18
gtk/main.c
@ -1,6 +1,6 @@
|
|||||||
/* main.c
|
/* main.c
|
||||||
*
|
*
|
||||||
* $Id: main.c,v 1.73 1999/12/15 06:52:23 gram Exp $
|
* $Id: main.c,v 1.74 1999/12/15 07:03:06 gram Exp $
|
||||||
*
|
*
|
||||||
* Ethereal - Network traffic analyzer
|
* Ethereal - Network traffic analyzer
|
||||||
* By Gerald Combs <gerald@zing.org>
|
* By Gerald Combs <gerald@zing.org>
|
||||||
@ -764,13 +764,13 @@ packet_list_unselect_cb(GtkWidget *w, gint row, gint col, gpointer evt) {
|
|||||||
|
|
||||||
void
|
void
|
||||||
tree_view_cb(GtkWidget *w, gpointer data) {
|
tree_view_cb(GtkWidget *w, gpointer data) {
|
||||||
#if 0
|
|
||||||
field_info *finfo;
|
field_info *finfo;
|
||||||
int tree_selected_start = -1;
|
int tree_selected_start = -1;
|
||||||
int tree_selected_len = -1;
|
int tree_selected_len = -1;
|
||||||
|
|
||||||
if (GTK_TREE(w)->selection) {
|
if (GTK_TREE(w)->selection) {
|
||||||
finfo = gtk_ctree_node
|
finfo =
|
||||||
gtk_object_get_data(GTK_OBJECT(GTK_TREE(w)->selection->data),
|
gtk_object_get_data(GTK_OBJECT(GTK_TREE(w)->selection->data),
|
||||||
E_TREEINFO_FIELD_INFO_KEY);
|
E_TREEINFO_FIELD_INFO_KEY);
|
||||||
g_assert(finfo);
|
g_assert(finfo);
|
||||||
@ -782,7 +782,6 @@ tree_view_cb(GtkWidget *w, gpointer data) {
|
|||||||
packet_hex_print(GTK_TEXT(byte_view), cf.pd, cf.current_frame->cap_len,
|
packet_hex_print(GTK_TEXT(byte_view), cf.pd, cf.current_frame->cap_len,
|
||||||
tree_selected_start, tree_selected_len,
|
tree_selected_start, tree_selected_len,
|
||||||
cf.current_frame->encoding);
|
cf.current_frame->encoding);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void collapse_all_cb(GtkWidget *widget, gpointer data) {
|
void collapse_all_cb(GtkWidget *widget, gpointer data) {
|
||||||
@ -1263,11 +1262,14 @@ main(int argc, char *argv[])
|
|||||||
gtk_widget_set_usize(tv_scrollw, -1, tv_size);
|
gtk_widget_set_usize(tv_scrollw, -1, tv_size);
|
||||||
gtk_widget_show(tv_scrollw);
|
gtk_widget_show(tv_scrollw);
|
||||||
|
|
||||||
tree_view = gtk_ctree_new(1, 0);
|
tree_view = gtk_tree_new();
|
||||||
gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(tv_scrollw), tree_view);
|
gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(tv_scrollw), tree_view);
|
||||||
gtk_ctree_set_line_style(GTK_CTREE(tree_view), GTK_CTREE_LINES_NONE);
|
gtk_tree_set_selection_mode(GTK_TREE(tree_view), GTK_SELECTION_SINGLE);
|
||||||
gtk_ctree_set_expander_style(GTK_CTREE(tree_view), GTK_CTREE_EXPANDER_SQUARE);
|
|
||||||
gtk_signal_connect(GTK_OBJECT(tree_view), "tree-select-row",
|
gtk_tree_set_view_lines(GTK_TREE(tree_view), FALSE);
|
||||||
|
gtk_tree_set_view_mode(GTK_TREE(tree_view), GTK_TREE_VIEW_ITEM);
|
||||||
|
|
||||||
|
gtk_signal_connect(GTK_OBJECT(tree_view), "selection_changed",
|
||||||
GTK_SIGNAL_FUNC(tree_view_cb), NULL);
|
GTK_SIGNAL_FUNC(tree_view_cb), NULL);
|
||||||
gtk_widget_show(tree_view);
|
gtk_widget_show(tree_view);
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* gtkpacket.c
|
/* gtkpacket.c
|
||||||
* Routines for GTK+ packet display
|
* Routines for GTK+ packet display
|
||||||
*
|
*
|
||||||
* $Id: proto_draw.c,v 1.10 1999/12/15 06:52:32 gram Exp $
|
* $Id: proto_draw.c,v 1.11 1999/12/15 07:03:11 gram Exp $
|
||||||
*
|
*
|
||||||
* Ethereal - Network traffic analyzer
|
* Ethereal - Network traffic analyzer
|
||||||
* By Gerald Combs <gerald@zing.org>
|
* By Gerald Combs <gerald@zing.org>
|
||||||
@ -161,9 +161,8 @@ void expand_all_tree(proto_tree *protocol_tree, GtkWidget *tree_view) {
|
|||||||
for(i=0; i < num_tree_types; i++) {
|
for(i=0; i < num_tree_types; i++) {
|
||||||
tree_is_expanded[i] = TRUE;
|
tree_is_expanded[i] = TRUE;
|
||||||
}
|
}
|
||||||
/* gtk_tree_clear_items(GTK_TREE(tree_view), 0, -1);
|
gtk_tree_clear_items(GTK_TREE(tree_view), 0, -1);
|
||||||
proto_tree_draw(protocol_tree, tree_view);
|
proto_tree_draw(protocol_tree, tree_view);
|
||||||
gtk_ctree_expand_recursive(GTK_CTREE(tree_view), */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void collapse_all_tree(proto_tree *protocol_tree, GtkWidget *tree_view) {
|
void collapse_all_tree(proto_tree *protocol_tree, GtkWidget *tree_view) {
|
||||||
@ -171,8 +170,8 @@ void collapse_all_tree(proto_tree *protocol_tree, GtkWidget *tree_view) {
|
|||||||
for(i=0; i < num_tree_types; i++) {
|
for(i=0; i < num_tree_types; i++) {
|
||||||
tree_is_expanded[i] = FALSE;
|
tree_is_expanded[i] = FALSE;
|
||||||
}
|
}
|
||||||
/* gtk_tree_clear_items(GTK_TREE(tree_view), 0, -1);
|
gtk_tree_clear_items(GTK_TREE(tree_view), 0, -1);
|
||||||
proto_tree_draw(protocol_tree, tree_view);*/
|
proto_tree_draw(protocol_tree, tree_view);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -187,44 +186,27 @@ collapse_tree(GtkWidget *w, gpointer data) {
|
|||||||
*val = FALSE;
|
*val = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*static void
|
static void
|
||||||
set_item_style(GtkWidget *widget, gpointer dummy)
|
set_item_style(GtkWidget *widget, gpointer dummy)
|
||||||
{
|
{
|
||||||
gtk_widget_set_style(widget, item_style);
|
gtk_widget_set_style(widget, item_style);
|
||||||
}*/
|
}
|
||||||
|
|
||||||
struct proto_tree_draw_info {
|
|
||||||
GtkCTree *ctree;
|
|
||||||
GtkCTreeNode *ctree_node;
|
|
||||||
};
|
|
||||||
|
|
||||||
void
|
void
|
||||||
proto_tree_draw(proto_tree *protocol_tree, GtkWidget *tree_view)
|
proto_tree_draw(proto_tree *protocol_tree, GtkWidget *tree_view)
|
||||||
{
|
{
|
||||||
struct proto_tree_draw_info info;
|
|
||||||
|
|
||||||
info.ctree = GTK_CTREE(tree_view);
|
|
||||||
info.ctree_node = NULL;
|
|
||||||
|
|
||||||
gtk_clist_freeze ( GTK_CLIST(tree_view) );
|
|
||||||
|
|
||||||
g_node_children_foreach((GNode*) protocol_tree, G_TRAVERSE_ALL,
|
g_node_children_foreach((GNode*) protocol_tree, G_TRAVERSE_ALL,
|
||||||
proto_tree_draw_node, &info);
|
proto_tree_draw_node, tree_view);
|
||||||
|
|
||||||
gtk_clist_thaw ( GTK_CLIST(tree_view) );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
proto_tree_draw_node(GNode *node, gpointer data)
|
proto_tree_draw_node(GNode *node, gpointer data)
|
||||||
{
|
{
|
||||||
struct proto_tree_draw_info info;
|
GtkWidget *tree_view = (GtkWidget*) data;
|
||||||
struct proto_tree_draw_info *parent_info = (struct proto_tree_draw_info*) data;
|
|
||||||
|
|
||||||
field_info *fi = (field_info*) (node->data);
|
field_info *fi = (field_info*) (node->data);
|
||||||
|
GtkWidget *ti, *subtree;
|
||||||
gchar label_str[ITEM_LABEL_LENGTH];
|
gchar label_str[ITEM_LABEL_LENGTH];
|
||||||
gchar *label_ptr;
|
gchar *label_ptr;
|
||||||
GtkCTreeNode *parent;
|
|
||||||
gboolean is_leaf, is_expanded;
|
|
||||||
|
|
||||||
if (!fi->visible)
|
if (!fi->visible)
|
||||||
return;
|
return;
|
||||||
@ -238,39 +220,24 @@ proto_tree_draw_node(GNode *node, gpointer data)
|
|||||||
proto_item_fill_label(fi, label_str);
|
proto_item_fill_label(fi, label_str);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ti = gtk_tree_item_new_with_label(label_ptr);
|
||||||
|
gtk_container_foreach(GTK_CONTAINER(ti), set_item_style, NULL);
|
||||||
|
|
||||||
|
gtk_object_set_data(GTK_OBJECT(ti), E_TREEINFO_FIELD_INFO_KEY, (gpointer) fi);
|
||||||
|
gtk_tree_append(GTK_TREE(tree_view), ti);
|
||||||
|
gtk_widget_show(ti);
|
||||||
|
|
||||||
if (g_node_n_children(node) > 0) {
|
if (g_node_n_children(node) > 0) {
|
||||||
is_leaf = FALSE;
|
subtree = gtk_tree_new();
|
||||||
if (tree_is_expanded[fi->tree_type]) {
|
gtk_tree_item_set_subtree(GTK_TREE_ITEM(ti), GTK_WIDGET(subtree));
|
||||||
is_expanded = TRUE;
|
if (tree_is_expanded[fi->tree_type])
|
||||||
}
|
gtk_tree_item_expand(GTK_TREE_ITEM(ti));
|
||||||
else {
|
gtk_signal_connect(GTK_OBJECT(ti), "expand", (GtkSignalFunc) expand_tree,
|
||||||
is_expanded = FALSE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
is_leaf = TRUE;
|
|
||||||
is_expanded = FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
info.ctree = parent_info->ctree;
|
|
||||||
parent = gtk_ctree_insert_node ( info.ctree, parent_info->ctree_node, NULL,
|
|
||||||
&label_ptr, 4, NULL, NULL, NULL, NULL,
|
|
||||||
is_leaf, is_expanded );
|
|
||||||
|
|
||||||
/* g_return_if_fail( parent != NULL );*/
|
|
||||||
|
|
||||||
gtk_ctree_node_set_row_data( GTK_CTREE(info.ctree), parent, fi );
|
|
||||||
gtk_ctree_node_set_row_style( GTK_CTREE(info.ctree), parent, item_style);
|
|
||||||
|
|
||||||
if (!is_leaf) {
|
|
||||||
/* gtk_signal_connect(GTK_OBJECT(ti), "expand", (GtkSignalFunc) expand_tree,
|
|
||||||
(gpointer) &tree_is_expanded[fi->tree_type]);
|
(gpointer) &tree_is_expanded[fi->tree_type]);
|
||||||
gtk_signal_connect(GTK_OBJECT(ti), "collapse", (GtkSignalFunc) collapse_tree,
|
gtk_signal_connect(GTK_OBJECT(ti), "collapse", (GtkSignalFunc) collapse_tree,
|
||||||
(gpointer) &tree_is_expanded[fi->tree_type]);*/
|
(gpointer) &tree_is_expanded[fi->tree_type]);
|
||||||
|
|
||||||
|
|
||||||
info.ctree_node = parent;
|
|
||||||
g_node_children_foreach(node, G_TRAVERSE_ALL,
|
g_node_children_foreach(node, G_TRAVERSE_ALL,
|
||||||
proto_tree_draw_node, &info);
|
proto_tree_draw_node, subtree);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user