Searchable Menus

Any GafferUI.Menu can be made searchable on construction. Searchable menus have a widget for text entry, which uses a case-insensitive regular expression to match the search text anywhere in the base name of a menu item. If valid search results exist, they are displayed in a popup menu which can be accessed via keyboard up/down or the mouse. Escape or clicking back on the regular menu will hide the search results. Hitting Return/Enter in the text field while valid search results exist will create the first node in the list. Searchable menus also store their last executed action and use it to initialize the text field the next time the menu is accessed.

The NodeMenu stored on the NodeGraph is searchable, and stored internally to take advantage of the last-action behaviour. It can be accessed by pressing TAB in addition to right clicking the mouse.

Fixes #43 and #159.