Jump to: navigation, search

Difference between revisions of "PDE/Incubator/Picasso"

< PDE‎ | Incubator
m (Plug-ins)
Line 10: Line 10:
=== Plug-ins  ===
=== Plug-ins  ===
*[http://dev.eclipse.org/viewcvs/index.cgi/pde-incubator/picasso/plugins/org.eclipse.pde.picasso/ org.eclipse.pde.picasso] [http://wiki.eclipse.org/images/d/d4/Pde-picasso.psf [PSF]]
*[http://git.eclipse.org/c/pde/eclipse.pde.incubator.git/tree/picasso/plugins/org.eclipse.pde.picasso org.eclipse.pde.picasso] [http://wiki.eclipse.org/images/d/d4/Pde-picasso.psf [PSF]]
=== Painting with Picasso  ===
=== Painting with Picasso  ===

Revision as of 05:02, 29 October 2013

Work Area

The goal of Picasso is to provide a utility to help debugging UI layout issues. Picasso does this by painting the workbench in a way to aid debugging.


  • Chris Aniszczyk
  • Simon Archer


Painting with Picasso

To use Picasso, simply check it out of CVS and then launch with the tracing options enabled:

  • paint - Check this option to enable Picasso. When checked Picasso will paint the workbench.
  • paint/extraCompositeMargin - The value of this option is used to pad every Composite object's margin width and height. Typically the default value of 0 is what you want, but a value of 5 or 10 is helpful to explode a view to reveal the child/parent widget relationships.
  • paint/toolTip - Check this option to enable custom tool tips that describe the layout of each widget. While useful, it can be helpful to disable tool tips since they are sometimes large and distracting, especially when all you care about is the way the layout looks.



By painting the workbench with Picasso you can easily spot layout issues such as:

  • Unnecessary margin padding on Composite widgets. This is typically caused by using GridLayout and not setting the marginWidth and marginHeight fields to 0.
  • Radio buttons and checkboxes that stretch to consume all available horizontal whitespace. This results in the whitespace to the right of the label being clickable. Doing this can result in the user accidentally selecting a radio button or toggling a checkbox by simply giving focus to the UI. As with push buttons, radio buttons and checkboxes (they're buttons too) should generally not stretch.
  • Inappropriate stretching and whitespace consumption.

System Properties

The behavior of Picasso can be controlled via the following System properties. Notice that the property keys exactly match the tracing options:

  • -Dorg.eclipse.pde.picasso/paint=true
  • -Dorg.eclipse.pde.picasso/paint/extraCompositeMargin=0
  • -Dorg.eclipse.pde.picasso/paint/toolTip=true

Using these System properties make it possible to control the behavior of Picasso without having to understand how to use and configure tracing options at runtime. One easy way to set these properties is to add them to eclipse.ini after the -vmargs line.