MultiWaitBar creates a one or two-dimensional grid of waitbars in a single figure window. Titles and bar colors can be individually modified. Each bar is an instance of the WaitBarAxes class. The WaitBarAxes objects can be passed to functions or objects for updates without knowledge of their position in the grid. This download includes MultiWaitBar.m, WaitBarAxes.m and two demonstration programs. Thanks to Sviatoslav Danylenko for suggestions.
I really like your app, and I also have some suggestions that I have implemented on my end successfully:
1) Added options to change the figure title, icon, etc.
2) Added the command 'CloseLast' which closes the last panel that was added.
3) Support multi-line labels.
4) refer to panels by their numbers (i.e. multiWaitbar(3, 'Close');
Finally, I think I have found a bug:
The callback for the panel cancel button is defined once, when the panel is created. Later, if the label is renamed using the 'Relabel' command, the cancel button stops working. I have fixed it on my end by adding the line:
Your MultiWaitBar is cool, but I found one issue on linux. It's continuously steals focus from other windows. To avoid this you can remove string with 'axes()' in `WaitBarAxes` class. And than you should add string `drawnow` after before 'if ~self.isVisible'
01 Jul 2013
Improved Linux compatibility. No longer steals focus from other windows.