I’m creating a toolbar that will have several actions. Some of them are zoom, rotate, brightness&contrast and flipView. These are special because when the corresponding toolbar button is checked, a popup widget per view will appear to let the user change the corresponding settings.
See the pictures below:
Some of the correponding states can be saved on a particular node (e.g. brightness and contrast on the displaynode of the current background scalar volume) so changes can be recognized if the observed node changes (by changeBrightness&Contrast mouseMode). Another one like this would be zoom, the zoomFactor can be recovered from the fieldOfView of the sliceNode. But other states (e.g. flipView) need to be saved on a parameterNode (or elsewhere) compulsorily because other logic functions need to access this info. And since I will need a parameterNode to control which of these (zoom, rotate, brightness&contrast and flipView) toolbuttons is checked because they are exclusive (this is not easy to code on Qt). I was thinking on doing it this way.
Is this the correct way of implementing this functionality? Should I try to do more on Qt? Should I save all the states on the toolbar parameterNode?