nbtool.utilitypanes - northern-bites/nbites GitHub Wiki

Utility panes are intended to allow for arbitrary types of displays to be created and, if the user requests, displayed, in the context of the main tool – i.e. in the same process.

  • For instance, one utility pane allows the user to explore the YUV color space. It might supply other parts of the tool with a specific color selected by the user. (YUVColors)

  • Another utility pane shows the state of all threads active in the tool (ThreadStateUtility)

  • Another utility manages which logviews are loaded when the user clicks on a log, and their order ( LogToViewUtility )

To create a new utility pane, simply subclass UtilityParent. Then add your class to the utilities array in UtilityManager. A button will be added to the UI in the utilities pane which will create and display your utility. Note that the manager will only create one instance of your utility – if the user closes the utility, it is simply hidden, and made visible again if subsequently selected.