On Sat, Nov 15, 2008 at 12:17 PM, Dave Thompson <[EMAIL PROTECTED]> wrote:

> Ok, I have been working on a change to make sure all child Figs within a
> FigEdgeModelElement have the same Layer as the parent fig.  My change is a
> List (figList) of all child figs within FigEdgeModelElement which is
> iterated when setLayer() is called.

Surely GEF has a list of contained figures already.  Why not just use
that?  Storing the same information in two places guarantees that one
of them will be wrong.  Probably what we need to do is override
addPathItem() to complement my changes to
FigEdgeModelElement.setLayer() for Figs which are added after the
setLayer has already been done at construction time.

> The only negative impact is that you have to remember to add any new Figs to
> this list when modifying the constructor on FigEdgeModelElement or any of
> it's descendants.

Another good reason to introduce the behavior change by overriding the
existing methods.

> It seems that 'layer-less' figs are still draggable, it's just that they
> don't update on the screen while being dragged - only when you release the
> mouse button.

It's worse than that.  They don't get included correctly in
calculations for screen refreshes.  This means that in addition to not
getting refreshed on the screen, they also won't get rendered
correctly by the band buffer renderer used by Export to PNG.  The fact
that the screen gets refreshed correctly when you stop dragging
probably means that the entire screen is being forcibly refreshed -- a
bad habit that covers up refresh problems like this.

Tom

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to