Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Platform UI/33 Features
Contents
3.3 UI Features Overview
Vista
- Supported in 3.2.2 and M5
- Working on it full time now
New colours
- Did a refresh in 3.3
- Do more blending of the selection colour
- All text is black where possible
- Reduced palette theme enhanced to deal with accessibility issues
Column Based Viewers
- Tree and Table viewers support this
- Removed the need for keeping track of indices all of the time
- Allows you to update based on the cell
- Opens up label providers
- Had 6 interfaces to choose from in 3.2 – don’t want to add more
- Still support the old ones
- No broken API
OwnerDraw
- Can now treat a cell like a GC
- Required a viewer that can look at a cell
CellEditors
- Simplifies cell editing
- More fine grained than the CellEditor
- Can implement it on a per column basis
- A CellEditor applied to the entire Viewer
- Use EditingSupport instead of ICellModifier (new in 3.3).
Databindings
- API no longer provisional in 3.3
- Listeners are an overly complex way for widgets to interact
- Databindings are a way to connect widgets and model objects
- Reduces the amount of code required to synchronize data from the widget to the model and vice versa
- Also handles conversion of data types and validation
Menus
- Actions were limited as to how you could add them
- The additions path was the only place to add an action
- Could not place a new entry anywhere you wanted
- Menus define the commands that will show up in them
- Menus allow you to do much more powerful enablement
- Everything is declarative so you can access the location you want to add your entry to
Custom Splash
- Before 3.3 splash was a custom SWT application and not extensible except for the image
- Now we have org.eclipse.ui.splashhandler
- You are given a Shell to fill in whatever you like
- Your custom splash only appears when it is bound to your product id
- Remember there is no workbench yet so stay in SWT code
ErrorHandling
- Constant error dialogs are annoying if it is an unexpected error that occurs frequently
- To handle more eloquently use StatusManager in org.eclipse.ui.workbench
- You can implement your own status handler using the org.eclipse.ui.statushandlers extension point
- We are going to handle errors in a non-intrusive way
SWT System Tray
- Can now link into the OS system tray
- We set our own tray icon in the advisor
Min/Max
- Min/max now uses the trim area to move views to the trim area
- Stacks are now moved as groups