Jump to: navigation, search

Difference between revisions of "Platform UI/33 Features"

Line 10: Line 10:
<img src="vistashot.jpg" alt="Vista screenshot" >
Line 36: Line 36:
<img src="ownerdraw.jpg" alt="Owner Draw" >
   <li> Can now treat a cell like a GC</li>
   <li> Can now treat a cell like a GC</li>
Line 89: Line 89:
<p>SWT System Tray &#8211;</p>
<p>SWT System Tray &#8211;</p>
<img src="tray.jpg" alt="System Tray" >
   <li> Can now link into the OS system tray</li>
   <li> Can now link into the OS system tray</li>

Revision as of 09:24, 25 April 2007

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>3.3 Features Overview</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head>


3.3 UI Features Overview




  • 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



  • Can now treat a cell like a GC
  • Required a viewer that can look at a cell


  • 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).


  • 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


  • 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


  • 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

</body> </html>