I have made some modifications in the layers.
I have created three new layers:
- LayerBackground: draws the background, can be extended to draw a background image.
- LayerSelection: draw the selection behavior
- LayerLexical: draw the modes behavior.
 
This layers are defined in Editor as follows:
 
|-----------------|  |-----------|  |-----------------| |-----------------| |-----------------| |--------------|
| LayerBackground |--| LayerGrid |--| LayerPageBreaks |-| LayerDiagram    |-| LayerSelection  |-| LayerLexical |
|-----------------|  |-----------|  |-----------------| |-----------------| |-----------------| |--------------|
 
This made possible to simplify the method paint of the Editor transferring more reponsabilidades to the Layers.
Moreover I modified LayerGrid and LayerPageBreaks so that the width of
the grid lines and the page break lines are not scaled together with objects.
 
The scaling of the figures now happens in the layers depending on the function of the layer. 
 
These alterations had become zooming faster also in a diagram with many figures.
 
This approach to is based to that described in paper: "Using the Multi-Layer Model for
Building Interactive Graphical Applications" Fekete, et al, on which gef is based.
 
 
I hope to have contributed.
 
Rogério Sorroche.