Repository navigation
Alarm tree search - #3988
Alarm tree search#3988LordIdra wants to merge 8 commits into
Conversation
259cb97 to
bee80eb
Compare
georgweiss
left a comment
There was a problem hiding this comment.
Really nice feature, I'm sure my users will appreciate it.
Added comments on Java convention for variable naming, may have missed a few places.
|
I would maybe suggest a second button to clear the filter, this is easier than having to clear the text and then hit ENTER or Search. |
|
Thanks for the speedy review |
|
|
Looks really good, but I'm wondering if the Search button is really needed. Is there any use case where user would enter a search string and then need to hit Search instead of ENTER? |
My preference would be to keep it for consistency with the other applications with a search bar, and for convention's sake. Speaking with a colleague I think some people do prefer to have it there as they use the search button instead of enter just out of general habit. But I don't have a particularly strong opinion on it |
|
Fair enough, not a big deal for me either, it's just a cosmetic "less is more" thing and a matter of personal taste. |
|
@LordIdra, I'd like to merge this. Is there anything else you'd like to add or change? |
I don't think so, I'm happy for this to be merged. But it does depend on #3987 - that PR fixes some concurrency issues which I was constantly encountering when using the search box so it is quite important it goes in first otherwise the search function may often be buggy or stop alarm tree updates. (And the history of this PR does contain the commits for that PR currently) |



Depends on #3987 - the diff is messed up until that is merged because I can't create a branch here for 3987 hence why this is a draft
Adds a search bar allowing you to search the alarm tree. This only lets you search by PV, not by component name, and does not include empty components.
2026-10-27.11-57-43.mp4
Implementation details: Annoyingly there isn't really a way to easily hide/show items in a tree that I could find, so this has to be done by adding/removing children. I added some methods to propagate visibility up the tree and adjusted the model update handling code to call them. For example, if a new alarm matching the current search is added to a hidden component, we want to show not only the alarm but also the component which was previously hidden.
The functionality added here which allows for nodes to be easily shown/hidden according to some criteria could have further uses, for example to only show active alarms
Checklist
Testing:
Documentation: