wireshark/gtk
Guy Harris 050979d522 We already set the foreground and background color for every frame,
which means we're already doing a "do something to the last row in the
packet list" operation on every frame we add to the list, so adding a
call to "gtk_clist_set_row_data()" won't make matters worse.

In addition, we already set one column in a row on a "change time
format" operation, so finding the row for a frame by calling
"gtk_clist_find_row_from_data()" doesn't turn a constant-time operation
into a linear-time operation, it just cranks the proportionality
constant up - it was quadratic before, alas, and it's still quadratic.

Adding calls to "gtk_clist_find_row_from_data()" to the "Find Frame" and
"Go To Frame" code does add an extra linear operation there, but those
operations shouldn't be common - and "Go To Frame", going to the last
frame on an ~100,000-frame big capture file, was quick, at least on my
450 MHz Pentium II machine, so maybe it won't be too bad.

And "select_packet()" either has to search the frame table for the frame
with the specified row number, or has to call "gtk_clist_get_row_data()"
to do that - the first is linear in the position of the frame in the
frame table, and the latter is linear in its position in the CList, and
the latter is less than or equal to the former, so the only thing making
it worse would be a change in the proportionality constant.

So it probably won't hurt performance by much.

Furthermore, if we add the ability to sort the display on an arbitrary
column, or to delete frames from the display - both of which are in the
wish list - storing the row number of the frame in the "frame_data"
structure won't necessarily work, as the row number can change out from
under us.

Therefore, reinstate the old way of doing things, where we associate
with each row a pointer to the "frame_data" structure for the row, using
"gtk_clist_set_row_data()".

