Sorry, yes, if you weren’t inside my head that might not have been
totally clear
Here's the filters dialog in Thunderbird (or attached hopefully if
not in-line):

That widget would make sense in python as::
[ {'source':'From', 'operation':'contains',
‘value’:‘psych…’},
{'source':'Body', 'operation':'contains',
‘value’:‘pyglet…’},
...
]
hence my reference to a list of dicts.
It's easy enough for me to do with regular wx widgets and build my
own class to handle it, but the key thing is the ability to
insert/remove rows at any point in the list. I haven’t worked out a
straight-forward way to do that in any of the wx sizer objects.
Maybe I just need to remove all rows below the inserted and add them
all back afterwards.
cheers,
Jon
This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. Please do not use, copy or disclose the information contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham.
This message has been checked for viruses but the contents of an attachment
may still contain software viruses which could damage your computer system:
you are advised to perform your own checks. Email communications with the
University of Nottingham may be monitored as permitted by UK legislation.