Ethereal-dev: RE: [Ethereal-dev] Adding our own private widget for the packet l ist
Hi list,
It looks however like GtkCList is being deprecated in Gtk+2.x.
http://developer.gnome.org/doc/API/2.0/gtk/DeprecatedObjects.html
http://developer.gnome.org/doc/API/2.0/gtk/GtkCList.html
Instead we should use the new Tree and List Widgets...
http://developer.gnome.org/doc/API/2.0/gtk/TreeWidget.html
... if we want to stick with Gtk+. I suppose this is Guy's 2nd option (see
below).
Has anyone tried switching from GtkCList to TreeWidget and its MVC paradigm?
Regards,
Olivier
| -----Original Message-----
| From: Guy Harris
|
| On Tue, Dec 30, 2003 at 12:34:35AM -0800, Guy Harris wrote:
| > I have a tree in which, with GTK+ 1.2[.x] (but not 1.3[.x]
| or 2.x), we
| > use an EthClist widget for the packet list.
| >
| > Currently, that widget is just the GTK+ 1.2[.x] GtkClist
| widget, from
| > "gtkclist_v12.[ch]", with a lot of global search and replace done.
| >
| > However, that lets us, at least for the GTK+ 1.2[.x] users, make
| > performance and other improvements to the widget. (It
| should also get
| > rid of problems on some platforms where supplying our own GtkClist
| > breaks things, e.g. AIX and, I think, some Darwin/Mac OS X
| builds - the
| > latter may be a problem only with dynamically-loaded GTK+
| libraries; I
| > haven't seen it with my builds against a static GTK+ library.)
| >
| > I have not done test builds against 1.3[.x] or 2.x.
|
| I've done a test build with the replacement of GtkClist with EthClist
| turned off; it succeeded. I *suspect* that means it'll work with
| 1.3[.x] and 2.x as well.
|
| I've checked in that change. As indicated earlier, we should
| probably either
|
| 1) tweak the widget so that it can be built for GTK+ 1.2[.x],
| 1.3[.x], and 2.x (perhaps by looking at the differences
| between 1.2[.x]'s and 2.x's GtkClists, and putting in
| #ifdeffed code for those cases where the code has to differ
| and using the "better" code in other cases)
|
| or
|
| 2) use the new GTK+ 2.x widget for displaying the packet list,
| if the performance of that widget is acceptable (we'd
| probably still have to have a #ifdeffed version for 1.3[.x]
| if 1.3[.x] doesn't have the new tree widgets - I think
| 1.3[.x] uses UTF-8 for strings, while 1.2[.x] doesn't).