Hi, In the course of verifying the behaviour of my ASN.1 dissector, I have implemented a feature in ethereal that may be more generally
uesful. I want to make two changes before submitting a patch.
The new featue is the following:
When a filter is applied to the packet list, the protocol fields that participated in the match are marked [with a different background color] in the protocol tree display. All fields in the tree that enclose the relevant value are marked, from the value up to the root of the tree. This is particuilarly handy when there are more PDUs in a packet and only one PDU matches the selection expression...
If the field in the expression was hidden, the code looks for a field that is not hidden and describes the same byte in the tvbuff, and marks that one. It uses the routine to map from byte display to tree display.
There are two issues I want some guidance on.
- I want the gnome2 GtkTreeView widget to display colored backgrounds just like the old GtkCTree widget, with a white separation between the rows and not as a contigues colored area, All my experiments to achieve this have failed.... Please direct me to info how to do this.
- I really want to mark the fields according to the outcome of the test they participared in, not just due to the fact that their value was read. The structure of the code is such that by the time the outconme of the test is known, the reference to the field_info struct is long gone... And the presence test does not involve a field_info struct at all... The indicator for color must be part of the field_info struct because that is the one that gets presented in the gui widget.
Should I expand the fvalue_t struct with a pointer to the appropriate field_info struct [and how about littereals that do not have field_info].. Maybe there are better ways!
And of course, the colors will be modifiable in the color preferences dialogue.
Thanks.
-- Regards, ---------------------------------------------------------------- -o) Matthijs Melchior Maarssen /\\ [EMAIL PROTECTED] Netherlands _\_v ---------------------------------------------------------------- ----
