Additional: Defer model update in details part until save is explicitly pressed by the user (via e.g. the SaveAll handler). The Wizard need the default update policy though because it does not call TodoDetailsPart#persist()
Exercise 69.2
Switching perspectives and shared elements/placeholders
Exercise 70
Dynamic part creation based on PartDescriptors
Demo: BusyIndicator and ProgressMonitorDialog with IRunnableWithProgress
Exercise 74
Using asynchronous processing
Exercise 74
Using asynchronous processing (Remove sleep in getTodos() again)
Exercise 74 additional
Show progressbar for jobs
Exercise 74 additional
Register progress bar via model addon
Exercise 76
Event notification about new todos (from UI to UI)
Exercise 78
Show password dialog during application startup
Exercise 80
Context function to set IEventBroker in MyTodoModelImpl
Exercise 80
Context function to set IEventBroker in MyTodoModelImpl
Register as OSGi service instead of MApplication IEclipseContext
Exercise 84
Fragments (create a new menu item for a contributed command opening a
new handler)
Exercise 85
Model processor to replace ExitHandler with ExitHandlerWithoutCheck
Additional: ModelAddon
Refactor progressbar into separate bundle
Additional: ModelAddon
Refactor chart part and its handler into separate bundle
Exercise 87
Preferences for EnterCredentialsHandler and LifecycleManager with
PasswordDialog
Exercise 89
Styling with CSS files (static styling)
Exercise 90
Using Theme Manager to dynamically switch themes at runtime
Exercise 92
Internationalization