svn path=/trunk/; revision=1703
2000-03-08 06:48:01 +00:00
..
.cvsignore avoid mistakingly commit dynamically generated files, like "Makefile". 1999-10-15 04:40:28 +00:00
Makefile.am Jeff Foster's changes, with my additions, to allow the user to pop up a 2000-02-29 06:24:41 +00:00
Makefile.nmake Jeff Foster's changes, with my additions, to allow the user to pop up a 2000-02-29 06:24:41 +00:00
capture_dlg.c Make the routines internal to the filter-editing dialog box static. 2000-02-12 06:46:54 +00:00
capture_dlg.h More shuffling of GTK-related routines to gtk subdirectory. 1999-09-09 03:32:03 +00:00
color_dlg.c Remove some unnecessary includes from "gtk/color_dlg.c" and 2000-02-12 08:42:28 +00:00
color_dlg.h Split the color manipulation stuff into "color_dlg.[ch]", containing the 2000-02-12 08:31:49 +00:00
colors.c Remove some unnecessary includes from "gtk/color_dlg.c" and 2000-02-12 08:42:28 +00:00
colors.h Split the color manipulation stuff into "color_dlg.[ch]", containing the 2000-02-12 08:31:49 +00:00
column_prefs.c Move the code in "column.c" that implements the column preferences tab 2000-01-10 01:44:00 +00:00
column_prefs.h Move the code in "column.c" that implements the column preferences tab 2000-01-10 01:44:00 +00:00
display_opts.c Heikki Vatiainen's patch to add a flag to control whether to interpret 2000-01-24 04:44:58 +00:00
display_opts.h Move display.[ch] --> gtk/display_opts.[ch] 1999-10-18 12:48:14 +00:00
file_dlg.c Move the declarations of the routines in "gtk/file_dlg.c" out of 2000-02-12 06:58:42 +00:00
file_dlg.h Move the declarations of the routines in "gtk/file_dlg.c" out of 2000-02-12 06:58:42 +00:00
filter_prefs.c Make the routines internal to the filter-editing dialog box static. 2000-02-12 06:46:54 +00:00
filter_prefs.h Make the routines internal to the filter-editing dialog box static. 2000-02-12 06:46:54 +00:00
find_dlg.c Make the routines internal to the filter-editing dialog box static. 2000-02-12 06:46:54 +00:00
find_dlg.h Add a "Find Frame" menu item under "Display"; it lets you use a display 1999-11-06 06:28:07 +00:00
goto_dlg.c Take the "simple_dialog()" stuff out of "ui_util.h" and "gtk/ui_util.c", 2000-01-03 06:59:25 +00:00
goto_dlg.h Add a "Go To Frame" menu item, which lets you go to a frame by frame 1999-11-08 01:03:40 +00:00
gtkclist.c Add GTK+-1.2.7 fixes to gtkclist.c, w/o removing our speed enhancements. 2000-02-17 18:27:04 +00:00
gtkclist.h Added gtk subdirectory, with patched gtkclist.c in it. We can use this 1999-08-27 22:27:18 +00:00
gtkglobals.h Use GtkScrolledWindows to add scrollbars to the hex/ASCII panes and to 2000-03-02 07:05:57 +00:00
gui_prefs.c Jeff Foster's changes, with my additions, to allow the user to pop up a 2000-02-29 06:24:41 +00:00
gui_prefs.h Add a new page to the Preferences notebook: a GUI page. The sole 1999-12-16 06:20:18 +00:00
keys.h Jerry Talkington's changes to support, in the packet list and protocol 2000-01-18 08:38:18 +00:00
main.c Use GtkScrolledWindows to add scrollbars to the hex/ASCII panes and to 2000-03-02 07:05:57 +00:00
main.h Add "Resolve Name" item in detailed tree popup. 2000-02-20 14:52:28 +00:00
menu.c Jeff Foster's changes, with my additions, to allow the user to pop up a 2000-02-29 06:24:41 +00:00
menu.h Jerry Talkington's changes to support, in the packet list and protocol 2000-01-18 08:38:18 +00:00
packet_win.c We already set the foreground and background color for every frame, 2000-03-08 06:48:01 +00:00
packet_win.h Use GtkScrolledWindows to add scrollbars to the hex/ASCII panes and to 2000-03-02 07:05:57 +00:00
plugins_dlg.c Code changes, but not Makefile changes, for enabling plugins for Win32. 2000-02-07 17:08:27 +00:00
prefs_dlg.c Move the code in "column.c" that implements the column preferences tab 2000-01-10 01:44:00 +00:00
prefs_dlg.h Make the routines internal to the filter-editing dialog box static. 2000-02-12 06:46:54 +00:00
print_dlg.c Printing multiple pages of PostScript wasn't as tricky as I thought; add 2000-01-06 07:33:35 +00:00
print_prefs.c We need to catch a "window delete" event for the preferences dialog box 1999-09-10 06:53:32 +00:00
print_prefs.h We need to catch a "window delete" event for the preferences dialog box 1999-09-10 06:53:32 +00:00
proto_draw.c Use GtkScrolledWindows to add scrollbars to the hex/ASCII panes and to 2000-03-02 07:05:57 +00:00
proto_draw.h Use GtkScrolledWindows to add scrollbars to the hex/ASCII panes and to 2000-03-02 07:05:57 +00:00
simple_dialog.c Take the "simple_dialog()" stuff out of "ui_util.h" and "gtk/ui_util.c", 2000-01-03 06:59:25 +00:00
stream_prefs.c Add stream window color preferences. We don't (yet) use cmaps, so this 1999-12-02 04:30:15 +00:00
stream_prefs.h Add stream window color preferences. We don't (yet) use cmaps, so this 1999-12-02 04:30:15 +00:00
summary_dlg.c Move GTK code out of summary.c and into gtk/summary_dlg.c 1999-12-10 04:21:04 +00:00
summary_dlg.h Move GTK code out of summary.c and into gtk/summary_dlg.c 1999-12-10 04:21:04 +00:00
ui_util.c Take the "simple_dialog()" stuff out of "ui_util.h" and "gtk/ui_util.c", 2000-01-03 06:59:25 +00:00