Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 486223

Summary: Optimize Connection#refresh()
Product: [Tools] GEF Reporter: Alexander Nyßen <nyssen>
Component: GEF FXAssignee: gef-inbox <gef-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: matthias.wienand
Version: 0.2.0   
Target Milestone: 4.0.0 / 3.11.0 (Neon) M5   
Hardware: All   
OS: All   
Whiteboard:

Description Alexander Nyßen CLA 2016-01-21 02:00:08 EST
Up to now, Connection#refresh() first clears the children list, then re-adds the children as needed. If the contained GeometryNode (curve node) is attached to anchors, this causes a registering/deregistering of visual change listeners, each time. We should optimize refresh() to cause less noise.
Comment 1 Matthias Wienand CLA 2016-01-25 07:35:01 EST
I ensured that Connection#refresh() does not remove and add the curve node, but only update its geometry. The curve node is already added within the constructor now. Therefore, anchors are not detached/attached in Zest upon EdgeContentPart#refreshVisual() anymore. The code is published on the master branch, therefore, I resolve this ticket as fixed for 3.11.0M5.