Skip to main content

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.

Jump to: navigation, search

PDE/Incubator/Picasso

< PDE‎ | Incubator
Revision as of 05:03, 29 October 2013 by Sbouchet.redhat.com (Talk | contribs) (Painting with Picasso)

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.

Developers

  • Chris Aniszczyk
  • Simon Archer

Plug-ins

Painting with Picasso

To use Picasso, simply check it out 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.


Picasso.png

Tips

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.

Back to the top