Ethereal-cvs: [ethereal-cvs] cvs commit: ethereal/gtk gtkglobals.h gui_prefs.c main.c

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: "Gilbert Ramirez Jr." <gram@xxxxxxxxxxxx>
Date: Wed, 29 Dec 1999 14:10:29 -0600 (CST)
gram        1999/12/29 14:10:24 CST

  Modified files:
    gtk                  gtkglobals.h gui_prefs.c main.c 
                         proto_draw.c 
  Log:
  Changed the protocol tree widget from a GtkTree to a GtkCTree. The two reasons
  I did this:
  
  First, Havoc Pennington, in "GTK+/Gnome Application Development", in
  Appendix seciton A.3.88, recommends using GtkCTree instead of GtkTree
  because GtkCtree is faster, and GtkTree has limitation on its total row
  height: since it must fit inside a GdkWindow, it is limited to 32,768
  pixels of height. GtkTree is more flexible with regards to the types of
  widgets that can be placed in the tree, but since we deal only with text,
  that doesn't matter, at least for now.
  
  Secondly, a GtkTree doesn't allow arrow-key navigation (at least as far
  as I could tell). It always bothered me that the up and down arrow keys
  worked in the packet list and in the hex dump, but no in the protocol tree.
  GtkCTree does allow arrow-key navigation. In fact, GtkCTree is a subclass
  of GtkCList (the packet list widget), so they behave a lot alike.
  
  I went ahead and fixed the selection bar which has been bothering Richard
  for a long time now. :) In the GUI preferences dialogue, you can now set
  both the packet list selection bar and the protocol tree selection bar
  to either "browse" or "select" mode. "browse" mode is what you're used to:
  the arrow keys move an outline of the selection bar, but do not change
  the selection. "select" mode does change the selection when the arrow keys
  are pressed. The default behavior is set to "select", which seems more
  natural for a first-time user.
  
  Revision  Changes    Path
  1.4       +3 -1      ethereal/gtk/gtkglobals.h
  1.2       +95 -8     ethereal/gtk/gui_prefs.c
  1.77      +64 -34    ethereal/gtk/main.c
  1.12      +70 -32    ethereal/gtk/proto_draw.c