This examples plug-in demonstrates the following features: | |
1. deferred tree/table population | |
- serialized children fetch jobs or concurrent | |
- batching updates to the collector | |
- (optional) different ways of showing progress replacing current pending node (e.g. changing parent's label / image) | |
2. progress view | |
- cancellation | |
- showing progress, sub tasks | |
- showing errors | |
- progress groups | |
- appearing/disapearing as floating window | |
- system jobs aren't shown | |
3. requestInUI | |
- post a request | |
- post a request then cancel before user has launched it | |
- post a request, cancel, and replace with another | |
- post a request and allow the user to cancel without running the request | |
4. blocked foreground operation | |
- run a background job that locks the workspace | |
- run a foreground job that requires workspace (expect blocked dialog with progress view embeded) | |
- open an editor and type then save (progress dialog should show blocked) | |
5. workbench part support for progress | |
- run a job in the context of a view/editor | |
- get busy cursor plus animating something | |
- view or editor adding their own custom behavior when job is run | |
6. Creating progress groups | |
- that are run serialized | |
- that are run concurrently | |
- cancel one sub job | |
- parent is updated correctly | |
7. running action via busyCursorWhile |