Skip to main content
Jump to: navigation, search

Difference between revisions of "PDE/Incubator/Picasso"

< PDE‎ | Incubator
(Tips)
m
Line 1: Line 1:
=== Work Area ===
+
=== Work Area ===
  
The goal of Picasso is to provide a utility to help UI debugging. Picasso does this by painting the workbench in a way to aid debugging.
+
The goal of Picasso is to provide a utility to help UI debugging. Picasso does this by painting the workbench in a way to aid debugging.  
  
=== Developers ===
+
=== Developers ===
* Chris Aniszczyk
+
* Simon Archer
+
  
=== Plug-ins ===
+
*Chris Aniszczyk
* [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]]
+
*Simon Archer
  
=== Painting with Picasso ===
+
=== Plug-ins  ===
  
To use Picasso, simply check it out of CVS and then launch with the tracing options enabled:
+
*[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]]
  
* <code>paint</code> - Check this option to enable Picasso. When checked Picasso will paint the workbench.
+
=== Painting with Picasso  ===
* <code>paint/extraCompositeMargin</code> - The value of this option is used to pad every <code>Composite</code> object's margin width and height.  Typically the default value of <code>0</code> is what you want, but a value of <code>5</code> or <code>10</code> is helpful to <i>explode</i> a view to reveal the child/parent widget relationships.
+
* <code>paint/toolTip</code> - 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.
+
<br/>
+
[[Image:Picasso.png]]
+
  
=== Tips ===
+
To use Picasso, simply [http://wiki.eclipse.org/PDE/Contributor_Guide#Setup check it out of CVS] and then launch with the tracing options enabled:
  
By painting the workbench with Picasso you can easily spot layout issues such as:
+
*<code>paint</code> - Check this option to enable Picasso. When checked Picasso will paint the workbench.
 +
*<code>paint/extraCompositeMargin</code> - The value of this option is used to pad every <code>Composite</code> object's margin width and height. Typically the default value of <code>0</code> is what you want, but a value of <code>5</code> or <code>10</code> is helpful to ''explode'' a view to reveal the child/parent widget relationships.
 +
*<code>paint/toolTip</code> - 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.
  
* Unnecessary margin padding on <code>Composite</code> widgets.  This is typically caused by using <code>GridLayout</code> and not setting the <code>marginWidth</code> and <code>marginHeight</code> fields to <code>0</code>.
+
<br> [[Image:Picasso.png]]
* 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 ===
+
=== Tips  ===
  
The behavior of Picasso can be controlled via the following System properties. Notice that the property keys exactly match the tracing options:
+
By painting the workbench with Picasso you can easily spot layout issues such as:  
  
* <code>-Dorg.eclipse.pde.picasso/paint=true</code>
+
*Unnecessary margin padding on <code>Composite</code> widgets. This is typically caused by using <code>GridLayout</code> and not setting the <code>marginWidth</code> and <code>marginHeight</code> fields to <code>0</code>.
* <code>-Dorg.eclipse.pde.picasso/paint/extraCompositeMargin=0</code>
+
*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.
* <code>-Dorg.eclipse.pde.picasso/paint/toolTip=true</code>
+
*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:
 +
 
 +
*<code>-Dorg.eclipse.pde.picasso/paint=true</code>  
 +
*<code>-Dorg.eclipse.pde.picasso/paint/extraCompositeMargin=0</code>  
 +
*<code>-Dorg.eclipse.pde.picasso/paint/toolTip=true</code>
  
 
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 <code>eclipse.ini</code> after the <code>-vmargs</code> line.
 
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 <code>eclipse.ini</code> after the <code>-vmargs</code> line.

Revision as of 08:37, 4 June 2010

Work Area

The goal of Picasso is to provide a utility to help UI debugging. 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 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.


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