Bug 242920

Summary: Zest does not permit easy subclassing of GraphContainer to customize open/close methods
Product: [Tools] GEF Reporter: Stefan Tucker <stefan.tucker>
Component: GEF-Legacy ZestAssignee: gef-inbox <gef-inbox>
Status: NEW --- QA Contact:
Severity: normal    
Priority: P3    
Version: 3.4   
Target Milestone: ---   
Hardware: PC   
OS: Windows Mobile 2003   
Whiteboard:

Description Stefan Tucker CLA 2008-08-01 16:06:26 EDT
Build ID: I20080617-2000

Steps To Reproduce:
I'd like to subclass GraphContainer and do different actions on open/close. I can override the GraphContainer's open() and close() methods, but I cannot easily set the container's ExpandGraphLabel (because it's in the zest.core.widgets.internal package, which isn't exported from the Zest core JAR).

It'd be great if the container handled opening and closing the ExpandGraphLabel and let a derived class override open() and close() to perform custom actions.

More information:
The open/close ActionEvents come from the embedded Clickable object, so the listener gets only that object. It's hard (if not impossible) to obtain from that the class derived from GraphContainer. So, I implement my class's own add-listener method which adds this object as the Clickable's listener. When it gets an event, it turns around and fires it at the original object that added my class as a listener. That doesn't seem very efficient.

Ideally, the event that comes from the GraphContainer will inform the listener of the node that was clicked and the state it's now in (open or closed).
Comment 1 Alexander Nyßen CLA 2015-01-22 02:44:55 EST
Re-assigning back to inbox, as Ian is no longer active committer.