I am making a todo like application with indicator support using glade/python/pygtk/glade. I am making a form to save a Todo item. Each todo will belong to 0 or more projects.
When a user enters a project name in a text input field I want it to auto-complete based on existing projects. This widget should behave similarly to the text input when completing the ask a question form on this site (askubuntu.com). Below is a screenshot of what I mean.
For example when the user wants to add a todo under the projects "quickly" once the user starts typing "qu*" it should suggest all available projects that start with "qu" (e.g. "quick", "quickly", "queue", "quack" etc.). The user may press the down arrow to select the correct option or continue typing. When the user presses spacebar, it should start with a new suggestion.
Is there a control/widget in pyGTK/quickly that I can use to accomplish this? Bonus points if I can also list a number next to each suggestion with the number of todo items that belong to this project, similar to the screenshot below.